diff options
author | Larry Finger <Larry.Finger@lwfinger.net> | 2009-01-09 16:40:54 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-09 16:54:41 -0800 |
commit | fe8e4e039dc3680681bf51af097af391f87038f8 (patch) | |
tree | 6a28b7972f982cb91d32095f7889aa8733ab9966 /drivers/platform/x86/hp-wmi.c | |
parent | 85c210edc46d602a1562aeea0fc74919349c8cf0 (diff) | |
download | linux-fe8e4e039dc3680681bf51af097af391f87038f8.tar.gz linux-fe8e4e039dc3680681bf51af097af391f87038f8.tar.bz2 linux-fe8e4e039dc3680681bf51af097af391f87038f8.zip |
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/x86/hp-wmi.c')
-rw-r--r-- | drivers/platform/x86/hp-wmi.c | 15 |
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) wifi_rfkill->state = hp_wmi_wifi_state(); wifi_rfkill->toggle_radio = hp_wmi_wifi_set; wifi_rfkill->user_claim_unsupported = 1; - rfkill_register(wifi_rfkill); + err = rfkill_register(wifi_rfkill); + if (err) + goto add_sysfs_error; } if (wireless & 0x2) { @@ -438,7 +440,8 @@ static int __init hp_wmi_bios_setup(struct platform_device *device) bluetooth_rfkill->state = hp_wmi_bluetooth_state(); bluetooth_rfkill->toggle_radio = hp_wmi_bluetooth_set; bluetooth_rfkill->user_claim_unsupported = 1; - rfkill_register(bluetooth_rfkill); + err = rfkill_register(bluetooth_rfkill); + goto register_bluetooth_error; } if (wireless & 0x4) { @@ -447,10 +450,16 @@ static int __init hp_wmi_bios_setup(struct platform_device *device) wwan_rfkill->state = hp_wmi_wwan_state(); wwan_rfkill->toggle_radio = hp_wmi_wwan_set; wwan_rfkill->user_claim_unsupported = 1; - rfkill_register(wwan_rfkill); + err = rfkill_register(wwan_rfkill); + if (err) + goto register_wwan_err; } return 0; +register_wwan_err: + rfkill_unregister(bluetooth_rfkill); +register_bluetooth_error: + rfkill_unregister(wifi_rfkill); add_sysfs_error: cleanup_sysfs(device); return err; |