Walkaround kernel BUG_ON panic caused by unexpected duplicate packets. Signed-off-by: Zhu Yi --- 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; } _