diff options
author | Ecco Park <eccopark@broadcom.com> | 2013-09-13 07:01:36 +0900 |
---|---|---|
committer | Ziyan <jaraidaniel@gmail.com> | 2016-05-01 23:35:26 +0200 |
commit | ba5a8b38c16420602b4ce9b0fa8a158fe6eeb0f7 (patch) | |
tree | c7203f285027e520000ef71a5dda6b4c6a3599d7 | |
parent | f93415945f9e3efe15493a7485c2f87c980179f8 (diff) | |
download | kernel_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.c | 6 |
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)); |