diff options
author | John W. Linville <linville@tuxdriver.com> | 2011-08-29 14:52:20 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-08-29 14:52:20 -0400 |
commit | ba6e5eb107b4b26444cb67ce6fb8eb0973a97964 (patch) | |
tree | 9377baf652e0cd8360372020b0386e238d07a30d /drivers/net/wireless/b43/pio.c | |
parent | f3116f62cb56ef5efd172371fab688bb27529f69 (diff) | |
parent | a508a6ea234571e0e7d1e9f2455fc1eca54d1fef (diff) | |
download | kernel_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.c | 12 |
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. */ |