From 725da82171d0aab67574e40703023bf20f7d6694 Mon Sep 17 00:00:00 2001 From: Eliad Peller Date: Sun, 18 Dec 2011 20:25:45 +0200 Subject: [PATCH] --- yaml --- r: 279359 b: refs/heads/master c: 6ab70916939f055d9aaa9acc28a3a5bdfe9649f0 h: refs/heads/master i: 279357: dc3be88fa6c46c3fd031b736c92ddfd1d02c03da 279355: fa7aa5d8a8c41108d3ff9ebe3e3f54a99b7bc066 279351: 5d6793669cf129bee221d507a0c59e7c92364030 279343: c8ce8b26e3c6fb8d726d8a763ffabbb9a71bf511 279327: ac443ca2d18d463081db353df2b6d99750456a6d 279295: 3a59d7fbd4bd7e10dfad8a676c4a89d90f8b960b v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/wl12xx/main.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 4e3efcff6b70..894da4fbd4c1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b890f4c363ebdc9c38d7f1ec91e9ec0976c4fb6a +refs/heads/master: 6ab70916939f055d9aaa9acc28a3a5bdfe9649f0 diff --git a/trunk/drivers/net/wireless/wl12xx/main.c b/trunk/drivers/net/wireless/wl12xx/main.c index 0719fc82d55f..d5f55a149de5 100644 --- a/trunk/drivers/net/wireless/wl12xx/main.c +++ b/trunk/drivers/net/wireless/wl12xx/main.c @@ -450,7 +450,16 @@ static int wl1271_dev_notify(struct notifier_block *me, unsigned long what, if (wl->state == WL1271_STATE_OFF) goto out; + if (dev->operstate != IF_OPER_UP) + goto out; + /* + * The correct behavior should be just getting the appropriate wlvif + * from the given dev, but currently we don't have a mac80211 + * interface for it. + */ wl12xx_for_each_wlvif_sta(wl, wlvif) { + struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); + if (!test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags)) continue; @@ -458,7 +467,8 @@ static int wl1271_dev_notify(struct notifier_block *me, unsigned long what, if (ret < 0) goto out; - wl1271_check_operstate(wl, wlvif, dev->operstate); + wl1271_check_operstate(wl, wlvif, + ieee80211_get_operstate(vif)); wl1271_ps_elp_sleep(wl); }