From 7a18627fbf349c4170f21ea35346f81bfe3c72a6 Mon Sep 17 00:00:00 2001 From: Rajasekaran Kalidoss Date: Fri, 26 Oct 2018 08:43:54 +0530 Subject: [PATCH] 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 --- drivers/net/wireless/cnss2/usb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; }