summaryrefslogtreecommitdiff
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorMike J. Chen <mjchen@google.com>2012-02-15 21:54:57 -0800
committerOm Prakash Singh <omp@nvidia.com>2012-06-15 14:15:13 +0530
commit9053d7de1602c2f3bedee02fe49274dc5ecd23ba (patch)
treeeb08ca1398c1480db1477af5c623fbcd969b0e39 /drivers/net/wireless
parent1534f1150e79d34315fbb3dff91bbf496d8d1483 (diff)
net: wireless: bcmdhd: Fix driver hang when resetting
bus->tx_max was not being initialized when we do a reset and the driver is statically linked. this led to about a 50% chance that it would be considered an illegal value when we send the mac address to the FW. add code to initialize it to a safe value until we receive the right value from the fw. Bug: 5974574 Change-Id: I28ab25d97203ef075e5354c25f85a25daaff5594 Signed-off-by: Mike J. Chen <mjchen@google.com> Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/bcmdhd/dhd_sdio.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcmdhd/dhd_sdio.c b/drivers/net/wireless/bcmdhd/dhd_sdio.c
index 196dc7acd762..05316635144a 100644
--- a/drivers/net/wireless/bcmdhd/dhd_sdio.c
+++ b/drivers/net/wireless/bcmdhd/dhd_sdio.c
@@ -3061,6 +3061,13 @@ dhd_bus_stop(struct dhd_bus *bus, bool enforce_mutex)
bus->rxskip = FALSE;
bus->tx_seq = bus->rx_seq = 0;
+ /* Set to a safe default. It gets updated when we
+ * receive a packet from the fw but when we reset,
+ * we need a safe default to be able to send the
+ * initial mac address.
+ */
+ bus->tx_max = 4;
+
if (enforce_mutex)
dhd_os_sdunlock(bus->dhd);
}