From: Vasily Ulyanov <[email protected]>

Virtual interface should be deleted after calling unregister_netdevice
since this function ends up with sending updown_intf command to card.

Signed-off-by: Vasily Ulyanov <[email protected]>
---
 drivers/net/wireless/quantenna/qtnfmac/cfg80211.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/quantenna/qtnfmac/cfg80211.c 
b/drivers/net/wireless/quantenna/qtnfmac/cfg80211.c
index abf10996c26a..c417a67b0291 100644
--- a/drivers/net/wireless/quantenna/qtnfmac/cfg80211.c
+++ b/drivers/net/wireless/quantenna/qtnfmac/cfg80211.c
@@ -120,10 +120,6 @@ int qtnf_del_virtual_intf(struct wiphy *wiphy, struct 
wireless_dev *wdev)
 
        qtnf_scan_done(vif->mac, true);
 
-       if (qtnf_cmd_send_del_intf(vif))
-               pr_err("VIF%u.%u: failed to delete VIF\n", vif->mac->macid,
-                      vif->vifid);
-
        /* Stop data */
        netif_tx_stop_all_queues(netdev);
        if (netif_carrier_ok(netdev))
@@ -132,6 +128,10 @@ int qtnf_del_virtual_intf(struct wiphy *wiphy, struct 
wireless_dev *wdev)
        if (netdev->reg_state == NETREG_REGISTERED)
                unregister_netdevice(netdev);
 
+       if (qtnf_cmd_send_del_intf(vif))
+               pr_err("VIF%u.%u: failed to delete VIF\n", vif->mac->macid,
+                      vif->vifid);
+
        vif->netdev->ieee80211_ptr = NULL;
        vif->netdev = NULL;
        vif->wdev.iftype = NL80211_IFTYPE_UNSPECIFIED;
-- 
2.11.0

Reply via email to