wimax/i2400m: fix oops in TX when tearing down the device
authorInaky Perez-Gonzalez <inaky@linux.intel.com>
Wed, 7 Oct 2009 13:46:29 +0000 (22:46 +0900)
committerInaky Perez-Gonzalez <inaky@linux.intel.com>
Mon, 19 Oct 2009 06:56:20 +0000 (15:56 +0900)
commit46c501473d0a6fa62435dfd65c6884e1fd63b327
tree00cfe53c4542e3f44e86b28245b33dcdda137e90
parenta0beba21c3e2dff9a31739f1660ba3ff8c7150a7
wimax/i2400m: fix oops in TX when tearing down the device

All the entry points into the TX module should check if the device has
been torn down. Otherwise, when the device resets or shuts down, there
are windows when a call to i2400m_tx*() will oops the system.

For that, make i2400m_tx_release() set i2400m->tx_buf to NULL under
the tx_lock. Then, any entry point [i2400m_tx(), _tx_msg_sent(),
_tx_msg_get()] will check for i2400m->tx_buf to be NULL and exit
gracefully.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
drivers/net/wimax/i2400m/sdio-tx.c
drivers/net/wimax/i2400m/tx.c