diff options
Diffstat (limited to 'net-wireless/ipw2200/files/ipw2200-1.0.6-dup-without-retry.patch')
-rw-r--r-- | net-wireless/ipw2200/files/ipw2200-1.0.6-dup-without-retry.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/net-wireless/ipw2200/files/ipw2200-1.0.6-dup-without-retry.patch b/net-wireless/ipw2200/files/ipw2200-1.0.6-dup-without-retry.patch new file mode 100644 index 000000000000..7f79ec0fd32d --- /dev/null +++ b/net-wireless/ipw2200/files/ipw2200-1.0.6-dup-without-retry.patch @@ -0,0 +1,32 @@ +Walkaround kernel BUG_ON panic caused by unexpected duplicate packets. + +Signed-off-by: Zhu Yi <yi.zhu@intel.com> +--- + + ipw2200-1.0.6-chuyee/ipw2200.c | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +diff -puN ipw2200.c~dup-without-retry ipw2200.c +--- ipw2200-1.0.6/ipw2200.c~dup-without-retry 2005-08-03 13:59:11.000000000 +0800 ++++ ipw2200-1.0.6-chuyee/ipw2200.c 2005-08-03 14:51:52.000000000 +0800 +@@ -7698,7 +7698,6 @@ static inline int is_network_packet(stru + static inline int is_duplicate_packet(struct ipw_priv *priv, + struct ieee80211_hdr *header) + { +- u16 fc = le16_to_cpu(header->frame_ctl); + u16 sc = le16_to_cpu(header->seq_ctl); + u16 seq = WLAN_GET_SEQ_SEQ(sc); + u16 frag = WLAN_GET_SEQ_FRAG(sc); +@@ -7759,7 +7758,10 @@ static inline int is_duplicate_packet(st + return 0; + + drop: +- BUG_ON(!(fc & IEEE80211_FCTL_RETRY)); ++ /* Comment this line now since we observed the card receives ++ * duplicate packets but the FCTL_RETRY bit is not set in the ++ * IBSS mode with fragmentation enabled. ++ BUG_ON(!(le16_to_cpu(header->frame_ctl) & IEEE80211_FCTL_RETRY)); */ + return 1; + } + +_ |