aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2011-12-18 13:25:44 -0500
committerLuciano Coelho <coelho@ti.com>2011-12-20 15:30:15 -0500
commitb890f4c363ebdc9c38d7f1ec91e9ec0976c4fb6a (patch)
treedd12415d36bf14d52abb218b73a416ddba44af39 /drivers/net/wireless/wl12xx
parent92e712da55b2e5776fee7e177e789c01828a1bf4 (diff)
wl12xx: stop device role on remove_interface
When removing a sta/ibss role, the device role has to stopped (and disabled) as well. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx')
-rw-r--r--drivers/net/wireless/wl12xx/main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
index 77493cc38714..0719fc82d55f 100644
--- a/drivers/net/wireless/wl12xx/main.c
+++ b/drivers/net/wireless/wl12xx/main.c
@@ -2189,7 +2189,11 @@ static void __wl1271_op_remove_interface(struct wl1271 *wl,
2189 if (ret < 0) 2189 if (ret < 0)
2190 goto deinit; 2190 goto deinit;
2191 2191
2192 if (wlvif->bss_type == BSS_TYPE_STA_BSS) { 2192 if (wlvif->bss_type == BSS_TYPE_STA_BSS ||
2193 wlvif->bss_type == BSS_TYPE_IBSS) {
2194 if (wl12xx_dev_role_started(wlvif))
2195 wl12xx_stop_dev(wl, wlvif);
2196
2193 ret = wl12xx_cmd_role_disable(wl, &wlvif->dev_role_id); 2197 ret = wl12xx_cmd_role_disable(wl, &wlvif->dev_role_id);
2194 if (ret < 0) 2198 if (ret < 0)
2195 goto deinit; 2199 goto deinit;