2007-07-21 21:42:04

by Daniel Drake

[permalink] [raw]
Subject: [PATCH] zd1211rw: fix filter for PSPOLL frames

From: Ulrich Kunitz <[email protected]>

While filling the control set the driver tests for a PSPOLL frame.
But it tested only the subtype of the packet. The full type needs
to be tested to identify those packets reliably.

[[email protected]: backport to mainline]
Signed-off-by: Ulrich Kunitz <[email protected]>
Signed-off-by: Daniel Drake <[email protected]>
---
zd_mac.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

Index: linux/drivers/net/wireless/zd1211rw/zd_mac.c
===================================================================
--- linux.orig/drivers/net/wireless/zd1211rw/zd_mac.c
+++ linux/drivers/net/wireless/zd1211rw/zd_mac.c
@@ -822,7 +822,7 @@ static void cs_set_control(struct zd_mac
cs->control |= ZD_CS_MULTICAST;

/* PS-POLL */
- if (stype == IEEE80211_STYPE_PSPOLL)
+ if (ftype == IEEE80211_FTYPE_CTL && stype == IEEE80211_STYPE_PSPOLL)
cs->control |= ZD_CS_PS_POLL_FRAME;

/* Unicast data frames over the threshold should have RTS */