diff options
author | Mike J. Chen <mjchen@google.com> | 2012-02-15 21:54:57 -0800 |
---|---|---|
committer | Om Prakash Singh <omp@nvidia.com> | 2012-06-15 14:15:13 +0530 |
commit | 9053d7de1602c2f3bedee02fe49274dc5ecd23ba (patch) | |
tree | eb08ca1398c1480db1477af5c623fbcd969b0e39 /drivers/net/wireless | |
parent | 1534f1150e79d34315fbb3dff91bbf496d8d1483 (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.c | 7 |
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); } |