summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorDeepak Katragadda <dkatraga@codeaurora.org>2014-03-19 11:11:00 -0700
committerDeepak Katragadda <dkatraga@codeaurora.org>2014-03-20 17:23:42 -0700
commit9f60896ad06ec175ac556c6071a4526d2e43d2da (patch)
tree146552cfd717281e24e6e12b7702ba36fb827d11 /drivers/net
parenta81fb625c31398d94443c67d8c4af8645f5887c5 (diff)
cnss: Call subsystem_put on AR6320 if probe fails after subsystem_get
Currently, on cnss_probe failing after subsystem_get returns succesfully, subsystem_put is not called. This causes a warning as subsys_unregister is called with the subsys_count still 1. Change-Id: I3d16c63134481992290ef89516a9ab0f3db66b9d Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/cnss/cnss.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/cnss/cnss.c b/drivers/net/wireless/cnss/cnss.c
index 6c72d644fc38..736eb02b1784 100644
--- a/drivers/net/wireless/cnss/cnss.c
+++ b/drivers/net/wireless/cnss/cnss.c
@@ -97,6 +97,7 @@ static struct cnss_data {
int modem_current_status;
struct msm_bus_scale_pdata *bus_scale_table;
uint32_t bus_client;
+ void *subsys_handle;
} *penv;
static int cnss_wlan_vreg_set(struct cnss_wlan_vreg_info *vreg_info, bool state)
@@ -943,7 +944,7 @@ static int cnss_probe(struct platform_device *pdev)
goto err_notif_modem;
}
- subsystem_get(penv->subsysdesc.name);
+ penv->subsys_handle = subsystem_get(penv->subsysdesc.name);
penv->ramdump_dev = create_ramdump_device(penv->subsysdesc.name,
penv->subsysdesc.dev);
@@ -998,6 +999,7 @@ err_get_wlan_res:
destroy_ramdump_device(penv->ramdump_dev);
err_ramdump_create:
+ subsystem_put(penv->subsys_handle);
subsys_notif_unregister_notifier(penv->modem_notify_handler, &mnb);
err_notif_modem: