diff options
| author | Rajkumar Manoharan <rmanohar@qti.qualcomm.com> | 2013-10-15 19:32:19 +0530 |
|---|---|---|
| committer | Madan Mohan Koyyalamudi <mkoyyala@qca.qualcomm.com> | 2013-10-23 20:05:28 -0700 |
| commit | 39da229bb112c3e0da6ab8707da9fd7c8f33a685 (patch) | |
| tree | af275cd49721a3f16eb246c2f9878008bddb0314 | |
| parent | b9054e0a6b9d9e8fbc6c1f1201535faa9564d384 (diff) | |
cld: tlshim: Fix kernel crash on driver unload
Loading and unloading the driver iteration during the data traffic,
is leading to NULL pointer dereference. There is race condition
between assoc completion and driver unload that leads to wakeup the
stopped netif queues. Fix that by dropping the trasmitted frames
when the unload in progress.
Change-Id: If51851909549735fde3c71d8c78f296ca69fbce6
CRs-Fixed: 550184
| -rw-r--r-- | CORE/CLD_TXRX/TLSHIM/tl_shim.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/CORE/CLD_TXRX/TLSHIM/tl_shim.c b/CORE/CLD_TXRX/TLSHIM/tl_shim.c index aa4581b2324e..2fe9e69e59cb 100644 --- a/CORE/CLD_TXRX/TLSHIM/tl_shim.c +++ b/CORE/CLD_TXRX/TLSHIM/tl_shim.c @@ -421,6 +421,10 @@ adf_nbuf_t WLANTL_SendSTA_DataFrame(void *vos_ctx, u_int8_t sta_id, ENTER(); + if (vos_is_load_unload_in_progress(VOS_MODULE_ID_TL, NULL)) { + TLSHIM_LOGP("%s: Driver load/unload in progress", __func__); + return skb; + } /* * TODO: How sta_id is created and used for IBSS mode?. */ |
