On Tue, Jan 18, 2011 at 11:05, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Tue, 2011-01-18 at 00:47 +0200, Arik Nemtsov wrote: > > > Well if for instance the station happens to send two frames with the PM > bit set, meaning that it is in PS-poll mode but doesn't want to wake up > even though it's transmitting a frame, mac80211 will only call > sta_notify once for the first frame to tell the driver the station went > to sleep -- the second frame just indicates that it's still asleep. > > The same might happen with this, but of course it depends on what the > device does. If the driver will call the new API function twice, then > mac80211 will be very confused. Therefore, I think the new API function > should do some checks about whether the station is already asleep/awake > before invoking ap_sta_ps_start/end so that the counters are correct. > > In this case, the driver might want to know if the station was already > in the indicated state -- this might be indicated by the return value. > Yea i missed the double atomic_inc/dec in case the function is called twice. I'll add a EINVAL return value in case the requested PM state is already in effect. Thanks, Arik -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html