Return-path: Received: from mx0a-0016f401.pphosted.com ([67.231.148.174]:4822 "EHLO mx0a-0016f401.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752432AbbLNMRM (ORCPT ); Mon, 14 Dec 2015 07:17:12 -0500 Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.15.0.59/8.15.0.59) with SMTP id tBECF2nL012166 for ; Mon, 14 Dec 2015 04:17:12 -0800 Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0a-0016f401.pphosted.com with ESMTP id 1yswkxr046-1 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Mon, 14 Dec 2015 04:17:12 -0800 From: Amitkumar Karwar To: CC: Cathy Luo , Nishant Sarmukadam , Xinming Hu , Amitkumar Karwar Subject: [PATCH 04/14] mwifiex: fix bug for wildcard-prefix wowlan pattern Date: Mon, 14 Dec 2015 04:15:05 -0800 Message-ID: <1450095315-19927-5-git-send-email-akarwar@marvell.com> (sfid-20151214_131718_898939_C5B98449) In-Reply-To: <1450095315-19927-1-git-send-email-akarwar@marvell.com> References: <1450095315-19927-1-git-send-email-akarwar@marvell.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-wireless-owner@vger.kernel.org List-ID: From: Xinming Hu 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 Signed-off-by: Amitkumar Karwar --- drivers/net/wireless/marvell/mwifiex/cfg80211.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c index 3349c2a..0aab935 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -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; } -- 1.8.1.4