hp_wmi: Fix unregister order in hp_wmi_rfkill_setup()
Register order is: wifi bluetooth wwan gps So unregister order must be: gps wwan bluetiith wifi But currently gps and wwan are swapped. Fix that. Also fix goto links. Signed-off-by: Kirill Tkhai <tkhai@yandex.ru> CC: Matthew Garrett <matthew.garrett@nebula.com> Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
This commit is contained in:
parent
0db7fd969e
commit
5b5c2b3c9b
|
@ -725,7 +725,7 @@ static int hp_wmi_rfkill_setup(struct platform_device *device)
|
||||||
(void *) HPWMI_WWAN);
|
(void *) HPWMI_WWAN);
|
||||||
if (!wwan_rfkill) {
|
if (!wwan_rfkill) {
|
||||||
err = -ENOMEM;
|
err = -ENOMEM;
|
||||||
goto register_gps_error;
|
goto register_bluetooth_error;
|
||||||
}
|
}
|
||||||
rfkill_init_sw_state(wwan_rfkill,
|
rfkill_init_sw_state(wwan_rfkill,
|
||||||
hp_wmi_get_sw_state(HPWMI_WWAN));
|
hp_wmi_get_sw_state(HPWMI_WWAN));
|
||||||
|
@ -733,7 +733,7 @@ static int hp_wmi_rfkill_setup(struct platform_device *device)
|
||||||
hp_wmi_get_hw_state(HPWMI_WWAN));
|
hp_wmi_get_hw_state(HPWMI_WWAN));
|
||||||
err = rfkill_register(wwan_rfkill);
|
err = rfkill_register(wwan_rfkill);
|
||||||
if (err)
|
if (err)
|
||||||
goto register_wwan_err;
|
goto register_wwan_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wireless & 0x8) {
|
if (wireless & 0x8) {
|
||||||
|
@ -743,7 +743,7 @@ static int hp_wmi_rfkill_setup(struct platform_device *device)
|
||||||
(void *) HPWMI_GPS);
|
(void *) HPWMI_GPS);
|
||||||
if (!gps_rfkill) {
|
if (!gps_rfkill) {
|
||||||
err = -ENOMEM;
|
err = -ENOMEM;
|
||||||
goto register_bluetooth_error;
|
goto register_wwan_error;
|
||||||
}
|
}
|
||||||
rfkill_init_sw_state(gps_rfkill,
|
rfkill_init_sw_state(gps_rfkill,
|
||||||
hp_wmi_get_sw_state(HPWMI_GPS));
|
hp_wmi_get_sw_state(HPWMI_GPS));
|
||||||
|
@ -755,16 +755,16 @@ static int hp_wmi_rfkill_setup(struct platform_device *device)
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
register_wwan_err:
|
|
||||||
rfkill_destroy(wwan_rfkill);
|
|
||||||
wwan_rfkill = NULL;
|
|
||||||
if (gps_rfkill)
|
|
||||||
rfkill_unregister(gps_rfkill);
|
|
||||||
register_gps_error:
|
register_gps_error:
|
||||||
rfkill_destroy(gps_rfkill);
|
rfkill_destroy(gps_rfkill);
|
||||||
gps_rfkill = NULL;
|
gps_rfkill = NULL;
|
||||||
if (bluetooth_rfkill)
|
if (bluetooth_rfkill)
|
||||||
rfkill_unregister(bluetooth_rfkill);
|
rfkill_unregister(bluetooth_rfkill);
|
||||||
|
register_wwan_error:
|
||||||
|
rfkill_destroy(wwan_rfkill);
|
||||||
|
wwan_rfkill = NULL;
|
||||||
|
if (gps_rfkill)
|
||||||
|
rfkill_unregister(gps_rfkill);
|
||||||
register_bluetooth_error:
|
register_bluetooth_error:
|
||||||
rfkill_destroy(bluetooth_rfkill);
|
rfkill_destroy(bluetooth_rfkill);
|
||||||
bluetooth_rfkill = NULL;
|
bluetooth_rfkill = NULL;
|
||||||
|
|
Loading…
Reference in New Issue