| From af1d486c18bad7820b0ca52b413458914231102c Mon Sep 17 00:00:00 2001 |
| From: "lan,Tianyu" <tianyu.lan@intel.com> |
| Date: Tue, 28 May 2013 02:25:33 +0000 |
| Subject: x86 / platform / hp_wmi: Fix bluetooth_rfkill misuse in hp_wmi_rfkill_setup() |
| |
| From: "lan,Tianyu" <tianyu.lan@intel.com> |
| |
| commit af1d486c18bad7820b0ca52b413458914231102c upstream. |
| |
| HP wmi platform driver fails to initialize GPS and causes poweroff |
| failure in HP Elitebook 6930p. |
| |
| Call Trace: |
| [<ffffffffa088d25a>] hp_wmi_bios_setup+0x25a/0x3a0 [hp_wmi] |
| [<ffffffff8135978c>] platform_drv_probe+0x3c/0x70 |
| [<ffffffff81356d6a>] ? driver_sysfs_add+0x7a/0xb0 |
| [<ffffffff81357407>] driver_probe_device+0x87/0x3a0 |
| [<ffffffff813577f3>] __driver_attach+0x93/0xa0 |
| [<ffffffff81357760>] ? __device_attach+0x40/0x40 |
| [<ffffffff81355403>] bus_for_each_dev+0x63/0xa0 |
| [<ffffffff81356e8e>] driver_attach+0x1e/0x20 |
| [<ffffffff81356a28>] bus_add_driver+0x1f8/0x2b0 |
| [<ffffffff81357e81>] driver_register+0x71/0x150 |
| [<ffffffff813594e6>] platform_driver_register+0x46/0x50 |
| [<ffffffff813595ab>] platform_driver_probe+0x1b/0xa0 |
| [<ffffffffa088d55e>] hp_wmi_init+0x1be/0x1fb [hp_wmi] |
| [<ffffffffa088d3a0>] ? hp_wmi_bios_setup+0x3a0/0x3a0 [hp_wmi] |
| [<ffffffff8100210a>] do_one_initcall+0x10a/0x160 |
| [<ffffffff810bdac6>] load_module+0x1b46/0x2640 |
| [<ffffffff8128da20>] ? ddebug_proc_write+0xf0/0xf0 |
| [<ffffffff810be662>] sys_init_module+0xa2/0xf0 |
| [<ffffffff814d975d>] system_call_fastpath+0x1a/0x1f |
| Code: 48 ff ff ff 80 7b 24 00 74 d2 41 83 e5 01 45 38 ec 74 c9 48 8d bb a0 03 00 00 e8 ed fb aa e0 5b 41 5c 41 5d 44 89 f0 41 5e 5d c3 <0f> 0b 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 66 66 |
| RIP [<ffffffffa05c57af>] rfkill_set_hw_state+0x9f/0xb0 [rfkill] |
| RSP <ffff880071523b60> |
| |
| Check code and find this error is caused by misusing variable bluetooth_rfkill |
| where gps_rfkill should be. |
| |
| Reported-and-tested-by: Iru Cai <mytbk920423@gmail.com> |
| References: https://bugzilla.kernel.org/show_bug.cgi?id=58401 |
| Signed-off-by: Lan Tianyu <tianyu.lan@intel.com> |
| Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/platform/x86/hp-wmi.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/platform/x86/hp-wmi.c |
| +++ b/drivers/platform/x86/hp-wmi.c |
| @@ -679,7 +679,7 @@ static int hp_wmi_rfkill_setup(struct pl |
| } |
| rfkill_init_sw_state(gps_rfkill, |
| hp_wmi_get_sw_state(HPWMI_GPS)); |
| - rfkill_set_hw_state(bluetooth_rfkill, |
| + rfkill_set_hw_state(gps_rfkill, |
| hp_wmi_get_hw_state(HPWMI_GPS)); |
| err = rfkill_register(gps_rfkill); |
| if (err) |