* [PATCH] d80211: allow NULL for control in beacon_get
@ 2006-06-17 21:10 Michael Buesch
0 siblings, 0 replies; only message in thread
From: Michael Buesch @ 2006-06-17 21:10 UTC (permalink / raw)
To: linville, Jiri Benc; +Cc: netdev, bcm43xx-dev
bcm43xx has no use for the "control" data provided by
ieee80211_beacon_get(), so allow passing a NULL pointer
to avoid setting up a dummy struct and throwing the data
away afterwards in the driver.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Index: wireless-dev/net/d80211/ieee80211.c
===================================================================
--- wireless-dev.orig/net/d80211/ieee80211.c 2006-06-17 22:51:20.000000000 +0200
+++ wireless-dev/net/d80211/ieee80211.c 2006-06-17 23:03:54.000000000 +0200
@@ -1683,28 +1683,30 @@
memcpy(skb_put(skb, bt_len), b_tail, bt_len);
}
- memset(&extra, 0, sizeof(extra));
- extra.endidx = local->num_curr_rates;
+ if (control) {
+ memset(&extra, 0, sizeof(extra));
+ extra.endidx = local->num_curr_rates;
- rate = rate_control_get_rate(dev, skb, &extra);
- if (rate == NULL) {
- if (net_ratelimit()) {
- printk(KERN_DEBUG "%s: ieee80211_beacon_get: no rate "
- "found\n", dev->name);
+ rate = rate_control_get_rate(dev, skb, &extra);
+ if (rate == NULL) {
+ if (net_ratelimit()) {
+ printk(KERN_DEBUG "%s: ieee80211_beacon_get: no rate "
+ "found\n", dev->name);
+ }
+ dev_kfree_skb(skb);
+ return NULL;
}
- dev_kfree_skb(skb);
- return NULL;
- }
- control->tx_rate = (local->short_preamble &&
- (rate->flags & IEEE80211_RATE_PREAMBLE2)) ?
- rate->val2 : rate->val;
- control->antenna_sel = local->conf.antenna_sel;
- control->power_level = local->conf.power_level;
- control->no_ack = 1;
- control->retry_limit = 1;
- control->rts_cts_duration = 0;
- control->clear_dst_mask = 1;
+ control->tx_rate = (local->short_preamble &&
+ (rate->flags & IEEE80211_RATE_PREAMBLE2)) ?
+ rate->val2 : rate->val;
+ control->antenna_sel = local->conf.antenna_sel;
+ control->power_level = local->conf.power_level;
+ control->no_ack = 1;
+ control->retry_limit = 1;
+ control->rts_cts_duration = 0;
+ control->clear_dst_mask = 1;
+ }
ap->num_beacons++;
return skb;
--
Greetings Michael.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-06-17 21:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-17 21:10 [PATCH] d80211: allow NULL for control in beacon_get Michael Buesch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).