From 9f60896ad06ec175ac556c6071a4526d2e43d2da Mon Sep 17 00:00:00 2001 From: Deepak Katragadda Date: Wed, 19 Mar 2014 11:11:00 -0700 Subject: 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 --- drivers/net/wireless/cnss/cnss.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'drivers/net') 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: -- cgit v1.2.3