On Fri, 2009-11-13 at 11:56 -0800, Reinette Chatre wrote: > From: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> > > Using the new mac80211 functionality, this makes > iwlwifi handle unicast PS buffering correctly. > The device works like this: > > * when a station goes to sleep, the microcode notices > this and marks the station as asleep > * when the station is marked asleep, the microcode > refuses to transmit to the station and rejects all > frames queued to it with the failure status code > TX_STATUS_FAIL_DEST_PS (a previous patch handled > this correctly) > * when we need to send frames to the station _although_ > it is asleep, we need to tell the ucode how many, > and this is asynchronous with sending so we cannot > just send the frames, we need to wait for all other > frames to be flushed, and then update the counter > before sending out the poll response frames. This > is handled partially in the driver and partially in > mac80211. > > In order to do all this correctly, we need to > * keep track of how many frames are pending for each > associated client station (avoid doing it for other > stations to avoid the atomic ops) > * tell mac80211 that we driver-block the PS status > while there are still frames pending on the queues, > and once they are all rejected (due to the dest sta > being in PS) unblock mac80211 Does this cover iwl3945? If so, AP mode would be possible? Best regards, Maxim Levitsky -- 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