mwifiex: fix bug for wildcard-prefix wowlan pattern
authorXinming Hu <huxm@marvell.com>
Mon, 14 Dec 2015 12:15:05 +0000 (04:15 -0800)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 30 Dec 2015 14:57:56 +0000 (16:57 +0200)
Wildcard prefix bytes are ignored while downloading packet
pattern to firmware. As packet offset is not adjusted
accordingly firmware end up matching the pattern at wrong
offset. The packet offset is corrected in this patch.

Signed-off-by: Xinming Hu <huxm@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/marvell/mwifiex/cfg80211.c

index 3349c2a..0aab935 100644 (file)
@@ -2921,6 +2921,12 @@ mwifiex_is_pattern_supported(struct cfg80211_pkt_pattern *pat, s8 *byte_seq,
                                        dont_care_byte = true;
                        }
 
+                       /* wildcard bytes record as the offset
+                        * before the valid byte
+                        */
+                       if (!valid_byte_cnt && !dont_care_byte)
+                               pat->pkt_offset++;
+
                        if (valid_byte_cnt > max_byte_seq)
                                return false;
                }