diff options
author | Eliad Peller <eliad@wizery.com> | 2011-12-18 13:25:44 -0500 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-12-20 15:30:15 -0500 |
commit | b890f4c363ebdc9c38d7f1ec91e9ec0976c4fb6a (patch) | |
tree | dd12415d36bf14d52abb218b73a416ddba44af39 /drivers/net/wireless/wl12xx | |
parent | 92e712da55b2e5776fee7e177e789c01828a1bf4 (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.c | 6 |
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; |