if_run in hostap mode: issue with stations in the power save
mode
Bernhard Schmidt
bschmidt at freebsd.org
Fri Feb 4 08:54:45 UTC 2011
On Friday 04 February 2011 07:08:08 Alexander Zagrebin wrote:
> I'm using an Ralink RT2870 based adapter (run(4) driver) in the
> hostap mode. and I've noticed that if_run doesn't support stations
> working in the power save mode (PSM). The reason is in lack of the
> TIM in beacons. The attached patch adds this functionality and
> completely fixes this issue. Despite the fact that patch is working,
> it seems that it needs an additional work. For example, now the
> result of ieee80211_beacon_update is ignored with a corresponding
> message, but may be necessary to process it...
>
> Can somebody review it?
That looks about right, good catch!
Handling ieee80211_beacon_update()'s return value doesn't seem to be
necessary, the mbuf's length is handled in the next few lines of code
anyways, doesn't matter if it changed or not.
Though, I have a some doubts about just restoring bo_flags is enough
(Can't prove that with some obvious code, still..). It feels saner to me
if we just reuse the whole mbuf, similar to what ath(4) does. Can you
look at attached patch? Completely untested, so I'm not sure what does
happen on e.g. changing the SSID.
--
Bernhard
-------------- next part --------------
A non-text attachment was scrubbed...
Name: run-beacon.diff
Type: text/x-patch
Size: 2553 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20110204/81601cf5/run-beacon.bin
More information about the freebsd-net
mailing list