* [PATCH] zd1211rw: honour enable_beacon conf
@ 2009-02-06 13:50 Johannes Berg
0 siblings, 0 replies; only message in thread
From: Johannes Berg @ 2009-02-06 13:50 UTC (permalink / raw)
To: John Linville; +Cc: linux-wireless, Daniel Drake
This makes zd1211rw honour enable_beacon, as well as fixing
a memory leak: the beacon skb is leaked when configuring it
to the hardware fails.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
---
drivers/net/wireless/zd1211rw/zd_mac.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
--- wireless-testing.orig/drivers/net/wireless/zd1211rw/zd_mac.c 2009-02-06 14:43:37.000000000 +0100
+++ wireless-testing/drivers/net/wireless/zd1211rw/zd_mac.c 2009-02-06 14:48:48.000000000 +0100
@@ -768,13 +768,23 @@ static int zd_op_config_interface(struct
if (!beacon)
return -ENOMEM;
r = zd_mac_config_beacon(hw, beacon);
+ kfree_skb(beacon);
+
if (r < 0)
return r;
- r = zd_set_beacon_interval(&mac->chip, BCN_MODE_IBSS |
- hw->conf.beacon_int);
+ }
+
+ if (conf->changed & IEEE80211_IFCC_BEACON_ENABLED) {
+ u32 interval;
+
+ if (conf->enable_beacon)
+ interval = BCN_MODE_IBSS | hw->conf.beacon_int;
+ else
+ interval = 0;
+
+ r = zd_set_beacon_interval(&mac->chip, interval);
if (r < 0)
return r;
- kfree_skb(beacon);
}
} else
associated = is_valid_ether_addr(conf->bssid);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-02-06 14:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-06 13:50 [PATCH] zd1211rw: honour enable_beacon conf Johannes Berg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox