aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/pio.c
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2011-08-29 14:52:20 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-08-29 14:52:20 -0400
commitba6e5eb107b4b26444cb67ce6fb8eb0973a97964 (patch)
tree9377baf652e0cd8360372020b0386e238d07a30d /drivers/net/wireless/b43/pio.c
parentf3116f62cb56ef5efd172371fab688bb27529f69 (diff)
parenta508a6ea234571e0e7d1e9f2455fc1eca54d1fef (diff)
downloadkernel_replicant_linux-ba6e5eb107b4b26444cb67ce6fb8eb0973a97964.tar.gz
kernel_replicant_linux-ba6e5eb107b4b26444cb67ce6fb8eb0973a97964.tar.bz2
kernel_replicant_linux-ba6e5eb107b4b26444cb67ce6fb8eb0973a97964.zip
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
Diffstat (limited to 'drivers/net/wireless/b43/pio.c')
-rw-r--r--drivers/net/wireless/b43/pio.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/wireless/b43/pio.c b/drivers/net/wireless/b43/pio.c
index 6e4228c3ed1b..fcff923b3c18 100644
--- a/drivers/net/wireless/b43/pio.c
+++ b/drivers/net/wireless/b43/pio.c
@@ -611,7 +611,7 @@ static bool pio_rx_frame(struct b43_pio_rxqueue *q)
struct b43_wldev *dev = q->dev;
struct b43_wl *wl = dev->wl;
u16 len;
- u32 macstat;
+ u32 macstat = 0;
unsigned int i, padding;
struct sk_buff *skb;
const char *err_msg = NULL;
@@ -676,7 +676,15 @@ data_ready:
goto rx_error;
}
- macstat = le32_to_cpu(rxhdr->mac_status);
+ switch (dev->fw.hdr_format) {
+ case B43_FW_HDR_598:
+ macstat = le32_to_cpu(rxhdr->format_598.mac_status);
+ break;
+ case B43_FW_HDR_410:
+ case B43_FW_HDR_351:
+ macstat = le32_to_cpu(rxhdr->format_351.mac_status);
+ break;
+ }
if (macstat & B43_RX_MAC_FCSERR) {
if (!(q->dev->wl->filter_flags & FIF_FCSFAIL)) {
/* Drop frames with failed FCS. */