aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2009-01-09 19:40:54 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-09 19:54:41 -0500
commitfe8e4e039dc3680681bf51af097af391f87038f8 (patch)
tree6a28b7972f982cb91d32095f7889aa8733ab9966 /drivers/platform
parent85c210edc46d602a1562aeea0fc74919349c8cf0 (diff)
hp-wmi: handle rfkill_register() failure
Compilation of the HP WMI hotkeys code results in the following: CC [M] drivers/platform/x86/hp-wmi.o drivers/platform/x86/hp-wmi.c: In function hp_wmi_bios_setup: drivers/platform/x86/hp-wmi.c:431: warning: ignoring return value of rfkill_register, declared with attribute warn_unused_result drivers/platform/x86/hp-wmi.c:441: warning: ignoring return value of rfkill_register, declared with attribute warn_unused_result drivers/platform/x86/hp-wmi.c:450: warning: ignoring return value of rfkill_register, declared with attribute warn_unused_result Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Matthew Garrett <mjg59@srcf.ucam.org> Cc: Len Brown <lenb@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/platform')
-rw-r--r--drivers/platform/x86/hp-wmi.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c
index 4b7c24c519c3..7c789f0a94d7 100644
--- a/drivers/platform/x86/hp-wmi.c
+++ b/drivers/platform/x86/hp-wmi.c
@@ -428,7 +428,9 @@ static int __init hp_wmi_bios_setup(struct platform_device *device)
428 wifi_rfkill->state = hp_wmi_wifi_state(); 428 wifi_rfkill->state = hp_wmi_wifi_state();
429 wifi_rfkill->toggle_radio = hp_wmi_wifi_set; 429 wifi_rfkill->toggle_radio = hp_wmi_wifi_set;
430 wifi_rfkill->user_claim_unsupported = 1; 430 wifi_rfkill->user_claim_unsupported = 1;
431 rfkill_register(wifi_rfkill); 431 err = rfkill_register(wifi_rfkill);
432 if (err)
433 goto add_sysfs_error;
432 } 434 }
433 435
434 if (wireless & 0x2) { 436 if (wireless & 0x2) {
@@ -438,7 +440,8 @@ static int __init hp_wmi_bios_setup(struct platform_device *device)
438 bluetooth_rfkill->state = hp_wmi_bluetooth_state(); 440 bluetooth_rfkill->state = hp_wmi_bluetooth_state();
439 bluetooth_rfkill->toggle_radio = hp_wmi_bluetooth_set; 441 bluetooth_rfkill->toggle_radio = hp_wmi_bluetooth_set;
440 bluetooth_rfkill->user_claim_unsupported = 1; 442 bluetooth_rfkill->user_claim_unsupported = 1;
441 rfkill_register(bluetooth_rfkill); 443 err = rfkill_register(bluetooth_rfkill);
444 goto register_bluetooth_error;
442 } 445 }
443 446
444 if (wireless & 0x4) { 447 if (wireless & 0x4) {
@@ -447,10 +450,16 @@ static int __init hp_wmi_bios_setup(struct platform_device *device)
447 wwan_rfkill->state = hp_wmi_wwan_state(); 450 wwan_rfkill->state = hp_wmi_wwan_state();
448 wwan_rfkill->toggle_radio = hp_wmi_wwan_set; 451 wwan_rfkill->toggle_radio = hp_wmi_wwan_set;
449 wwan_rfkill->user_claim_unsupported = 1; 452 wwan_rfkill->user_claim_unsupported = 1;
450 rfkill_register(wwan_rfkill); 453 err = rfkill_register(wwan_rfkill);
454 if (err)
455 goto register_wwan_err;
451 } 456 }
452 457
453 return 0; 458 return 0;
459register_wwan_err:
460 rfkill_unregister(bluetooth_rfkill);
461register_bluetooth_error:
462 rfkill_unregister(wifi_rfkill);
454add_sysfs_error: 463add_sysfs_error:
455 cleanup_sysfs(device); 464 cleanup_sysfs(device);
456 return err; 465 return err;