File tree Expand file tree Collapse file tree 1 file changed +13
-6
lines changed
drivers/net/wireless/ath/carl9170 Expand file tree Collapse file tree 1 file changed +13
-6
lines changed Original file line number Diff line number Diff line change @@ -438,14 +438,21 @@ static void carl9170_usb_rx_complete(struct urb *urb)
438
438
439
439
if (atomic_read (& ar -> rx_anch_urbs ) == 0 ) {
440
440
/*
441
- * The system is too slow to cope with
442
- * the enormous workload. We have simply
443
- * run out of active rx urbs and this
444
- * unfortunately leads to an unpredictable
445
- * device.
441
+ * At this point, either the system is too slow to
442
+ * cope with the enormous workload (so we have simply
443
+ * run out of active rx urbs and this unfortunately
444
+ * leads to an unpredictable device), or the device
445
+ * is not fully functional after an unsuccessful
446
+ * firmware loading attempts (so it doesn't pass
447
+ * ieee80211_register_hw() and there is no internal
448
+ * workqueue at all).
446
449
*/
447
450
448
- ieee80211_queue_work (ar -> hw , & ar -> ping_work );
451
+ if (ar -> registered )
452
+ ieee80211_queue_work (ar -> hw , & ar -> ping_work );
453
+ else
454
+ pr_warn_once ("device %s is not registered\n" ,
455
+ dev_name (& ar -> udev -> dev ));
449
456
}
450
457
} else {
451
458
/*
You can’t perform that action at this time.
0 commit comments