linux/drivers/platform/x86
Maciej S. Szmigiero fffcad87d4 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>
2016-03-23 10:05:51 -07:00
..
acer-wmi.c acer-wmi: remove threeg and interface sysfs interfaces 2015-10-06 23:38:08 +01:00
acerhdf.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
alienware-wmi.c alienware-wmi: whitespace improvements 2016-02-07 12:01:33 -08:00
amilo-rfkill.c
apple-gmux.c platform-drivers-x86 for 4.5-1 2016-01-19 17:54:15 -08:00
asus-laptop.c asus-laptop: Add key found on Asus F3M 2015-08-10 21:24:23 -07:00
asus-nb-wmi.c asus-nb-wmi: add wapf=4 quirk for ASUS X75VD 2016-03-23 10:05:46 -07:00
asus-wireless.c asus-wireless: Add ACPI HID ATK4001 2016-01-19 17:35:46 -08:00
asus-wmi.c asus-wmi: drop to_platform_driver macro 2016-01-19 17:35:45 -08:00
asus-wmi.h
classmate-laptop.c
compal-laptop.c compal-laptop: Add charge control limit 2015-10-03 08:44:57 -07:00
dell-laptop.c dell-smbios: rename dell_smi_error() to dell_smbios_error() 2016-03-23 10:05:49 -07:00
dell-rbtn.c dell-rbtn: Add a comment about the XPS 13 9350 2016-03-23 10:05:46 -07:00
dell-rbtn.h
dell-smbios.c dell-smbios: rename dell_smi_error() to dell_smbios_error() 2016-03-23 10:05:49 -07:00
dell-smbios.h dell-smbios: rename dell_smi_error() to dell_smbios_error() 2016-03-23 10:05:49 -07:00
dell-smo8800.c
dell-wmi-aio.c
dell-wmi.c dell-wmi: support Dell Inspiron M5110 2016-03-23 10:05:51 -07:00
eeepc-laptop.c
eeepc-wmi.c
fujitsu-laptop.c fujitsu-laptop: Support radio toggle button 2016-03-23 10:05:48 -07:00
fujitsu-tablet.c
hdaps.c
hp-wireless.c hp-wireless: remove unneeded goto/label in hpwl_init 2015-08-25 23:34:15 -07:00
hp-wmi.c hp-wmi: Remove GPS rfkill support via pre-2009 interface 2016-03-23 10:05:51 -07:00
hp_accel.c
ibm_rtl.c move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
ideapad-laptop.c ideapad-laptop: Add ideapad Y700 (15) to the no_hw_rfkill DMI list 2016-03-23 10:05:49 -07:00
intel-hid.c intel-hid: allocate correct amount of memory for private struct 2016-03-23 10:05:48 -07:00
intel-rst.c
intel-smartconnect.c
intel_ips.c move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
intel_ips.h
intel_menlow.c linux/thermal.h: rename KELVIN_TO_CELSIUS to DECI_KELVIN_TO_CELSIUS 2015-10-10 11:32:30 +08:00
intel_mid_powerbtn.c intel_mid_powerbtn: Remove misuse of IRQF_NO_SUSPEND flag 2015-10-03 09:40:30 -07:00
intel_mid_thermal.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
intel_oaktrail.c
intel_pmc_ipc.c intel_pmc_ipc: Avoid pending IPC1 command during legacy suspend 2016-03-23 10:05:47 -07:00
intel_pmic_gpio.c gpio: change member .dev to .parent 2015-11-19 09:24:35 +01:00
intel_punit_ipc.c intel_punit_ipc: add NULL check for input parameters 2016-01-19 17:35:49 -08:00
intel_scu_ipc.c platform/x86: Make intel_scu_ipc explicitly non-modular 2016-03-23 10:05:47 -07:00
intel_scu_ipcutil.c
intel_telemetry_core.c platform/x86: Add Intel Telemetry Core Driver 2016-01-19 17:35:50 -08:00
intel_telemetry_debugfs.c intel_telemetry_debugfs: Fix unused warnings in telemetry debugfs 2016-01-24 10:14:53 -08:00
intel_telemetry_pltdrv.c intel_telemetry_pltdrv: Change verbosity control bits 2016-03-23 10:05:46 -07:00
Kconfig dell-wmi: enable receiving WMI events on Dell Vostro V131 2016-03-23 10:05:50 -07:00
Makefile dell-laptop: extract SMBIOS-related code to a separate module 2016-03-23 10:05:38 -07:00
msi-laptop.c
msi-wmi.c
mxm-wmi.c
panasonic-laptop.c
pvpanic.c
samsung-laptop.c
samsung-q10.c
sony-laptop.c Keyboard backlight control for some Vaio Fit models 2016-01-19 15:49:37 -08:00
surfacepro3_button.c surface pro 4: fix compare_const_fl.cocci warnings 2016-01-19 17:35:52 -08:00
tc1100-wmi.c tc1100-wmi: fix build warning when CONFIG_PM not enabled 2016-01-19 17:35:47 -08:00
thinkpad_acpi.c thinkpad_acpi: Remove ambiguous logging for "Unsupported brightness interface" 2016-03-23 10:05:25 -07:00
topstar-laptop.c
toshiba-wmi.c platform/x86: Toshiba WMI Hotkey Driver 2015-10-03 10:07:08 -07:00
toshiba_acpi.c toshiba_acpi: Add a module parameter to disable hotkeys registration 2016-03-23 10:05:37 -07:00
toshiba_bluetooth.c toshiba_bluetooth: Add missing newline in toshiba_bluetooth_present function 2015-11-20 15:20:08 -08:00
toshiba_haps.c
wmi.c wmi: Remove private %pUL implementation 2015-09-10 09:07:04 -07:00
xo1-rfkill.c
xo15-ebook.c