On 2011-05-06 3:43 PM, Johannes Berg wrote:
On Fri, 2011-05-06 at 15:35 +0200, Felix Fietkau wrote:
>> >> + info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT;
Rely on what being set in AP mode only? The patch ensures that the flag
for *clearing* PS filtering gets set for all non-AP modes. This flag
already gets set whenever tx->sta is unset, so I think it also makes
sense to extend that for other cases where the hardware is not supposed
to enable any PS filtering on its own.
I didn't remember/know about the case where sta is unset, but still,
what if the driver checks for the flag and does something that's only
valid in AP mode? I'm thinking firmware API here, not HW like ath9k.
> Your patch makes those drivers responsible for checking the mode, but
> that makes less sense than having drivers that need to do some magic in
> all modes, no?
How does my patch make drivers responsible for checking the mode?
Well, say I implement the clearing by sending something command to the
device, like p54. If that's only valid in AP mode in the firmware, now
this driver has to check that it's AP mode, where before it didn't have
to. That's not counting the sta==NULL case I guess.
OTOH, we only have two drivers using the flag anyway. Go figure it out
between those two :)
mac80211 already sets the flag for all modes. If drivers were depending
on it being set only for AP mode, then those drivers would break even
without my patch.
- Felix
--
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