madwifi: fix frame type parsing (fixes stp, see #4205)
[openwrt.git] / package / madwifi / patches / 390-frame_type.patch
diff --git a/package/madwifi/patches/390-frame_type.patch b/package/madwifi/patches/390-frame_type.patch
new file mode 100644 (file)
index 0000000..179ee7c
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/net80211/ieee80211_input.c
++++ b/net80211/ieee80211_input.c
+@@ -4421,7 +4421,9 @@
+               if (memcmp(eth->h_dest, dev->dev_addr, ETH_ALEN))
+                       skb->pkt_type = PACKET_OTHERHOST;
+
+-      return eth->h_proto;
++      if (ntohs(eth->h_proto) >= 1536)
++              return eth->h_proto;
++      return htons(ETH_P_802_2);
+ }
+ #endif
+