File tree Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -1154,6 +1154,7 @@ EXPORT_SYMBOL(nfc_register_device);
11541154void nfc_unregister_device (struct nfc_dev * dev )
11551155{
11561156 int rc ;
1157+ struct rfkill * rfk = NULL ;
11571158
11581159 pr_debug ("dev_name=%s\n" , dev_name (& dev -> dev ));
11591160
@@ -1163,14 +1164,18 @@ void nfc_unregister_device(struct nfc_dev *dev)
11631164 "was removed\n" , dev_name (& dev -> dev ));
11641165
11651166 device_lock (& dev -> dev );
1167+ dev -> shutting_down = true;
11661168 if (dev -> rfkill ) {
1167- rfkill_unregister (dev -> rfkill );
1168- rfkill_destroy (dev -> rfkill );
1169+ rfk = dev -> rfkill ;
11691170 dev -> rfkill = NULL ;
11701171 }
1171- dev -> shutting_down = true;
11721172 device_unlock (& dev -> dev );
11731173
1174+ if (rfk ) {
1175+ rfkill_unregister (rfk );
1176+ rfkill_destroy (rfk );
1177+ }
1178+
11741179 if (dev -> ops -> check_presence ) {
11751180 timer_delete_sync (& dev -> check_pres_timer );
11761181 cancel_work_sync (& dev -> check_pres_work );
You can’t perform that action at this time.
0 commit comments