summaryrefslogtreecommitdiff
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorRajasekaran Kalidoss <rkalidos@codeaurora.org>2018-10-31 05:34:36 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2018-11-16 02:42:41 -0800
commite548e6fd447d175cf7aaca14cb5a2826e0483130 (patch)
tree752f3e845fbab224513e16a6ef74a5fa15fdb5c6 /drivers/net/wireless
parent23d37eecf80f7b08fde9a8f3d888855f9b08ca21 (diff)
cnss2: Handle USB disconnect scenario
Clean up cnss during a USB disconnect scenario and call driver_ops remove if wlan driver is registered with CNSS. Change-Id: I72e6e42609724c9c5e0e07f381d2455d2631cc22 Signed-off-by: Rajasekaran Kalidoss <rkalidos@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/cnss2/usb.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/cnss2/usb.c b/drivers/net/wireless/cnss2/usb.c
index 4310109987b0..70aba70757cf 100644
--- a/drivers/net/wireless/cnss2/usb.c
+++ b/drivers/net/wireless/cnss2/usb.c
@@ -261,6 +261,13 @@ static void cnss_usb_remove(struct usb_interface *interface)
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(NULL);
struct cnss_usb_data *usb_priv = plat_priv->bus_priv;
+ cnss_pr_dbg("driver state %lu\n", plat_priv->driver_state);
+ if (usb_priv->driver_ops) {
+ cnss_pr_dbg("driver_op remove called for USB\n");
+ usb_priv->driver_ops->remove(usb_priv->usb_intf);
+ }
+ cnss_unregister_ramdump(plat_priv);
+ cnss_unregister_subsys(plat_priv);
usb_priv->plat_priv = NULL;
plat_priv->bus_priv = NULL;
usb_dev = interface_to_usbdev(interface);