]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/wireless/ath/ath6kl/init.c
Merge tag 'iommu-updates-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro...
[karo-tx-linux.git] / drivers / net / wireless / ath / ath6kl / init.c
index f21fa322e5ca3e7245a994ebce2dc0ce48c82c7a..5d434cf88f35adb52e4d28cd37cf7ea1cc2c50e0 100644 (file)
@@ -1715,38 +1715,6 @@ void ath6kl_init_hw_restart(struct ath6kl *ar)
        }
 }
 
-/* FIXME: move this to cfg80211.c and rename to ath6kl_cfg80211_vif_stop() */
-void ath6kl_cleanup_vif(struct ath6kl_vif *vif, bool wmi_ready)
-{
-       static u8 bcast_mac[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
-       bool discon_issued;
-
-       netif_stop_queue(vif->ndev);
-
-       clear_bit(WLAN_ENABLED, &vif->flags);
-
-       if (wmi_ready) {
-               discon_issued = test_bit(CONNECTED, &vif->flags) ||
-                               test_bit(CONNECT_PEND, &vif->flags);
-               ath6kl_disconnect(vif);
-               del_timer(&vif->disconnect_timer);
-
-               if (discon_issued)
-                       ath6kl_disconnect_event(vif, DISCONNECT_CMD,
-                                               (vif->nw_type & AP_NETWORK) ?
-                                               bcast_mac : vif->bssid,
-                                               0, NULL, 0);
-       }
-
-       if (vif->scan_req) {
-               cfg80211_scan_done(vif->scan_req, true);
-               vif->scan_req = NULL;
-       }
-
-       /* need to clean up enhanced bmiss detection fw state */
-       ath6kl_cfg80211_sta_bmiss_enhance(vif, false);
-}
-
 void ath6kl_stop_txrx(struct ath6kl *ar)
 {
        struct ath6kl_vif *vif, *tmp_vif;
@@ -1766,7 +1734,7 @@ void ath6kl_stop_txrx(struct ath6kl *ar)
        list_for_each_entry_safe(vif, tmp_vif, &ar->vif_list, list) {
                list_del(&vif->list);
                spin_unlock_bh(&ar->list_lock);
-               ath6kl_cleanup_vif(vif, test_bit(WMI_READY, &ar->flag));
+               ath6kl_cfg80211_vif_stop(vif, test_bit(WMI_READY, &ar->flag));
                rtnl_lock();
                ath6kl_cfg80211_vif_cleanup(vif);
                rtnl_unlock();
@@ -1801,8 +1769,6 @@ void ath6kl_stop_txrx(struct ath6kl *ar)
                   "attempting to reset target on instance destroy\n");
        ath6kl_reset_device(ar, ar->target_type, true, true);
 
-       clear_bit(WLAN_ENABLED, &ar->flag);
-
        up(&ar->sem);
 }
 EXPORT_SYMBOL(ath6kl_stop_txrx);