Bluetooth panel disabled (but functional) under custom kernel with Bluetooth support but no rfkill support
The "airplane mode" handling breaks the Bluetooth panel when run under a kernel that is built without rfkill support.
Steps to reproduce:
- run a kernel with a working bluetooth system but without RFKILL support
- view the bluetooth panel
Running these no-rfkill kernels does not cause bluetooth to break. It works well. When I remove the if (self->has_airplane_mode == FALSE)
branch in adapter_status_changed_cb
of panels/bluetooth/cc-bluetooth-panel.c
, I can use the panel perfectly.
I'd write the patch for this myself, but I am uncertain what the appropriate way to test for a bluetooth device would be here. I expect the repair would look like patching that removed if statement to read if (self->has_airplane_mode == FALSE && !self->has_bluetooth_devices)
or something, after setting has_bluetooth_devices appropriately elsewhere.
Edited by Andre Klapper