path: root/Documentation
diff options
authorMaciej S. Szmigiero <mail@maciej.szmigiero.name>2016-03-06 23:40:19 +0100
committerDarren Hart <dvhart@linux.intel.com>2016-03-23 10:05:51 -0700
commitfffcad87d4e7c5f6f6f6e5fc9d337bd6f197f80f (patch)
tree581c052062c9dfb49bb1f837875f401d5e4a73e6 /Documentation
parenthp-wmi: fix unregister order in hp_wmi_rfkill_setup() once again (diff)
hp-wmi: Remove GPS rfkill support via pre-2009 interface
GPS rfkill support via pre-2009 WMI interface uses hp_wmi_get_sw_state() and hp_wmi_get_hw_state() to query its current hard and soft block state, respectively. In hp_wmi_get_sw_state() a mask is calculated which bit should be checked in an int value returned by firmware to get current block state: 0x200 << (r * 8) which with r being 3 for GPS results in overflow and mask of zero. The same goes for hp_wmi_get_hw_state(). This effectively means that GPS rfkill on this WMI interface is considered always both hard and soft blocked. Unfortunately, later when rfkill subsystem calls hp_wmi_set_block() to sync this block to hardware firmware at least on my old nc6400 gets confused and sets both hard and soft blocks on WiFi and BT. This happens for example on hp-wmi module load. Since due to overflow described above it is dubious that this ever worked correctly and HP laptops with modems having GPS support seem to all have been released well past year 2009 let's just remove GPS rfkill support via pre-2009 WMI interface. Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions