summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajasekaran Kalidoss <rkalidos@codeaurora.org>2018-10-26 08:43:54 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2018-10-30 01:46:39 -0700
commit7a18627fbf349c4170f21ea35346f81bfe3c72a6 (patch)
tree53d32bbcd497db751daa1035a933853022e70e3f
parent0773fb50d426e9b02b812f9941726741273a279f (diff)
cnss2: call remove driver_ops in cnss_wlan_unregister
rmmod of wlan triggers cnss_wlan_unregister. wlan driver_ops remove should be called for QCN7605 standalone and composite devices to finish the rmmod path. Change-Id: I0047eb65b68b7e81b9b9c9fd79825a0d3f27c640 Signed-off-by: Rajasekaran Kalidoss <rkalidos@codeaurora.org>
-rw-r--r--drivers/net/wireless/cnss2/usb.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/cnss2/usb.c b/drivers/net/wireless/cnss2/usb.c
index 60d81b10cc84..4310109987b0 100644
--- a/drivers/net/wireless/cnss2/usb.c
+++ b/drivers/net/wireless/cnss2/usb.c
@@ -108,6 +108,7 @@ int cnss_usb_dev_shutdown(struct cnss_usb_data *usb_priv)
switch (usb_priv->device_id) {
case QCN7605_COMPOSITE_DEVICE_ID:
case QCN7605_STANDALONE_DEVICE_ID:
+ cnss_usb_call_driver_remove(usb_priv);
break;
default:
cnss_pr_err("Unknown device_id found: 0x%x\n",
@@ -175,12 +176,13 @@ int cnss_usb_call_driver_remove(struct cnss_usb_data *usb_priv)
if (test_bit(CNSS_DRIVER_RECOVERY, &plat_priv->driver_state) &&
test_bit(CNSS_DRIVER_PROBED, &plat_priv->driver_state)) {
+ cnss_pr_dbg("Recovery set after driver probed.Call shutdown\n");
usb_priv->driver_ops->shutdown(usb_priv->usb_intf);
} else if (test_bit(CNSS_DRIVER_UNLOADING, &plat_priv->driver_state)) {
+ cnss_pr_dbg("driver_ops->remove\n");
usb_priv->driver_ops->remove(usb_priv->usb_intf);
clear_bit(CNSS_DRIVER_PROBED, &plat_priv->driver_state);
}
-
return 0;
}