Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[fix] stop rfkill from blocking all radio devices
This fixes a bug introduced in af0115e. After creating a uinput device with switches support, all radio devices were blocked. This was due to rfkill reacting to the uinput creation. We disable rfkill-input (the module reacting to new device creation) to avoid blocking all radio devices. When a new device (virtual or physical) with the SW_RFKILL_ALL switch capability bit set appears, rfkill reacts immediately depending on the value bit. This value bit defaults to unset, which causes rfkill to use its default eop mode (emergency power off). The uinput API does not give any way to set the corresponding value bit before creating the device, and we have no way to avoid rfkill acting upon the device creation or to change its default mode. Thus, we disable rfkill-input temporarily, hopefully fast enough that it won't impact anyone. rfkill-input gets enabled automatically after uinput device creation (actually, when the file gets closed).
- Loading branch information