aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex/uap_txrx.c
diff options
context:
space:
mode:
authorAmitkumar Karwar <akarwar@marvell.com>2013-12-03 02:17:51 -0500
committerJohn W. Linville <linville@tuxdriver.com>2013-12-09 15:35:28 -0500
commitc613d16fa77fb7738a436ba23979ecf60ec82494 (patch)
treed6fcfe4c45cb1217708c20713da244558fce8e93 /drivers/net/wireless/mwifiex/uap_txrx.c
parent1bf947a79177643f33b875586642b61cb175782a (diff)
mwifiex: fix an issue with Appletalk devices
SNAP/LLC header in the AARP packet is being stripped off while preparing an EthernetII header. Annex M, Table M.3 in 802.11 spec says that some header (ex. AppleTalk AARP(2)) should pass through untouched. This patch modifies the check to exclude/include EthernetII header translation for special cases. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/mwifiex/uap_txrx.c')
-rw-r--r--drivers/net/wireless/mwifiex/uap_txrx.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/mwifiex/uap_txrx.c b/drivers/net/wireless/mwifiex/uap_txrx.c
index 0d4b7d62ebcc..a0bd954b3ab2 100644
--- a/drivers/net/wireless/mwifiex/uap_txrx.c
+++ b/drivers/net/wireless/mwifiex/uap_txrx.c
@@ -111,8 +111,12 @@ static void mwifiex_uap_queue_bridged_pkt(struct mwifiex_private *priv,
111 return; 111 return;
112 } 112 }
113 113
114 if (!memcmp(&rx_pkt_hdr->rfc1042_hdr, rfc1042_header, 114 if ((!memcmp(&rx_pkt_hdr->rfc1042_hdr, bridge_tunnel_header,
115 sizeof(rfc1042_header))) { 115 sizeof(bridge_tunnel_header))) ||
116 (!memcmp(&rx_pkt_hdr->rfc1042_hdr, rfc1042_header,
117 sizeof(rfc1042_header)) &&
118 ntohs(rx_pkt_hdr->rfc1042_hdr.snap_type) != ETH_P_AARP &&
119 ntohs(rx_pkt_hdr->rfc1042_hdr.snap_type) != ETH_P_IPX)) {
116 /* Replace the 803 header and rfc1042 header (llc/snap) with 120 /* Replace the 803 header and rfc1042 header (llc/snap) with
117 * an Ethernet II header, keep the src/dst and snap_type 121 * an Ethernet II header, keep the src/dst and snap_type
118 * (ethertype). 122 * (ethertype).