aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormabbas <mohamed.abbas@intel.com>2015-10-22 15:08:08 -0700
committerBruce Beare <bruce.j.beare@intel.com>2015-10-24 08:40:36 -0700
commit35ce35dff47d10318ca7a9cbeabf416c83d9f58a (patch)
treec869d37aae005b0cb2f91c1bc89d9b9afc93a9c5
parentc83c2b5041f782aac6a009c79943a55f31c4b9d7 (diff)
downloadedison-v3.10-35ce35dff47d10318ca7a9cbeabf416c83d9f58a.tar.gz
bcm: fix hang issue on reboot (2).
Dont try to run any backgroud task when the device is removing. Change-Id: I2109cb65e141f7b0fd004389288f6e356a4fbeba Signed-off-by: mabbas <mohamed.abbas@intel.com>
-rw-r--r--drivers/staging/edison-bcm43340/dhd_linux.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/staging/edison-bcm43340/dhd_linux.c b/drivers/staging/edison-bcm43340/dhd_linux.c
index f5be4c90c79..c902735bd79 100644
--- a/drivers/staging/edison-bcm43340/dhd_linux.c
+++ b/drivers/staging/edison-bcm43340/dhd_linux.c
@@ -1682,12 +1682,13 @@ dhd_start_xmit(struct sk_buff *skb, struct net_device *net)
DHD_OS_WAKE_LOCK(&dhd->pub);
/* Reject if down */
- if (dhd->pub.busstate == DHD_BUS_DOWN || dhd->pub.hang_was_sent) {
+ if (dhd->pub.busstate == DHD_BUS_DOWN || dhd->pub.hang_was_sent ||
+ shutdown_in_progress == TRUE) {
DHD_ERROR(("%s: xmit rejected pub.up=%d busstate=%d \n",
__FUNCTION__, dhd->pub.up, dhd->pub.busstate));
netif_stop_queue(net);
/* Send Event when bus down detected during data session */
- if (dhd->pub.up) {
+ if (dhd->pub.up && shutdown_in_progress != TRUE) {
DHD_ERROR(("%s: Event HANG sent up\n", __FUNCTION__));
net_os_send_hang_message(net);
}