diff --git a/drivers/net/wireless/bcmdhd/dhd_linux.c b/drivers/net/wireless/bcmdhd/dhd_linux.c index 4b57190af945a3337b62a19a469053ea347b1fa9..9a8a9b896e187ca2269f28400f29112ff85bd430 100644 --- a/drivers/net/wireless/bcmdhd/dhd_linux.c +++ b/drivers/net/wireless/bcmdhd/dhd_linux.c @@ -823,8 +823,11 @@ static int dhd_sar_callback(struct notifier_block *nfb, unsigned long action, vo s32 txpower; int ret; - if (dhd->pub.busstate == DHD_BUS_DOWN) - return NOTIFY_DONE; + if (dhd->pub.busstate == DHD_BUS_DOWN || dhd->pub.up == 0) { + DHD_ERROR(("%s Not ready, Bus state %d firmware state %d\n", + __FUNCTION__, dhd->pub.busstate, dhd->pub.up)); + return NOTIFY_BAD; + } if (data) { /* if data != NULL then we expect that the notifier passed