aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEcco Park <eccopark@broadcom.com>2013-09-13 07:01:36 +0900
committerZiyan <jaraidaniel@gmail.com>2016-05-01 23:35:26 +0200
commitba5a8b38c16420602b4ce9b0fa8a158fe6eeb0f7 (patch)
treec7203f285027e520000ef71a5dda6b4c6a3599d7
parentf93415945f9e3efe15493a7485c2f87c980179f8 (diff)
downloadkernel_samsung_tuna-ba5a8b38c16420602b4ce9b0fa8a158fe6eeb0f7.zip
kernel_samsung_tuna-ba5a8b38c16420602b4ce9b0fa8a158fe6eeb0f7.tar.gz
kernel_samsung_tuna-ba5a8b38c16420602b4ce9b0fa8a158fe6eeb0f7.tar.bz2
net: wireless: bcmdhd: Fix of Wireless Location Service
Fixed memory Leak in case of rmmod DHD without batching stop. Signed-off-by: Ecco Park <eccopark@broadcom.com>
-rw-r--r--drivers/net/wireless/bcmdhd/dhd_pno.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcmdhd/dhd_pno.c b/drivers/net/wireless/bcmdhd/dhd_pno.c
index 384386e..5f7657d 100644
--- a/drivers/net/wireless/bcmdhd/dhd_pno.c
+++ b/drivers/net/wireless/bcmdhd/dhd_pno.c
@@ -1838,8 +1838,14 @@ int dhd_pno_deinit(dhd_pub_t *dhd)
{
int err = BCME_OK;
dhd_pno_status_info_t *_pno_state = PNO_GET_PNOSTATE(dhd);
+ dhd_pno_params_t *_params;
NULL_CHECK(dhd, "dhd is NULL", err);
DHD_PNO(("%s enter\n", __FUNCTION__));
+ if (_pno_state->pno_mode & DHD_PNO_BATCH_MODE) {
+ _params = &_pno_state->pno_params_arr[INDEX_OF_BATCH_PARAMS];
+ /* clear resource if the BATCH MODE is on */
+ _dhd_pno_reinitialize_prof(dhd, _params, DHD_PNO_BATCH_MODE);
+ }
cancel_work_sync(&_pno_state->work);
if (dhd->pno_state)
MFREE(dhd->osh, dhd->pno_state, sizeof(dhd_pno_status_info_t));