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>
This commit is contained in:
Mike J. Chen 2012-02-15 21:54:57 -08:00 committed by Dmitry Shmidt
parent 4d6f3d7209
commit bfebf726b0

View File

@ -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);
}