diff --git a/net/rfkill/rfkill.c b/net/rfkill/rfkill.c index 4469a7be006c270c4be87700cdf7364aa0a5d765..d06d338812e975081ff20f771ea2c9069abede4c 100644 --- a/net/rfkill/rfkill.c +++ b/net/rfkill/rfkill.c @@ -392,11 +392,14 @@ int rfkill_register(struct rfkill *rfkill) rfkill_led_trigger_register(rfkill); error = rfkill_add_switch(rfkill); - if (error) + if (error) { + rfkill_led_trigger_unregister(rfkill); return error; + } error = device_add(dev); if (error) { + rfkill_led_trigger_unregister(rfkill); rfkill_remove_switch(rfkill); return error; }