summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajkumar Manoharan <rmanohar@qti.qualcomm.com>2013-10-15 19:32:19 +0530
committerMadan Mohan Koyyalamudi <mkoyyala@qca.qualcomm.com>2013-10-23 20:05:28 -0700
commit39da229bb112c3e0da6ab8707da9fd7c8f33a685 (patch)
treeaf275cd49721a3f16eb246c2f9878008bddb0314
parentb9054e0a6b9d9e8fbc6c1f1201535faa9564d384 (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.c4
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?.
*/