From 036ece4c70e186a737e47f84feff668fdf1abda3 Mon Sep 17 00:00:00 2001 From: Sukesh Srikakula Date: Fri, 13 May 2011 11:59:49 +0200 Subject: [PATCH] --- yaml --- r: 249651 b: refs/heads/master c: 65dd489204ffc7da8b8fd366a7ef7016db506bf2 h: refs/heads/master i: 249649: 6327cdb4dfaee79dd1cbb62d4276a300bce64872 249647: e4a5b86dea642384c042561af6ee923b4350b417 v: v3 --- [refs] | 2 +- .../staging/brcm80211/brcmfmac/wl_cfg80211.c | 27 ++++++------------- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/[refs] b/[refs] index 5c1f32574010..a946ea792704 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1f3b0085ed4f944f5b365a9070dbeb40fdfa1c0a +refs/heads/master: 65dd489204ffc7da8b8fd366a7ef7016db506bf2 diff --git a/trunk/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c b/trunk/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c index eb7f611b93ef..03f6c2052f79 100644 --- a/trunk/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c +++ b/trunk/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c @@ -3391,7 +3391,6 @@ s32 wl_cfg80211_attach(struct net_device *ndev, void *data) goto cfg80211_attach_out; } wl_set_drvdata(wl_cfg80211_dev, ci); - set_bit(WL_STATUS_READY, &wl->status); return err; @@ -4021,6 +4020,8 @@ static s32 __wl_cfg80211_up(struct wl_priv *wl) { s32 err = 0; + set_bit(WL_STATUS_READY, &wl->status); + wl_debugfs_add_netdev_params(wl); err = wl_config_dongle(wl, false); @@ -4028,41 +4029,29 @@ static s32 __wl_cfg80211_up(struct wl_priv *wl) return err; wl_invoke_iscan(wl); - set_bit(WL_STATUS_READY, &wl->status); + return err; } static s32 __wl_cfg80211_down(struct wl_priv *wl) { - s32 err = 0; - - /* Check if cfg80211 interface is already down */ - if (!test_bit(WL_STATUS_READY, &wl->status)) - return err; /* it is even not ready */ - set_bit(WL_STATUS_SCAN_ABORTING, &wl->status); wl_term_iscan(wl); if (wl->scan_request) { - cfg80211_scan_done(wl->scan_request, true); /* true - means abort */ - /* wl_set_mpc(wl_to_ndev(wl), 1); */ /* BUG - * this operation cannot help - * but here because sdio - * is already down through - * rmmod process. - * Need to figure out how to - * address this issue - */ + cfg80211_scan_done(wl->scan_request, true); + /* May need to perform this to cover rmmod */ + /* wl_set_mpc(wl_to_ndev(wl), 1); */ wl->scan_request = NULL; } clear_bit(WL_STATUS_READY, &wl->status); clear_bit(WL_STATUS_SCANNING, &wl->status); clear_bit(WL_STATUS_SCAN_ABORTING, &wl->status); + clear_bit(WL_STATUS_CONNECTING, &wl->status); clear_bit(WL_STATUS_CONNECTED, &wl->status); wl_debugfs_remove_netdev(wl); - return err; + return 0; } s32 wl_cfg80211_up(void)