qcacld-3.0: Free user defined WOWL patterns

User defined wowl patterns are not freed in all
of the driver unload paths, and it causes
leaks in the system.
Free user defined wowl patterns in all the driver
unload paths.

Change-Id: I7b980a6392badb3d28f2c665a96108beb71f02d5
CRs-Fixed: 2144562
这个提交包含在:
Kabilan Kannan
2017-11-16 16:34:34 -08:00
提交者 snandini
父节点 0f22d9370e
当前提交 6edafeb0c3
修改 3 个文件,包含 6 行新增4 行删除

查看文件

@@ -174,10 +174,10 @@ bool hdd_enter_wowl(struct hdd_adapter *adapter,
bool hdd_exit_wowl(struct hdd_adapter *adapter); bool hdd_exit_wowl(struct hdd_adapter *adapter);
/** /**
* hdd_deinit_wowl() - Deinit function to cleanup WoWL allocated memory * hdd_free_user_wowl_ptrns() - Deinit function to cleanup WoWL allocated memory
* *
* Return: None * Return: None
*/ */
void hdd_deinit_wowl(void); void hdd_free_user_wowl_ptrns(void);
#endif /* #ifndef _WLAN_HDD_WOWL_H */ #endif /* #ifndef _WLAN_HDD_WOWL_H */

查看文件

@@ -9605,6 +9605,9 @@ int hdd_wlan_stop_modules(struct hdd_context *hdd_ctx, bool ftm_mode)
hdd_info("Present Driver Status: %d", hdd_ctx->driver_status); hdd_info("Present Driver Status: %d", hdd_ctx->driver_status);
/* free user wowl patterns */
hdd_free_user_wowl_ptrns();
switch (hdd_ctx->driver_status) { switch (hdd_ctx->driver_status) {
case DRIVER_MODULES_UNINITIALIZED: case DRIVER_MODULES_UNINITIALIZED:
hdd_info("Modules not initialized just return"); hdd_info("Modules not initialized just return");
@@ -11097,7 +11100,6 @@ err_out:
*/ */
void hdd_deinit(void) void hdd_deinit(void)
{ {
hdd_deinit_wowl();
qdf_timer_free(&hdd_drv_ops_inactivity_timer); qdf_timer_free(&hdd_drv_ops_inactivity_timer);
wlan_destroy_bug_report_lock(); wlan_destroy_bug_report_lock();

查看文件

@@ -527,7 +527,7 @@ bool hdd_exit_wowl(struct hdd_adapter *adapter)
return true; return true;
} }
void hdd_deinit_wowl(void) void hdd_free_user_wowl_ptrns(void)
{ {
int i; int i;