Received: by 2002:a17:90a:88:0:0:0:0 with SMTP id a8csp16332pja; Fri, 22 Nov 2019 02:51:23 -0800 (PST) X-Google-Smtp-Source: APXvYqwELDl0rHMp0nADuRRZ0/B8wDvLvxWD6NqJa3xN72sMi5Hsthi/tUQjeow4XoL5lLXx5Yin X-Received: by 2002:a17:906:5fd9:: with SMTP id k25mr20899845ejv.142.1574419882974; Fri, 22 Nov 2019 02:51:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574419882; cv=none; d=google.com; s=arc-20160816; b=C9jtR89SdLDreUK+ZRYGBk64xb7exqR/d4w+gsEhq+SZ5Apr39JWErxVPVwwulWi3S yTHje/BDL2H7xezlZm6rb79U1W1VtE63ZgDigGMjndfAEVr2n/CmbxTEpG1r7XCmtsfZ xHrhG0fgU/xWUe4pITD0j6jIX1PegS6NidUdWhaGsQUPubX5NhrkDTIrxHxsMHlYQ9re 6q51dFI3y/cUDjJ7JLvQ1ZMKX4BgO9G95Z2YZlpNhJycHFk4ZvcV3EBXHwofd21SNzs6 /KZhyFxLl5PSSAkxr7CakajSXWgniS/vUnpYkDE7z7SCYzw8HSOCGSjP5iCZLK8zah4k 0qlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=cfM5/fRuXZDaVtZrw2XZqednZ0E0LFHyA1fv1S5Ygs8=; b=Fk4ciHRlN8Q9bpp6pFUSYcoFsKT1NdSHNL/kChH6n5r1Kz+2oe1+VkqLVFRUPhlLrG S/FhCYFrE0Z/EAgieBcMELXMDSMwFWSoFKJBLJ/tdAox5X/fW0UGmwnXTxzgngoFzhLJ PMJXRMx/C0I/D1XiSjXnpWUvT2MXvfkUsTXZk6fUckmlo6/vYCgctyXLtu/9enarcR2o pO0KcDYdncTgChNBxTB7LPHUWHkTmQHEKawHkSZWmhVLxmho097rHgvCs0WgFyMmyhn9 qx/pK/uBB5GHhXxaDPQkKX9fkwtS+mZSvBsBoeECx84g/F5gO/sf8sY9QaiFvLpIRvus tLfA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="HfM/MYkI"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h17si3700915ejy.239.2019.11.22.02.50.59; Fri, 22 Nov 2019 02:51:22 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="HfM/MYkI"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729791AbfKVKri (ORCPT + 99 others); Fri, 22 Nov 2019 05:47:38 -0500 Received: from mail.kernel.org ([198.145.29.99]:55574 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729776AbfKVKre (ORCPT ); Fri, 22 Nov 2019 05:47:34 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id EF98B20637; Fri, 22 Nov 2019 10:47:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574419653; bh=cAjZ586zGlwwEAc6mS6QatfsCBkzzwO45shjpQ2vYxM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HfM/MYkIXsZbm9KCXe7dWkDIG7I+DGcV395U9AifVFnYACCCLUyn6Vt1CcjjbQt3G MXnZ4PpzJz4lNqVo5pnGcyd57rYrI+VUJsaqCeB5SCBoiiwiGpD9SuA3RsMhObWvHe 5UzM5CRjypekVYrOCrdZQqQCYGdII2nc2wlRxP80= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Chung-Hsien Hsu , Chi-Hsien Lin , Kalle Valo , Sasha Levin Subject: [PATCH 4.9 186/222] brcmfmac: reduce timeout for action frame scan Date: Fri, 22 Nov 2019 11:28:46 +0100 Message-Id: <20191122100915.764750794@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191122100830.874290814@linuxfoundation.org> References: <20191122100830.874290814@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chung-Hsien Hsu [ Upstream commit edb6d6885bef82d1eac432dbeca9fbf4ec349d7e ] Finding a common channel to send an action frame out is required for some action types. Since a loop with several scan retry is used to find the channel, a short wait time could be considered for each attempt. This patch reduces the wait time from 1500 to 450 msec for each action frame scan. This patch fixes the WFA p2p certification 5.1.20 failure caused by the long action frame send time. Signed-off-by: Chung-Hsien Hsu Signed-off-by: Chi-Hsien Lin Signed-off-by: Kalle Valo Signed-off-by: Sasha Levin --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c index f78d91b692871..c91f5ef0be7c3 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c @@ -74,7 +74,7 @@ #define P2P_AF_MAX_WAIT_TIME msecs_to_jiffies(2000) #define P2P_INVALID_CHANNEL -1 #define P2P_CHANNEL_SYNC_RETRY 5 -#define P2P_AF_FRM_SCAN_MAX_WAIT msecs_to_jiffies(1500) +#define P2P_AF_FRM_SCAN_MAX_WAIT msecs_to_jiffies(450) #define P2P_DEFAULT_SLEEP_TIME_VSDB 200 /* WiFi P2P Public Action Frame OUI Subtypes */ @@ -1139,7 +1139,6 @@ static s32 brcmf_p2p_af_searching_channel(struct brcmf_p2p_info *p2p) { struct afx_hdl *afx_hdl = &p2p->afx_hdl; struct brcmf_cfg80211_vif *pri_vif; - unsigned long duration; s32 retry; brcmf_dbg(TRACE, "Enter\n"); @@ -1155,7 +1154,6 @@ static s32 brcmf_p2p_af_searching_channel(struct brcmf_p2p_info *p2p) * pending action frame tx is cancelled. */ retry = 0; - duration = msecs_to_jiffies(P2P_AF_FRM_SCAN_MAX_WAIT); while ((retry < P2P_CHANNEL_SYNC_RETRY) && (afx_hdl->peer_chan == P2P_INVALID_CHANNEL)) { afx_hdl->is_listen = false; @@ -1163,7 +1161,8 @@ static s32 brcmf_p2p_af_searching_channel(struct brcmf_p2p_info *p2p) retry); /* search peer on peer's listen channel */ schedule_work(&afx_hdl->afx_work); - wait_for_completion_timeout(&afx_hdl->act_frm_scan, duration); + wait_for_completion_timeout(&afx_hdl->act_frm_scan, + P2P_AF_FRM_SCAN_MAX_WAIT); if ((afx_hdl->peer_chan != P2P_INVALID_CHANNEL) || (!test_bit(BRCMF_P2P_STATUS_FINDING_COMMON_CHANNEL, &p2p->status))) @@ -1176,7 +1175,7 @@ static s32 brcmf_p2p_af_searching_channel(struct brcmf_p2p_info *p2p) afx_hdl->is_listen = true; schedule_work(&afx_hdl->afx_work); wait_for_completion_timeout(&afx_hdl->act_frm_scan, - duration); + P2P_AF_FRM_SCAN_MAX_WAIT); } if ((afx_hdl->peer_chan != P2P_INVALID_CHANNEL) || (!test_bit(BRCMF_P2P_STATUS_FINDING_COMMON_CHANNEL, -- 2.20.1