From patchwork Thu Aug 20 15:58:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1348462 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=U/OqGm3g; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BXTqW5TJjz9sRN for ; Fri, 21 Aug 2020 01:59:35 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729410AbgHTP73 (ORCPT ); Thu, 20 Aug 2020 11:59:29 -0400 Received: from mail-bn7nam10on2087.outbound.protection.outlook.com ([40.107.92.87]:47585 "EHLO NAM10-BN7-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728106AbgHTP71 (ORCPT ); Thu, 20 Aug 2020 11:59:27 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Mi3qKJHz688QVuTLa++wjYkyRsrLjpE+987vkJQ5b9ygFfKXbZscOg/IStxQxfart0LK0d6qh3z24jzA04Z8RJftT3Kwo00tArTZOfj8K8B8VhTlsSNlnigphY93o2rJ/YeCmVb9VgV1oSwQg5PSkU/tSgeweVedBxYhREnB4NcsrerZKvphQnjM2NP+LApszNqOHqo6nXraPYBjnUYn1WbdAh07XM7g7j2wnOIs0wKlMbrRJ0HouQoNFfPZXJwNJJzETxQVIUMRX6+8TO4Tqg0ObK2VWYxtVZfm+Swkwhzmj9dlgazEY0nTvgKUXy3AWmG4RIzk/lF1miebUfhjRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1O69ClsUGJVN6H4G61eCuDxl0C6ZU/YFqdCMqLndOzA=; b=jO4E78pX9uEcR6258QerTw9H5JBZkOl6+ShYlRjQCEQZlxG9WyB07RHZI6Rha9fE4B2lCNpELiglYn3b561OQC17mxdA9JCPBMaC+OGOrzIftEIs+Wl6YqAdgiIRSzXt4+jx4cOPObeiXzYJhem72/YNxTPRtdtVTlkeCe2UD3509B923EORoBZD6mt3ReTrC3x05fM1cT6J74Y78FoSQoBTgMbcVOq5ojWS4lPz85G5VPT/Sn+E++7Wv9qSOGWR+TWwYREy+RuMFlcjaxKGawGrR34tnIFkJYQPCvKFcAUXhuBjUm4HgVB0WDInyV7f7+7MGH0DF62FPSsav/AWFg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1O69ClsUGJVN6H4G61eCuDxl0C6ZU/YFqdCMqLndOzA=; b=U/OqGm3g31myIYMxD/CLizV9idytSE2bwkB6QUfv9VkfFNZbqNqd1bGuEqxrTgUZpMlDB8ojbGn0h0LfSrnbrfJMhhiuX7nfaPrELPhoJVpJ5aYp9QrTCaMP+upUQCZVEWSSAzlLIa73DpD9/zks1EFoninqdX46M/GB4HrQHGI= Authentication-Results: driverdev.osuosl.org; dkim=none (message not signed) header.d=none;driverdev.osuosl.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4541.namprd11.prod.outlook.com (2603:10b6:806:94::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 15:59:24 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6%4]) with mapi id 15.20.3305.026; Thu, 20 Aug 2020 15:59:24 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 01/12] staging: wfx: fix BA when device is AP and MFP is enabled Date: Thu, 20 Aug 2020 17:58:47 +0200 Message-Id: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.28.0 X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from 255.255.255.255 (255.255.255.255) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Thu, 20 Aug 2020 15:59:22 +0000 X-Mailer: git-send-email 2.28.0 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: eb6d97bb-1d43-4c9e-8e6a-08d8452201db X-MS-TrafficTypeDiagnostic: SA0PR11MB4541: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5rYOcSG/16rIPPSfgoilSKhosJyMGSp0WsmnDFFs8xLq5hqczey/AIpWt6kTW6JsopigG+6HJEnEFnWgdtuP3p7h/x9kvXSIBroZ1eo2QUNhg9WEBOSUzVnNkEy+Fd3wP4Y4OOkkomz+RSQY8Ea2AhLEvqDAWAfFPTtxsoV1hBEZMW1q7xWfzdyW9tO7N+WuijZRVwuJajj1jj93ni8zcShkgTKNploO4SSzzUWpmPOFnbcsZkG4sNHJ5oQ5Xm6yYgjP880rukE6SpPBgQ5QVdHFknJRl722p2KK+MX1GqSq2bkpCEvgeWQmnbKglkElOVOdruwo1wnKExfe/mNiZX3Cgn8giQA8W/RsCiKJ+KMiFOU7UyJj9+rChjUWkK0w X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(346002)(136003)(186003)(6666004)(2906002)(8676002)(316002)(16576012)(54906003)(956004)(26005)(66574015)(8936002)(2616005)(110011004)(52116002)(83380400001)(107886003)(1076003)(5660300002)(478600001)(36756003)(4326008)(66476007)(66556008)(66946007)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 3xzL8FV543G/2/LexGXYBHH6BhoHcKT56lN+pOHZxkbSS2pg1sEj4LCGmksgPuE9jUps7Wf+gFAn/3eyB1TwLFMMMzBpwoOhvRQc7VG+ECbFI6ysn+nZIVRH0efaxcmtCjNzBvtoVcqyr4qS/f3VazueVo9jz3pQT7VHK6vuwht80fL7N9Ggv+MCl29lpnkVdFkRg//WYpxlY8zqUl2HxYBKRkoFB6H2CAh4DLSSI0BLuTvwz0Hmpg7T8AEf6HOmYns0DsTux7IAUa0HjYIfb6yIFT5LxXQIeN+OUmC+h5mKfPZUjAr1a7dOqT9vH4S03jZN+3bJIaIBAcR8wK1KnLSdvSSirhRBiM4xiv4+Giu/+rINcKPa/2am0uhqOsmKVgnRw+/fuXdQX+GW0nhf+pBeb9ui2I/5lf5gcuHFEvV+vKs4SoMHU11INPPCI2lzMUdtU0SS0lb9M8n/q1xgJqFzKwewKJPRubgMhZwR4gCCZu04k8P/iAXNnxE1CPVMcs0D0UH3aRv6mjuaRkNwgVnXp7sTaPyrfD+TYPERIGDFHNDtj1vpFwItVgc5GOwLe5as0Vzx65W30Ri1CkCcWKk413iod3fJNEuYO3p0dFyct3iQqxseNwpCivM9mUT5C/eYOIMw5/vgXNDCvqHiiQ== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb6d97bb-1d43-4c9e-8e6a-08d8452201db X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2020 15:59:23.7984 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Ih8L1QJ3MhX4kzZV9QjC4MhTWdAqbUfi03AhSHD2IlRUMrUtpUFS69NVdEfR22gT6Etfss2g/kSlVO/NYBu9ew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4541 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller The protection of the management frames is mainly done by mac80211. However, frames for the management of the BlockAck sessions are directly sent by the device. These frames have to be protected if MFP is in use. So the driver has to pass the MFP configuration to the device. Until now, the BlockAck management frames were completely unprotected whatever the status of the MFP negotiation. So, some devices dropped these frames. The device has two knobs to control the MFP. One global and one per station. Normally, the driver should always enable global MFP. Then it should enable MFP on every station with which MFP was successfully negotiated. Unfortunately, the older firmwares only provide the global control. So, this patch enable global MFP as it is exposed in the beacon. Then it marks every station with which the MFP is effective. Thus, the support for the old firmwares is not so bad. It may only encounter some difficulties to negotiate BA sessions when the local device (the AP) is MFP capable (ieee80211w=1) but the station is not. The only solution for this case is to upgrade the firmware. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/sta.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index ad63332f690c..9c1c8223a49f 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -434,7 +434,7 @@ int wfx_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, wvif->link_id_map |= BIT(sta_priv->link_id); WARN_ON(!sta_priv->link_id); WARN_ON(sta_priv->link_id >= HIF_LINK_ID_MAX); - hif_map_link(wvif, sta->addr, 0, sta_priv->link_id); + hif_map_link(wvif, sta->addr, sta->mfp ? 2 : 0, sta_priv->link_id); return 0; } @@ -474,6 +474,25 @@ static int wfx_upload_ap_templates(struct wfx_vif *wvif) return 0; } +static void wfx_set_mfp_ap(struct wfx_vif *wvif) +{ + struct sk_buff *skb = ieee80211_beacon_get(wvif->wdev->hw, wvif->vif); + const int ieoffset = offsetof(struct ieee80211_mgmt, u.beacon.variable); + const u16 *ptr = (u16 *)cfg80211_find_ie(WLAN_EID_RSN, + skb->data + ieoffset, + skb->len - ieoffset); + const int pairwise_cipher_suite_count_offset = 8 / sizeof(u16); + const int pairwise_cipher_suite_size = 4 / sizeof(u16); + const int akm_suite_size = 4 / sizeof(u16); + + if (ptr) { + ptr += pairwise_cipher_suite_count_offset; + ptr += 1 + pairwise_cipher_suite_size * *ptr; + ptr += 1 + akm_suite_size * *ptr; + hif_set_mfp(wvif, *ptr & BIT(7), *ptr & BIT(6)); + } +} + int wfx_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif) { struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; @@ -488,6 +507,7 @@ int wfx_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif) ret = hif_start(wvif, &vif->bss_conf, wvif->channel); if (ret > 0) return -EIO; + wfx_set_mfp_ap(wvif); return ret; } From patchwork Thu Aug 20 15:58:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1348473 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=TLwMqfHy; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BXTvx6JSKz9sR4 for ; Fri, 21 Aug 2020 02:03:25 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729493AbgHTP7u (ORCPT ); Thu, 20 Aug 2020 11:59:50 -0400 Received: from mail-bn7nam10on2087.outbound.protection.outlook.com ([40.107.92.87]:47585 "EHLO NAM10-BN7-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728475AbgHTP7d (ORCPT ); Thu, 20 Aug 2020 11:59:33 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hyCCWfLnACE2aMgG5f0Simgf1INKdp+Cz2CMgiNQb8Vx5CIEFf0/++0jci0HXiM89qRUswrWWx91MgZdeEjDdXiTvyTAmVvpY8vMOL33COHE7i4juIbWR3a/vKEP5O2UFD3CwWtSWUSXFzeBcQBjMkw7GK+iCN7pAQq+jVCL7EYbbvGDAKBMN2d/sR74nnqU2yAjclLKM/7BEJuEV75DdIBUv+JUgyzcW9qPnMUpTcMnjaH82bT1DY7tpQ+aR1h/Uq08tHucO1/tIboqEgw/0ETEChrSGc5dFEWlsj/QKpK4IJ21XkXxbJ49zMpeBDKDO4wF6Rx3A+F4svqLz0isqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t+vcLlWaLMlEF7GyLv2510d2MIxwweKs9ZMtIGYivEU=; b=FhQBjbaldU2Y5JHDA5Zxo6Bz9vVwzq1WRewbao3a9nxAape/A2cu7kJVgZQK/jWHe7f7doAQAOMomLVLk/9IRY3jgC0xbgHsy6huVf7xCJGbOl41bOoBCvNk0Ff5EkCWX+7nYEhcGPG6IbmGX4V/GRy3jD8Y8rb6+lLqcUbMm55UCdtxZFYEQOZ37PDiBUUhdLlDmUkalyIaQdEfYrCxIWAi4GFmq96hNV5FAS3oXoEygVoQb0n7pDNzrRrBJ2yTif5fn7u7bWFfGgogGV7fFR5wobbvpcMx68sqSDWzwCNm0FHLBRCrOqmdycntlXJQ/0a/01QsRHqNeTMKZE866Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t+vcLlWaLMlEF7GyLv2510d2MIxwweKs9ZMtIGYivEU=; b=TLwMqfHyuCSKB/URfmOuSnas/dlZrIX2goDzEpX/ROtoubBUBrfgiGn2L9k+XQ9eF2rEaoOsnH/CxNidCFTVry8tXCFmyDdJBBePY378VyDsmfhJg7KbEYUFO7Xk3A/sy2eMTyJ9oQTpQoP8pNZ+B/jnU1JhKa45ddqp7p18Vlo= Authentication-Results: driverdev.osuosl.org; dkim=none (message not signed) header.d=none;driverdev.osuosl.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4541.namprd11.prod.outlook.com (2603:10b6:806:94::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 15:59:25 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6%4]) with mapi id 15.20.3305.026; Thu, 20 Aug 2020 15:59:25 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 02/12] staging: wfx: improve usage of hif_map_link() Date: Thu, 20 Aug 2020 17:58:48 +0200 Message-Id: <20200820155858.351292-2-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> References: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from 255.255.255.255 (255.255.255.255) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Thu, 20 Aug 2020 15:59:24 +0000 X-Mailer: git-send-email 2.28.0 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2db31cc8-cec4-48b1-355e-08d8452202ee X-MS-TrafficTypeDiagnostic: SA0PR11MB4541: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5236; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IGrU4W4uExZlqSwxDuzL0GFdD67uPZ/aOuV1iydKill5/0PEY2xVP8YP2ufJD6zs0jXa5Ywlw4jVMKhLRab0q2jWAZCGBv/sovVALGdxAX9xyj3wYojtRCbWEij6EwY8y/jacLMe+EHbIkY/636I2yWTBZzrDjZahG4bZW+5TcGzptgwjuPyi8LLSe/XnXtQM5ZSRJSb8NuaWnd9rXqIBGh9Au3elzAC0Xn4gNuW0gtJMB3Vkzc9dps37GfMlyXnWKtrSXAsabMlVU/a2sDtf/0zlfoms31anOCGRXibyQSiQc9gLEG+5nBlkdYD4N9XVU0TtdXs4S2et1y0v7nAc2+KxIPmI3Nl+0PYx6OlJpvlmPgv5w0CePBtKeV3e0lL X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(346002)(136003)(186003)(6666004)(2906002)(8676002)(316002)(16576012)(54906003)(956004)(26005)(66574015)(8936002)(2616005)(110011004)(52116002)(83380400001)(107886003)(1076003)(5660300002)(478600001)(36756003)(4326008)(66476007)(66556008)(66946007)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: JXjtdR2szKhe9Sass+XD7+pcovkQZ23kt7D1TU9FqeZvRZRARr5pxwqASJz6XQ2JRE8hO2ZtIGpB38C2IpmH7c158Q6REV/gdWYi4TonzOXpK0SxKGVB0krjr8zZQ6pLO3Cs0ucmCQA1U1ZzmgHUexEf93f53yvKvErflRACEDsOlrlmGTeSA8pBIZ/QM06irONsKBve1v+UlGioCbHjk9jaMmb+juYTuKn5wW9XOqx3oktKYS27JvpADpLAMMe/n2c6d5u2ovysiAz3H2FM4SE1yoJDqnpEJHwaATu7Gho+Ad7LRdsqld9Qbv0bWYSmsCBxFjf6sJKMHne2DdawbkM+1yMi8hWCpwSm9Ottk95WWPwYQ9d66UIHZLNwfbVGKQzCcDkxDK4aLoa2bmPA6vFOhsrOxxfLU5x8FMWhneMUuAy88ophBA+T/61b46TxhhdsiIYkok5ymp54UIcURx278yx59/XXXXouh3ng9WWHTFfSZfCwICnyo2AChoCvrnlR/+ZUSi7jFbaALLlyqvj70HZ7J4RNWdPcZ7lEWvCch0skUdxUtLSzMO8RKEgntEaH1szrFnPKLAsVbjz8X3tbyv8B0A00f32eFQ53tugitpQlYosccW4k5TGq6citbJ/NUjs0SeQRV3ljnQ9XyQ== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2db31cc8-cec4-48b1-355e-08d8452202ee X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2020 15:59:25.4724 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: S2g9K8M8cxOyM5yjqPdjT/YJMD2MprV0et7vmqQXSohblWfq9YzP5+E9eHN9KsvIgJcKTHpMpquobxONX0ESfA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4541 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller Until now, hif_map_link() get as argument the raw value for map_link_flags when map_link_flags is defined as a bitfield. It was error prone. Now hif_map_link() takes explicit value for every flags of the struct map_link_flags. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/hif_tx.c | 5 +++-- drivers/staging/wfx/hif_tx.h | 3 ++- drivers/staging/wfx/sta.c | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/staging/wfx/hif_tx.c b/drivers/staging/wfx/hif_tx.c index 3b5f4dcc469c..6b89e55f03f4 100644 --- a/drivers/staging/wfx/hif_tx.c +++ b/drivers/staging/wfx/hif_tx.c @@ -499,7 +499,7 @@ int hif_beacon_transmit(struct wfx_vif *wvif, bool enable) return ret; } -int hif_map_link(struct wfx_vif *wvif, u8 *mac_addr, int flags, int sta_id) +int hif_map_link(struct wfx_vif *wvif, bool unmap, u8 *mac_addr, int sta_id, bool mfp) { int ret; struct hif_msg *hif; @@ -509,7 +509,8 @@ int hif_map_link(struct wfx_vif *wvif, u8 *mac_addr, int flags, int sta_id) return -ENOMEM; if (mac_addr) ether_addr_copy(body->mac_addr, mac_addr); - body->map_link_flags = *(struct hif_map_link_flags *)&flags; + body->map_link_flags.mfpc = mfp ? 1 : 0; + body->map_link_flags.map_direction = unmap ? 1 : 0; body->peer_sta_id = sta_id; wfx_fill_header(hif, wvif->id, HIF_REQ_ID_MAP_LINK, sizeof(*body)); ret = wfx_cmd_send(wvif->wdev, hif, NULL, 0, false); diff --git a/drivers/staging/wfx/hif_tx.h b/drivers/staging/wfx/hif_tx.h index e1da28aef706..b371b3777a31 100644 --- a/drivers/staging/wfx/hif_tx.h +++ b/drivers/staging/wfx/hif_tx.h @@ -55,7 +55,8 @@ int hif_set_edca_queue_params(struct wfx_vif *wvif, u16 queue, int hif_start(struct wfx_vif *wvif, const struct ieee80211_bss_conf *conf, const struct ieee80211_channel *channel); int hif_beacon_transmit(struct wfx_vif *wvif, bool enable); -int hif_map_link(struct wfx_vif *wvif, u8 *mac_addr, int flags, int sta_id); +int hif_map_link(struct wfx_vif *wvif, + bool unmap, u8 *mac_addr, int sta_id, bool mfp); int hif_update_ie_beacon(struct wfx_vif *wvif, const u8 *ies, size_t ies_len); int hif_sl_set_mac_key(struct wfx_dev *wdev, const u8 *slk_key, int destination); diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index 9c1c8223a49f..d2e9cf651c81 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -434,7 +434,7 @@ int wfx_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, wvif->link_id_map |= BIT(sta_priv->link_id); WARN_ON(!sta_priv->link_id); WARN_ON(sta_priv->link_id >= HIF_LINK_ID_MAX); - hif_map_link(wvif, sta->addr, sta->mfp ? 2 : 0, sta_priv->link_id); + hif_map_link(wvif, false, sta->addr, sta_priv->link_id, sta->mfp); return 0; } @@ -449,7 +449,7 @@ int wfx_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, if (!sta_priv->link_id) return 0; // FIXME add a mutex? - hif_map_link(wvif, sta->addr, 1, sta_priv->link_id); + hif_map_link(wvif, true, sta->addr, sta_priv->link_id, false); wvif->link_id_map &= ~BIT(sta_priv->link_id); return 0; } From patchwork Thu Aug 20 15:58:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1348474 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=aAZ8vie/; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BXTw518LHz9sR4 for ; Fri, 21 Aug 2020 02:03:33 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729471AbgHTQD3 (ORCPT ); Thu, 20 Aug 2020 12:03:29 -0400 Received: from mail-dm6nam12on2046.outbound.protection.outlook.com ([40.107.243.46]:36576 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728047AbgHTP7k (ORCPT ); Thu, 20 Aug 2020 11:59:40 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q9Wf+oqpoX23EEG/JLLNKcgtx5edUttZZAa/Nftt7LG0wDD89YYLUV3fLSxP5hr4XH60rpH7M0wNvgmo3HVSW6gMD9WL6t+JenVSdAjEklR8QjoC2eNzR1U6ijdT4bUw9LIIalTpLt0IMTrnkCdYJbkLLouhepOzcvqV5xeLC03d0oVKk5hx+Cc4Bu/i86XN40cK3S68WpVANYeli4qmURo+D37r8+6epnC8enllhmjLKzITXUvuN5fOo4jEtLj1O4N6FuLf/ETgqMnXCrzwrgZXxctONdWBzKmVwHT4+oHapv6QZZVxmvIm4a8wEhQ2qgo519c7wNSKnvhdIX2wbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xJrlJiwuPnQD82THeatQCST2HXpbIjrjeukM3c1SBBk=; b=ayPJu68nZnYkkhPA6j3RLHO3Et0BxzQrXRMU9c8ok1DiDiKnu9H1q1qypFgRlELmB1akt+zYbX/YtVyucYAU7jyJL9ld7xzRPTsi9mVs6rXhJbLiTHOHCqvuSb6DeajuMMqOGD+ogTmRvYR1P5LgOjoBUnugt2jWR2or0iHejgLaItLYUrOqicdz4bBRmgdrotogYwt6EZHIHXPDMA4ZyouytOYXxfesZBD54W64BjqvTdSDORbg4HLZWwpfJq6QM6x+GcuZnyqaGMMR8REqVCgmZh2u8HMcgyKDtJpROP/WA0jcxQ+Wku+ESumitLo/3S1vGa6WK8WX5HAeKGc3jw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xJrlJiwuPnQD82THeatQCST2HXpbIjrjeukM3c1SBBk=; b=aAZ8vie/KA1/pS7V830njV0CUxbOxswxH7WUnTweJL+A9lC5wJDGoqYL4GEZnFdN/7oGcM6f3042qBPex+L7ftvzrIY/ZA2jVrKxs5v1nQiyaoFBvBtv+LUUp/b/XyV+w55cEP3e5ut5J97xy/BGU6iCaojsI3Qmy0FNiiWcJXc= Authentication-Results: driverdev.osuosl.org; dkim=none (message not signed) header.d=none;driverdev.osuosl.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4541.namprd11.prod.outlook.com (2603:10b6:806:94::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 15:59:27 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6%4]) with mapi id 15.20.3305.026; Thu, 20 Aug 2020 15:59:27 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 03/12] staging: wfx: fix BA when MFP is disabled but BSS is MFP capable Date: Thu, 20 Aug 2020 17:58:49 +0200 Message-Id: <20200820155858.351292-3-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> References: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from 255.255.255.255 (255.255.255.255) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Thu, 20 Aug 2020 15:59:25 +0000 X-Mailer: git-send-email 2.28.0 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 46c7336c-edaf-4c36-d179-08d8452203e2 X-MS-TrafficTypeDiagnostic: SA0PR11MB4541: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: apO9F439yuO1mjUcEpINO+zLzxofdqjsQkTTC718OEl+GWhu76XtQS6B3svCVsEy3n711aHzQl5SFZVet4SaKsXBoJ5/hOwOp2QDqLAI7TwcdzUfhfaBXQ9lv08PUmD8dHWpDQD0/SQotZQtXB60iJDl74Yfr2H6zpbsX2KpB2fJsXGd8AWcYVLTLhe5bUe5VU3cL84ivj97J2kiqNCDawnBPKrs9ADDfU8FYDn+ScmBFJc3jNcLQzrH3RUGyWsHMeQ2S7EHbyCyU5gUlr2sl7GgCf56ysqGB6tthd5SP/0RdRGZz9c5ycwcq29z5077cpcoZmEwvg71i9RsqtEfhToIrpe4SroWPVFiUERIs0xBXEhI0hlFZKiDOm0olwHi X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(346002)(136003)(186003)(6666004)(2906002)(8676002)(316002)(16576012)(54906003)(956004)(26005)(66574015)(8936002)(2616005)(110011004)(52116002)(83380400001)(107886003)(1076003)(5660300002)(478600001)(36756003)(4326008)(66476007)(66556008)(66946007)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: ytRpAfXwoVbRbepEEgj1qcRuCb4YTF8epSBr8n2z5rIdTjnx9I0Uio8+4SEehmn3oVu5qEPhlM+E+C3rB0KDS8ENC7atHGxpy9z0cgpY6jFXLI86n5W7BJUEFrkMnGwjnJqDjBGENhjT5fS8TXvtrUNoa5oAiEz1JtSQn58RKYxkvugIRF4yRyb03KFbdpBJCD5qESnsL/+0eCWjoMAgv8yOX2c2NQbz6MYxUhkNegf7jeMU97f5g5L0JjX4hIHwBY7/tUNEltdBoQdGhf5EyCYKDaygWfq4/eqnzr+YhxdR9qU9tQME1CFDPyuBfTcB7/4uOn8aSUGSC/Wv4QysWDCcAHFaYnTNZfCWe2dCmGFjLR1LUf7Me1bScM7uEF73nP+hEy2IjByYnRZAVvIj0sJrEsGIkQGdm+XhDUk3jHLGIglekcmxDNEtz/JEW8EoxqJZHAnA8sH0Zdca0ceRPO5VPeZDKJIiuZ8v9ae2gTPP/XP+KK3zCR1dvO2kMafqhRSShN4qJEBbJEdpEfMuPuOU8To77s4Bpx8sXFYP6b0CnWSPTpndxncot0PHsqJyd6OcJqR3hx3aAq8W0+7pecJ6qn0Q1THdvuAoDTMSvlSRPXWzv50Q2lRr/lTJyDwoGiQGvv0zAv7FGq9aYkyBzQ== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 46c7336c-edaf-4c36-d179-08d8452203e2 X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2020 15:59:27.0865 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FKFQWgKf9hdeki4Ej+cZsdKpi24sEjueR+lCB2iryL+D6gwPnOVqIe1NDpFx7BRMeKEy08fJfW1AuQoxl87o4w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4541 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller The protection of the management frames is mainly done by mac80211. However, frames for the management of the BlockAck sessions are directly sent by the device. These frames have to be protected if MFP is in use. So the driver has to pass the MFP configuration to the device. Until now, the driver directly read the RSN IE of the BSS. However, it didn't work when the BSS was MFP capable (ieee80211w=1) and the local device has disabled MFP (ieee80211w=0). This patch read the MFP information directly from the struct ieee80211_sta. This information take into account the MFP negotiated during the association. In addition, the code is far simpler. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/sta.c | 34 +++------------------------------- 1 file changed, 3 insertions(+), 31 deletions(-) diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index d2e9cf651c81..20db4bbdd901 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -323,36 +323,6 @@ void wfx_set_default_unicast_key(struct ieee80211_hw *hw, hif_wep_default_key_id(wvif, idx); } -static void wfx_set_mfp(struct wfx_vif *wvif, - struct cfg80211_bss *bss) -{ - const int pairwise_cipher_suite_count_offset = 8 / sizeof(u16); - const int pairwise_cipher_suite_size = 4 / sizeof(u16); - const int akm_suite_size = 4 / sizeof(u16); - const u16 *ptr = NULL; - bool mfpc = false; - bool mfpr = false; - - /* 802.11w protected mgmt frames */ - - /* retrieve MFPC and MFPR flags from beacon or PBRSP */ - - rcu_read_lock(); - if (bss) - ptr = (const u16 *)ieee80211_bss_get_ie(bss, WLAN_EID_RSN); - - if (ptr) { - ptr += pairwise_cipher_suite_count_offset; - ptr += 1 + pairwise_cipher_suite_size * *ptr; - ptr += 1 + akm_suite_size * *ptr; - mfpr = *ptr & BIT(6); - mfpc = *ptr & BIT(7); - } - rcu_read_unlock(); - - hif_set_mfp(wvif, mfpc, mfpr); -} - void wfx_reset(struct wfx_vif *wvif) { struct wfx_dev *wdev = wvif->wdev; @@ -400,7 +370,6 @@ static void wfx_do_join(struct wfx_vif *wvif) } rcu_read_unlock(); - wfx_set_mfp(wvif, bss); cfg80211_put_bss(wvif->wdev->hw->wiphy, bss); wvif->join_in_progress = true; @@ -427,6 +396,9 @@ int wfx_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, sta_priv->vif_id = wvif->id; + if (vif->type == NL80211_IFTYPE_STATION) + hif_set_mfp(wvif, sta->mfp, sta->mfp); + // In station mode, the firmware interprets new link-id as a TDLS peer. if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls) return 0; From patchwork Thu Aug 20 15:58:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1348463 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=AyK72QFd; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BXTqw71z8z9sR4 for ; Fri, 21 Aug 2020 01:59:56 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729515AbgHTP7w (ORCPT ); Thu, 20 Aug 2020 11:59:52 -0400 Received: from mail-bn7nam10on2087.outbound.protection.outlook.com ([40.107.92.87]:47585 "EHLO NAM10-BN7-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728106AbgHTP7p (ORCPT ); Thu, 20 Aug 2020 11:59:45 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jjLE5pVLN57lpAx3z0nTDXLNChJVcFUqb6JG6ltCFD1kURWI1ePNBJPNtRZB2m+RNrcqwro9+SHq8BTICTfsdzN0BkRCQBbf2ttJKU0hAhRlTAwEQ38o3+Cek0ozrzErqtU9hjvxj7aKoa/p5+TDlEz94905+4csA489sC8Hr2czBkqHTQ4ECgNx4p4CK5FTLbNSS4FWCdFubeGVgN/yavixsoW34weFhPAL6F2kql8vkhzmOPtr/q0vrUpi26si+lclaag1P+87tzxUrAI39+lGWFoNzqmvW3/KS74pU2c57kMtgKnhevXb428yEQNVpen2Y7thSLTWE7ouVxk3Kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qvHPU1fTvFig2Ymc0rY03r6D4O5Ye4R48U2j5KKlVVI=; b=OkIprQ5AarEI1Fwi4nHjeSSO/ONxN5eM8J4oPfoKeeyXgOiJlDtULcn7IURJp4Kid3veZILJJu/yr/4M+jIj2wQNA1wibCVifiU4++ha7OrWrlE1o/Yc5Vr4UyO/Tat91dNnUVmuAHb/xc0imKkxGkwATdMvYYMf10B8P7B1OLziWCpfWuSYrbzy6kOggFQ/oTJqYDS90TnWjmh/R4kRipWFKhk9W37cVHdkkeIzJY4i5K65v2fqsXZFDHBQagGrYHC49/ODSaXlHntRDIGAFwp/7ZEZHl8lio5yvu3bgoqmcGEVXbeKdBzb/XmKV14bvh0Hna55vqsSrKQdFG51Wg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qvHPU1fTvFig2Ymc0rY03r6D4O5Ye4R48U2j5KKlVVI=; b=AyK72QFdohWQXpWCrONqY4Jtml5lVgn/kP5jtZdVeGKxE84EwbE6jz3UdJfQfvJq3c1yKMP+2pcu0xdNSmKw3ee/DV3iUy4CwsD+Pu/SsrnFSuXPi5CmfBmCpSkLCJ3Y5eSdmhdVzlcwGKg8pmvb7LA84q8KWC71Sbmyu1Xdub0= Authentication-Results: driverdev.osuosl.org; dkim=none (message not signed) header.d=none;driverdev.osuosl.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4541.namprd11.prod.outlook.com (2603:10b6:806:94::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 15:59:28 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6%4]) with mapi id 15.20.3305.026; Thu, 20 Aug 2020 15:59:28 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 04/12] staging: wfx: fix spaces around binary operators Date: Thu, 20 Aug 2020 17:58:50 +0200 Message-Id: <20200820155858.351292-4-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> References: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from 255.255.255.255 (255.255.255.255) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Thu, 20 Aug 2020 15:59:27 +0000 X-Mailer: git-send-email 2.28.0 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8d066567-9b43-460e-1688-08d8452204db X-MS-TrafficTypeDiagnostic: SA0PR11MB4541: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:241; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 00CvqWl13gmsGRbZ/KkrMBD1+uhkgOKicVYK3CTNP/v8X0M40LpkhemZ+myYYQSmsgoElXGR5u2DW8kS7nWqUyjwF2p3pJK+giaLOPFGeoAekmVSWwJSr0MXTNk3gHCyFbdlB9gqy/1UCfgoyvNfWeHGZieCHDa6dxgnOGmG2aP5fwcQpnPoEH5qXr+w+oM7bX1KwOcBXmCVghkQwKgIoTNI/s856iTk6poWOIzs7uPvd5ldBrsnqFEGw+KP//lSzc37no2ZQ6/OWP72mwaT5yAOp9sD2cAlnr1HfKXqzBjJXGY4y9KMh4jMg4wXGlZES3GGDc4wPi2WVIimtEqjnYfYIz0QdMUDVqKSlNSPrdl7xok7sB9iS20ZHvVnBgui X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(346002)(136003)(186003)(6666004)(2906002)(8676002)(316002)(16576012)(54906003)(956004)(26005)(8936002)(2616005)(110011004)(52116002)(83380400001)(107886003)(1076003)(5660300002)(478600001)(36756003)(4326008)(66476007)(66556008)(66946007)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: qmtZFxWVePLBx4X5KxfivnO3vVTFbOBPlx4PoIxCmENapK+GUWiAUsDlUoD+k1j58aWtdtKC+AKdKxVbAu7lOWw1h85o+G+FjgOo0uftpD8ZCjGM3iGJTPDXuvBSuIU7ZkYVZC1CdYz4YG8A7QxSH50hxFMVwGmbc3YvxfPTMbEeIwYcCLGbCw8PmO02azBvNR6h32Wi2lCvBGQx29VuOUbzyFSKBgTGP4wPQdAE2avHjPV/Wgw1jA9fMgwJNoX0hDNKmeJqrwiSBAJUcPwidof8Y1AcMn1RejmcsyIPs+yqjUV1X1WrooAtr3RKdeI25VATxqT5vsJNmy1wzwXdkhpLVaq9XBLp0dWE90ScllAI1vMWve2908jt4WUkoxfP4VHWvkbuAIRKpiDry3XWMoMbtO8JRV8ybO0HVK2h1BcYlIzpNHhJJKZ9EPJxwncMNGtuRg3FSq99nd3HDnl04jg25sXch+AyskA1HItDWKbKQ77rAmebBvLAyEPXc2C7nmZ9WLqw2/sHxY6ELcOS85C2nkt/xuYprKqiujXfgNv6Ox0oCdVNfVkQ8qPhGk7S1jEwvjlMqU2vpNRIZSVYZ7EaYc/5/E0EsT27OkGDjAxARPeAbQZsxlgE3PBcoqLCzqcRpG6QzgyrWpL00h+dPQ== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8d066567-9b43-460e-1688-08d8452204db X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2020 15:59:28.7095 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tk2q8oGD+LR6iU1/ELKEj22GlhfOtMvoJ5CeOupruCHlRKeak8DOpvM3QcfAS5U2dbffY2mSQUBn0gmdu5E/RA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4541 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller A binary operator should be followed by exactly one space. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/key.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/wfx/key.c b/drivers/staging/wfx/key.c index 5ee2ffc5f935..6165df59ecf9 100644 --- a/drivers/staging/wfx/key.c +++ b/drivers/staging/wfx/key.c @@ -171,7 +171,7 @@ static int wfx_add_key(struct wfx_vif *wvif, struct ieee80211_sta *sta, k.int_id = wvif->id; k.entry_index = idx; if (key->cipher == WLAN_CIPHER_SUITE_WEP40 || - key->cipher == WLAN_CIPHER_SUITE_WEP104) { + key->cipher == WLAN_CIPHER_SUITE_WEP104) { if (pairwise) k.type = fill_wep_pair(&k.key.wep_pairwise_key, key, sta->addr); @@ -191,13 +191,13 @@ static int wfx_add_key(struct wfx_vif *wvif, struct ieee80211_sta *sta, else k.type = fill_ccmp_group(&k.key.aes_group_key, key, &seq); - } else if (key->cipher == WLAN_CIPHER_SUITE_SMS4) { + } else if (key->cipher == WLAN_CIPHER_SUITE_SMS4) { if (pairwise) k.type = fill_sms4_pair(&k.key.wapi_pairwise_key, key, sta->addr); else k.type = fill_sms4_group(&k.key.wapi_group_key, key); - } else if (key->cipher == WLAN_CIPHER_SUITE_AES_CMAC) { + } else if (key->cipher == WLAN_CIPHER_SUITE_AES_CMAC) { k.type = fill_aes_cmac_group(&k.key.igtk_group_key, key, &seq); } else { From patchwork Thu Aug 20 15:58:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1348464 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=oZ1JMZaX; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BXTrB17Yzz9sR4 for ; Fri, 21 Aug 2020 02:00:10 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728106AbgHTQAC (ORCPT ); Thu, 20 Aug 2020 12:00:02 -0400 Received: from mail-dm6nam12on2046.outbound.protection.outlook.com ([40.107.243.46]:36576 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729479AbgHTP7w (ORCPT ); Thu, 20 Aug 2020 11:59:52 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T+Dbd7zPFKYi4rAeJCLIlwCM7XG/eXJ6KUMQCWsKI93vPJ/XnhsJcB34HTMQ6Nz2RiW6SE0zfNVlPi0awuRa/hy1TVRY1UnMks5B+Xx/r5cgzvsAiMOKvsyhINFamTDYUQkCFJuX/Yeyzxz623kupYygkNLvuAw/p+SFx+KSAaoxpi3mhP4id2lEaWwrEWjR6HHd8psEy9oLz4HleL3vVrf7tMRrxpKpza8OlcgzN5XwPwq1rygLWhiIMsgB6gfuXhHXLBZEkkg0+3scfLOWcyv9UK9CAqXjSeI8m9vIENq5L5/FNdIxMm3NEwsjIV99USrlooCM4X3zFH1//EAIPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6h3ZZF67h4YqACm/j8Eh1W5rXu/X68RUEDVrbinPXJ0=; b=NzVqqfjD7Q4GRlD4ETtRwOM6veXXtq8FEkZyRgOUY1guF4Zf9EoliYpJm7tSKH8S9DQ/cqDq7nyo3LHo7WNb9NeiHNYn/kADIAOpjqWjUYrQ7rxtFY07gYQdrYm6ImkL+JbJ+qneqGLYWaranjGStH+SsYz5QgoMNWz02E9U9jnGMDMBYiRQpTZs29Aq2pbiLwILyuyZtJP7d75ybAjBp2IuabjKoJ6/scmv+kMPcUpdrnZ3PENKCsPHMiuXCj+WojOSpqNYvz0JnytADuPzvt7s5aINt1gMWZW6Ipon6dxU1YQRRglHZH8Atl0I/s1DFtUd/nrmuIy3HJ54GHpTVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6h3ZZF67h4YqACm/j8Eh1W5rXu/X68RUEDVrbinPXJ0=; b=oZ1JMZaXV7eKxUvrxxI2YBxTyIOUx37h1RrEcv9nUh2sNVj+pcV+ZXbfRA5fwGV2UqHJWubz+EEdaj8azVq4YgIwjWOERN0IKwvkEwcEPCe1RjrZwF+oQSw8scnJcjapuZ/zNEe9+BEOXDzt9YxqlwibGUGhVR5qct0UjaSQDfM= Authentication-Results: driverdev.osuosl.org; dkim=none (message not signed) header.d=none;driverdev.osuosl.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4541.namprd11.prod.outlook.com (2603:10b6:806:94::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 15:59:30 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6%4]) with mapi id 15.20.3305.026; Thu, 20 Aug 2020 15:59:30 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 05/12] staging: wfx: fix support for cipher AES_CMAC (multicast PMF) Date: Thu, 20 Aug 2020 17:58:51 +0200 Message-Id: <20200820155858.351292-5-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> References: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from 255.255.255.255 (255.255.255.255) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Thu, 20 Aug 2020 15:59:28 +0000 X-Mailer: git-send-email 2.28.0 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bca67b26-db81-4ebe-9009-08d8452205cd X-MS-TrafficTypeDiagnostic: SA0PR11MB4541: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TWVg6DG3eiB21MECuWbnP3t9H0akZNMU1rx3AW6BK9S+bOwp/8o5VR1pGBnXVfUiDkPbKOCtz+nANJDS/nDy08UByGm4Yi4kZRucyyfJjIKZx0cdIqSUsl2Rr0BAcZ2Cnyu/GTx7XQ/CBr9iSgBbooyY8TC9TuRhS/6qQgXU3Q4qfbWWGD1XtfBeM4pPY6coyHZDX5ubHbw7DpwhrZvku3yRpg/rmG85xjICBXf0tsns+avdmvmZb1R4LfWPCDJopLcIc94O8ueUtb+pFP9Mpn2vuASuA3BKf60VnZaIDAuBSqpNm9OTPSdNfFQWLLVJAknXydwIBcyAfdH9HwNqQ9xH/+9NUKtKNNWqEr5fpAQPulvgshz/QZiEmUXXVfSe X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(346002)(136003)(186003)(6666004)(2906002)(8676002)(316002)(16576012)(54906003)(956004)(26005)(66574015)(8936002)(2616005)(110011004)(52116002)(83380400001)(107886003)(1076003)(5660300002)(478600001)(36756003)(4326008)(66476007)(66556008)(66946007)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: 6x+TvXr7TSr7JCOEqfz6qetQfcnwRTObTTQBiIa4LJmbnm6W3buHgDQjdAA/eysvjDlYB2N4/5saqfZ+nX8287Yd7nj5HCNLBc8+FrrNTeYpb5C9lUgLRlb1ElAZ4vrmu3scACTz2yoE/ruFQEratJ7nD6r1mVPOp+nb60fljG2MZBYK8q2C0imkuyi2uTT5CUZUpgVscp0TQGRaOxitKdNiE18JHybC03Fz0gDrY4d2v+zDWec8RKvgPy9D4znag9flXMj1mHrFYON59Zf7lS2l++4uVGU9BYYdBTxSr+daUGIMjEiSJPPT3r6IBmX8DMgdbH6mc3eXfWTp/ZJi4kkhySnVPBFu3ZjIAAuB4a0gfIa0ac1LrFTh92VdF1/8k1inTl3wLOebmYi5a3+7qJ9XnlEnnZuJwk6hXXFYBT2x1OHwaGkmqmeIP8sE5OE9k+xduflRq19ziq/WZ5N5BSnYzc7d5uXq6RLT1LScy79GV+aja7eY87XKblrJR/2+2euPRAl8NbVAdhO9o0roTS77XFrxByGCGdV6rEpeJqYbJMhWDLgbqq9QkbP6Vfe9yKyC8pts/9LEHYKrUm6Ovt2OzhHI0pAFwzbiXZMTKxlpFhCqLDeMIPE4HLI0tTZ0iY6SULCja10aZMFZ0H2N6A== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: bca67b26-db81-4ebe-9009-08d8452205cd X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2020 15:59:30.2856 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TS7wobsa/S3NUHrTOBh35EdMMbURwtV2/wf3kagY3pllGxUN+c07Pga972FjGRTpq7t6ktcYQzE22EXy2nkzfA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4541 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller When MFP is enabled, the multicast management frames are not protected, in fact. Instead, but they should include an IE containing the MMIC of the frames (i.e. a cryptographic signature). Until now, the driver didn't correctly detect this kind of frames (they are not marked protected but they are associated to a key) and didn't ask to the device to encrypt them. In add, the device is not able to generate the IE itself. Mac80211 has to generate the IE and let the device compute the MMIC. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/data_tx.c | 5 +++-- drivers/staging/wfx/key.c | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/staging/wfx/data_tx.c b/drivers/staging/wfx/data_tx.c index 41f9afd41e14..d16b516ad7cf 100644 --- a/drivers/staging/wfx/data_tx.c +++ b/drivers/staging/wfx/data_tx.c @@ -325,6 +325,8 @@ static int wfx_tx_get_icv_len(struct ieee80211_key_conf *hw_key) if (!hw_key) return 0; + if (hw_key->cipher == WLAN_CIPHER_SUITE_AES_CMAC) + return 0; mic_space = (hw_key->cipher == WLAN_CIPHER_SUITE_TKIP) ? 8 : 0; return hw_key->icv_len + mic_space; } @@ -350,8 +352,7 @@ static int wfx_tx_inner(struct wfx_vif *wvif, struct ieee80211_sta *sta, memset(tx_info->rate_driver_data, 0, sizeof(struct wfx_tx_priv)); // Fill tx_priv tx_priv = (struct wfx_tx_priv *)tx_info->rate_driver_data; - if (ieee80211_has_protected(hdr->frame_control)) - tx_priv->hw_key = hw_key; + tx_priv->hw_key = hw_key; // Fill hif_msg WARN(skb_headroom(skb) < wmsg_len, "not enough space in skb"); diff --git a/drivers/staging/wfx/key.c b/drivers/staging/wfx/key.c index 6165df59ecf9..728e5f8d3b7c 100644 --- a/drivers/staging/wfx/key.c +++ b/drivers/staging/wfx/key.c @@ -198,8 +198,8 @@ static int wfx_add_key(struct wfx_vif *wvif, struct ieee80211_sta *sta, else k.type = fill_sms4_group(&k.key.wapi_group_key, key); } else if (key->cipher == WLAN_CIPHER_SUITE_AES_CMAC) { - k.type = fill_aes_cmac_group(&k.key.igtk_group_key, key, - &seq); + k.type = fill_aes_cmac_group(&k.key.igtk_group_key, key, &seq); + key->flags |= IEEE80211_KEY_FLAG_GENERATE_MMIE; } else { dev_warn(wdev->dev, "unsupported key type %d\n", key->cipher); wfx_free_key(wdev, idx); From patchwork Thu Aug 20 15:58:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1348472 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=ctIY+Mbc; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BXTvl4pYqz9sTN for ; Fri, 21 Aug 2020 02:03:15 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729712AbgHTQDL (ORCPT ); Thu, 20 Aug 2020 12:03:11 -0400 Received: from mail-bn7nam10on2087.outbound.protection.outlook.com ([40.107.92.87]:47585 "EHLO NAM10-BN7-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729490AbgHTP7x (ORCPT ); Thu, 20 Aug 2020 11:59:53 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aoc9pRgP0NEJM5qymmy5T5cvr+U4pNmZsLA8xPsAAgul794M0KSeMn719ARQFmVUwQQXFdSwQzQxwFZK3UIJyj5Cg3N5cywVqNHkuDsoTyQig0GNkCPyGL7i69zXbr1Gw5TbaW5f2W8SFoHhHn6+pRxQPdP+I7cMELMi7cM3OUqBPKRRfhRIjF2AMLTip5S2E6xh/WmYOS9a5NhyhiTekfWGSdR1FuB3MhULQQ044utMDvCru0uwcbbskIxLZLkLq0bK1onz18zZZnh+eCtMpPARviiGBJYxykyuTIdkYvPBnACZpTxo/1cIo2AXEaCIlH1UZcvmqQ9l5M0HjQ8CFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wQXvApKjr0cY61ggIb8gLuomgp6b/xpqnIfJVhA+1WE=; b=T70bEuyduMel4f8jVZ30v7NEpDYbQjxv8mwMUhJ+qZpYCbuJ0V0AESFptXHHplAwZzp70q/k4acn6nDxeQGGCMxNwrQrVe/U5ly8YhyNpnK4RbapJHhnMIobWTdRnCzwSx2GPmSg9fZ6bKVc8AGt7aDqmkCwQvnTH6yNchkn9EIgWxsg8bAul4ofBv7mIe6TXDt34a1zU6Fk7irPTSHj/X+5oaGRj42dpLmVZzP6A86FHIfQC78YxwYplnKKo9AQ6GPpcAhwpRW24Eo7PZMxJC4xC0LRS8rnOpaVxwhcg89tKCAlEveUluO/RPWTweBre7PFv7Zn0oubnvLbMCBEdw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wQXvApKjr0cY61ggIb8gLuomgp6b/xpqnIfJVhA+1WE=; b=ctIY+MbcqMnUp7vJDTjzU/+76oqw8yS7tQ9GE9BBq4bNr8IEWNGUHoB33l7LjEDozQtHDVLGiZHueP+lLtJq6geo8xWQdYDmvXcj8v0tu/9n2Fq9QInERxbBpUgoG01K1CIIS/ub2ihakyZnM7zmzXRZZ1Fi50kobyDk1E92ims= Authentication-Results: driverdev.osuosl.org; dkim=none (message not signed) header.d=none;driverdev.osuosl.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4541.namprd11.prod.outlook.com (2603:10b6:806:94::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 15:59:32 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6%4]) with mapi id 15.20.3305.026; Thu, 20 Aug 2020 15:59:32 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 06/12] staging: wfx: drop useless field from struct wfx_tx_priv Date: Thu, 20 Aug 2020 17:58:52 +0200 Message-Id: <20200820155858.351292-6-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> References: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from 255.255.255.255 (255.255.255.255) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Thu, 20 Aug 2020 15:59:30 +0000 X-Mailer: git-send-email 2.28.0 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0f78d5e2-afb3-42db-465c-08d8452206bf X-MS-TrafficTypeDiagnostic: SA0PR11MB4541: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5797; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tE92PA3TroTkEvHJweLnlPGr2NFzOzpvP/TRo6X1Tw5DFckFc0lmX2o+zilVHBW1PbigBRgKM11PPEcNYzvSo3egjPpK6yc6dhwH9ZqRlaboSYcTNXp+JtpqBDw2aE8kpj4nEVXS09cPkm35aFgZVlIUOayogefgTLGVbTNM4WITAtSGVRYAvttQ5kqzl6Xg82Pf/FP8PBFZtIt4RhCLZWtOyhmirbIBF6rwnpc+IVSGWm8uqE8K0QJmMZJGshqGiWMuZrmvlDt12elH4eFgByfAnuVz88MVParfa6C6nT8JX7Ls2ytJk9JIF8hicOsS92DN2aLO5eWdtr3hFK2N1LlpbswvpszMsYHPFVWztrs3BeOXg02mn84zA7GGMq4P X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(346002)(136003)(186003)(6666004)(2906002)(8676002)(316002)(16576012)(54906003)(956004)(26005)(66574015)(8936002)(2616005)(110011004)(52116002)(83380400001)(107886003)(1076003)(5660300002)(478600001)(36756003)(4326008)(66476007)(66556008)(66946007)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: ucKawbgDHIaSxcLH9b1t+jgU04mY1QymNo0hkREhg3T3ziSFJxMmi98DjgPwa+5v7yWvLCtG+ZztukUNdTQe6G9US9fGXW4gFa9RdSOwB5HHJVi/Ew7XGCBINPPXlhsWeUDEJbv+MgLgeuc73AWwJ6WxW62FfXQfNfaz04aJWDLBdnm6DipO2pnyc3y3xnAo2K+r4yKL1SJ2pwf2YNS+zffyJYmnVIlG3T5lWSkv8CN5ol3V3bzUwlpgIAoXs0f6G/sCFW1kYx9KcyuSkAK9E4L1VmB26vyuGpEGDUIXGSp+SOccbh7sv8psVwYLRDMHd6tzQpSFrxPctX4PQtd4qkf1eySeUdycaiH7X2mpVodfuDPxTc4AwD45myGD8j+qZPd+mo5Q4dC2TNWaX8Zh+Wp6BF5lyIwvowk4M+DOOIB1sVQ1UENe1wJKlUmP6P83RFa6RCNR8jjSR0/b45eEXdrUNB6n/FfF0HcyEYH+u/DpDftCVXLmvguA/+5hyxR4tGxQa2Qo1PyvaYamMmNZUadGroZFPrw8aO05shQxcMBkz3jSZTrclTYSTcTug9rVlp8oOyb3ESKYL5HGT4hBDsG5sn+UF3lh7c+k7+fgyzlwI0Z1nFyG3DriqhA7GGH0WlAcGBml4NZnso+rJL92kQ== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f78d5e2-afb3-42db-465c-08d8452206bf X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2020 15:59:31.8747 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: c1l8LP/OjNVDKIhV+kDXE15T1BwsUPVwsKupNX37DApeNk6/ZqegPNX/0w4jkr1i3fy0MXdesm+U/SwsIhhnlw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4541 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller The device need to receive a skb with necessary space for the ICV. So, the driver adds this space before to send the frame. Currently, once the frame is sent, the driver restore the original content of the skb. However, this step is useless. Mac80211 don't do it when software encryption is enabled. Once we have removed this step, it appears that it is no more necessary to keep hw_key in tx_priv. Then, it is possible to simplify a bunch of code in the Tx path. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/data_tx.c | 16 ++++------------ drivers/staging/wfx/data_tx.h | 3 +-- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/drivers/staging/wfx/data_tx.c b/drivers/staging/wfx/data_tx.c index d16b516ad7cf..485907b0faa2 100644 --- a/drivers/staging/wfx/data_tx.c +++ b/drivers/staging/wfx/data_tx.c @@ -336,7 +336,6 @@ static int wfx_tx_inner(struct wfx_vif *wvif, struct ieee80211_sta *sta, { struct hif_msg *hif_msg; struct hif_req_tx *req; - struct wfx_tx_priv *tx_priv; struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); struct ieee80211_key_conf *hw_key = tx_info->control.hw_key; struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; @@ -350,14 +349,11 @@ static int wfx_tx_inner(struct wfx_vif *wvif, struct ieee80211_sta *sta, // From now tx_info->control is unusable memset(tx_info->rate_driver_data, 0, sizeof(struct wfx_tx_priv)); - // Fill tx_priv - tx_priv = (struct wfx_tx_priv *)tx_info->rate_driver_data; - tx_priv->hw_key = hw_key; // Fill hif_msg WARN(skb_headroom(skb) < wmsg_len, "not enough space in skb"); WARN(offset & 1, "attempt to transmit an unaligned frame"); - skb_put(skb, wfx_tx_get_icv_len(tx_priv->hw_key)); + skb_put(skb, wfx_tx_get_icv_len(hw_key)); skb_push(skb, wmsg_len); memset(skb->data, 0, wmsg_len); hif_msg = (struct hif_msg *)skb->data; @@ -489,7 +485,6 @@ static void wfx_tx_fill_rates(struct wfx_dev *wdev, void wfx_tx_confirm_cb(struct wfx_dev *wdev, const struct hif_cnf_tx *arg) { struct ieee80211_tx_info *tx_info; - const struct wfx_tx_priv *tx_priv; struct wfx_vif *wvif; struct sk_buff *skb; @@ -499,18 +494,15 @@ void wfx_tx_confirm_cb(struct wfx_dev *wdev, const struct hif_cnf_tx *arg) arg->packet_id); return; } + tx_info = IEEE80211_SKB_CB(skb); wvif = wdev_to_wvif(wdev, ((struct hif_msg *)skb->data)->interface); WARN_ON(!wvif); if (!wvif) return; - tx_info = IEEE80211_SKB_CB(skb); - tx_priv = wfx_skb_tx_priv(skb); + + // Note that wfx_pending_get_pkt_us_delay() get data from tx_info _trace_tx_stats(arg, skb, wfx_pending_get_pkt_us_delay(wdev, skb)); - - // You can touch to tx_priv, but don't touch to tx_info->status. wfx_tx_fill_rates(wdev, tx_info, arg); - skb_trim(skb, skb->len - wfx_tx_get_icv_len(tx_priv->hw_key)); - // From now, you can touch to tx_info->status, but do not touch to // tx_priv anymore // FIXME: use ieee80211_tx_info_clear_status() diff --git a/drivers/staging/wfx/data_tx.h b/drivers/staging/wfx/data_tx.h index cff7b9ff99a9..87e1b9b62dbb 100644 --- a/drivers/staging/wfx/data_tx.h +++ b/drivers/staging/wfx/data_tx.h @@ -35,8 +35,7 @@ struct tx_policy_cache { struct wfx_tx_priv { ktime_t xmit_timestamp; - struct ieee80211_key_conf *hw_key; -} __packed; +}; void wfx_tx_policy_init(struct wfx_vif *wvif); void wfx_tx_policy_upload_work(struct work_struct *work); From patchwork Thu Aug 20 15:58:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1348465 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=giQ+d6Nm; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BXTrV1NRVz9sR4 for ; Fri, 21 Aug 2020 02:00:26 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729601AbgHTQAX (ORCPT ); Thu, 20 Aug 2020 12:00:23 -0400 Received: from mail-dm6nam12on2046.outbound.protection.outlook.com ([40.107.243.46]:36576 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729530AbgHTQAB (ORCPT ); Thu, 20 Aug 2020 12:00:01 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LvE0E/j9ccyezFe4cyujVUKLipwms4n0YJ+4K+q9JJJvqaRuUY3ZR2T6QPvDGoFoXGIxDxvDo1gzDXzVHIUSnd421pp0c9TEZtw2PvyG5B5us3Lmt3KrJAmv0J32axFrzJbIAWM9Lsc/SofhjnP6r5IhbzHVgSugt/WFNPb5b1bO8M7MbXzACdbcMGe1zGk6NgGi494CtU5IG2YEp1e4WdAaGJdhqnIiZipqrowfaonxZJ8X+cKMb8ZoDSU/Ec2f7dXDq0VRGnmEQkItCVi3stK5AYeyBvb8MqKjfjsCjJrZJTEqAn+tIIDlqZ8EWVCQpKXfiOd+xmzaOoAbMvek9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y8gYD71gy7M3i6aldIw6atZ5i4c/cPN6j8VNbcXEVXE=; b=ikK5GLsjo1oX9iYugjGAUIeLIzn8w05/cnOZwsaBlOn57CtmGdVAvYOSNMZTKcl2tx7EnXYx3Jk+kG9pckx+Bmg8BpkYGfHfqvZa+kcApZMXAe+zI8/fFw3qfIpfbL5fSgMx8b4FMmyAdvFO5xak/I2NI2OrYIIaY30hGsGCAFVGbbSUZ1ClgqW79bU8XOefgQ027ankPEWUhrGst9NdY4uB6mDBINXtDZkg2Ylms0wTFNnFWq/DrV9+QENobf1AXuKCE+S60+uN4c59TducLPKLPwztgxfdBSn6EwbFD17OodvcNKIpVDf9N+pYLEYtjI45Pah+fz5Loiic3iFROw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=y8gYD71gy7M3i6aldIw6atZ5i4c/cPN6j8VNbcXEVXE=; b=giQ+d6NmbE/2Ii0ngdZ0uZ0tR+4reEvsDb/uxGkiWW/7Fuc4Mi38DhIvPoUvyToDIFxK/ndPJqTVotnv30aJLYij66Ye8tDOsSkuFyN/ZZ2k0h7JdUJwQcgY3K+U9ov5cb5DHSI0BeQu2Y8F8a93GA2lwMblELlrr47V7Ej2yK0= Authentication-Results: driverdev.osuosl.org; dkim=none (message not signed) header.d=none;driverdev.osuosl.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4541.namprd11.prod.outlook.com (2603:10b6:806:94::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 15:59:33 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6%4]) with mapi id 15.20.3305.026; Thu, 20 Aug 2020 15:59:33 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 07/12] staging: wfx: fix frame reordering Date: Thu, 20 Aug 2020 17:58:53 +0200 Message-Id: <20200820155858.351292-7-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> References: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from 255.255.255.255 (255.255.255.255) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Thu, 20 Aug 2020 15:59:32 +0000 X-Mailer: git-send-email 2.28.0 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a25de83f-7f8e-4226-0dfa-08d8452207b2 X-MS-TrafficTypeDiagnostic: SA0PR11MB4541: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JRe8xhAh4Yi8PVP7qr0BdQwCK1nPaoCjTIzaW07yNYzFj7+0VJXoTqMFdarEes+rWad25JXWgd8n9U+tQX8cyCgWcVYisw77o+jHl6tmQZ+ee+lD8flXzftXaku/nC9Vj3ux5rtTEETXYcKTgCqxT3GJqC8V207tBkJYhvfVVfMdMVzqo1KXD5zwkthwzNnvzeocslaWUE11r+R/EsVinEB4S32mw+09JmIJY6dPyK5CfHhtvS42ZP8RI4vbzyXgpFe+97RAzu7ZKFAUj7DUHf5hsBdjRKu1CK51M1dwIJJhLnFtPJaEaKK4P8iL4k7vT4gKfOB0n4EdhU252m0w2Fe+0QWiNzNb5SsUaAsniGiYL6TRVMJlzmPf1nYBDS60 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(346002)(136003)(186003)(6666004)(2906002)(8676002)(316002)(16576012)(54906003)(956004)(26005)(66574015)(8936002)(2616005)(110011004)(52116002)(83380400001)(107886003)(1076003)(5660300002)(478600001)(36756003)(4326008)(66476007)(66556008)(66946007)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: eF9jxYMvXsDS889+XqOzrxJshFXioqgU2S5HvpmShuG+QOyEJVMdCsMuCD+iWRPP/bM3G1FIw5eVHCcCuhBjW6FoKVIPEz7Kh7oB2UJ5cHEdwKrf65Jt/l3JksZF8Qyh8DRkIpNPo9tkl4RdxeM+HoAs6ZW+VUVqrjq4a3qw4nl6WPB6U6aQxmB7fEbcV2ttzwXQDXb2Qu0iZN5UdPgMaYAIw+MO2sE6lHKtsnG5HGAdFa3pEww6ZovAeajkA2a3RuxbPMOIKyhcQ0kUccDqKiPtQeKFtMIite9siUnMJ+ofnbrwuzSRqvHxnC6gsg9aptkUqJE8GflmDEQ4voqG0RC6qbRstgRr3y6FdsifNvaNqfWuGvdrhgaYsNkZdMH4mWMsybepUeuSQ4bF/3q4N4H3US1Uod6VBg7HLyQQaKuxiNMxzYrP4nGNU2Brkblj8s2YAGCaATXtWJhme+/rIbhfdE578VibnvyKyiWK5TYRp8W+ZAh2vgFdprVQH2ft8zJcq0jdPsOduGLEjtVYq2IZd/77T8kOZt8T0kPk07bREgc9elkhenYYDIS8NYyq73hS6+TIMpPKYmSY55MVK6wxutLjQIR8euc93xbv66oKMI0t+AeMYeAiOgb33Y5oVlm0ooi6zAf7GaWb3rzXAg== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: a25de83f-7f8e-4226-0dfa-08d8452207b2 X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2020 15:59:33.4648 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BxTVTuw0j9NjkRRrV4m/9wO4+08I5qBYk8G58UZSiMPArF/5gxvlhQYv7M230TALQLNEnEJwuPbhN0tApJWc9g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4541 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller When mac80211 debug is enabled, the trace below appears: [60744.340037] wlan0: Rx A-MPDU request on aa:bb:cc:97:60:24 tid 0 result -524 This imply that ___ieee80211_start_rx_ba_session will prematurely exit and frame reordering won't be enabled. Fixes: e5da5fbd77411 ("staging: wfx: fix CCMP/TKIP replay protection") Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/sta.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index 20db4bbdd901..b18a0b61b7c0 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -674,15 +674,16 @@ int wfx_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_ampdu_params *params) { - /* Aggregation is implemented fully in firmware, - * including block ack negotiation. Do not allow - * mac80211 stack to do anything: it interferes with - * the firmware. - */ - - /* Note that we still need this function stubbed. */ - - return -ENOTSUPP; + // Aggregation is implemented fully in firmware + switch (params->action) { + case IEEE80211_AMPDU_RX_START: + case IEEE80211_AMPDU_RX_STOP: + // Just acknowledge it to enable frame re-ordering + return 0; + default: + // Leave the firmware doing its business for tx aggregation + return -ENOTSUPP; + } } int wfx_add_chanctx(struct ieee80211_hw *hw, From patchwork Thu Aug 20 15:58:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1348466 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=ZoG5qIRy; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BXTrY5hK7z9sRN for ; Fri, 21 Aug 2020 02:00:29 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729635AbgHTQA3 (ORCPT ); Thu, 20 Aug 2020 12:00:29 -0400 Received: from mail-bn7nam10on2087.outbound.protection.outlook.com ([40.107.92.87]:47585 "EHLO NAM10-BN7-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729535AbgHTQAD (ORCPT ); Thu, 20 Aug 2020 12:00:03 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QxrL4hgL45qbgvs9EOLMyPncQtu6VCIJdMv5pqYKGZfyLLF3W0z9o0wPYYKFBdT8jaKYwRVulFnaDlZVnFgmqdSLOVGwcLtN0t+N8VeCBitPsyXSVfK3//i4yQUViH+rN+CESWS0ZuQE2DxoAf9e0uUU8MW/mjRIUEWfdKpVYU/7ihhyR9eTbDp7UYSnTXzhmRj/633RZXh/+sTkCyCOvzqhsh6Dxj7cofW7q0+BUct3POqKDGKumXjScFKAXexNl63a9YA5GGKaloUC1/EKhcMPGaHKL+TbE/LI94uCNoApCDqcbi5bmBoaBSC2wIqP6ftSGDXPywBOfBZYnSlkvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OeIL0It1fFIeWFpLR4Qcd4WkB9/MzX2laSvSJn+wd8A=; b=G0cmcUAGP4G9peWf9Yt0dgeAqYXQauAH9EtJO6he56iM/klsuGtHwpllWXYGL84Ot1U3EYQdJGCEWdZPDleqEAJt8JvSRz5XVPMbc5NT95knQILDPJJC2262JUrlcnhGFWzSl3YDCTXh0v30gJVR5qLMHJQz5i1Mb5uG+wf35JdIc9o/AiXNHW0F49ZIyUIvXlMgR25ei90ohjwRaWJrumevmrKVmhzSCFTf1NqrB8LJRqhcfsoDdvCuMLpd/9a2SJUYtX1Z958LXwP7IbAqV7If+Xfs073+76PUc33RuSbPXnjdynCadzJd+yMpbcDZ1e7WooSxSxSmw81yRnrIYg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OeIL0It1fFIeWFpLR4Qcd4WkB9/MzX2laSvSJn+wd8A=; b=ZoG5qIRyUvuqPBNJ48PNtxQrj4/61t5O6lllsb0at0QBo4AuWF5p1Os1U4ZIOYNQjBgIEWHQPBa4OsWusEahPFvjL6BAaO1Bxx29AKqaWZq87IR8emLtYzXwMIceTUULiFGWaEbpZRVDQYpt29UAV45BeEeeS/o7yI271vXXSJQ= Authentication-Results: driverdev.osuosl.org; dkim=none (message not signed) header.d=none;driverdev.osuosl.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4541.namprd11.prod.outlook.com (2603:10b6:806:94::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 15:59:35 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6%4]) with mapi id 15.20.3305.026; Thu, 20 Aug 2020 15:59:35 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 08/12] staging: wfx: fix potential use before init Date: Thu, 20 Aug 2020 17:58:54 +0200 Message-Id: <20200820155858.351292-8-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> References: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from 255.255.255.255 (255.255.255.255) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Thu, 20 Aug 2020 15:59:33 +0000 X-Mailer: git-send-email 2.28.0 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 01a56d60-64f4-45e6-aa07-08d8452208a6 X-MS-TrafficTypeDiagnostic: SA0PR11MB4541: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: l4KfWxHZhMzVfoMdnLF67OIXFZXOlWlaY3uY0PmN+Y5H+l6jPC6F2OS7kEuDy32b6+2qRcz0aMAerh8IWgx3gzWu/+bIrgtMGZxr7ykes++ZJS8DJyvkL5xEvC/gXsREuDkRknGRKpwButbMrA2YA6xF6Hy1pbg7VU8xoQsruR2HOOuQcmwyoXNb5p9pwSUeB9FufdhoVAoRQdYg2iB6yf9qq7cgP/RG52zmdXx1L+WmvTRC4j0DNjEVOcnLbUfH2GG/oGqd3yKOQ+eZLWU6C0NJ54EehBeu1em7edeOm0mkKM9XSq8LDoWbqCcUb89r8CR38W5n105x75Fxboml4rbKeHk3x6FaFmW+jkyL59GGU0P6HD+2uAt7bPRSUHZj X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(346002)(136003)(186003)(6666004)(2906002)(8676002)(316002)(16576012)(54906003)(956004)(26005)(66574015)(8936002)(2616005)(110011004)(52116002)(83380400001)(107886003)(1076003)(5660300002)(478600001)(36756003)(4326008)(66476007)(66556008)(66946007)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: mz39n78xERVLVUrtAOzIwduDGFIRCXLE3Bm1K/u4odlbWq9V1BgE+birwAo3OCmJypwX1NNjriHlBLK7+37BNgNq2uniQM0AFFiNDKlt+v4jBifzwfB3RYqmuzkjdipbjBMk/OPKO4W3+GMFeg5zd+ZYG1sjP37yEuz0mOgXVKlAnDcie7Xt0N205bgw4CUVnByo1lxzlYn49BT+34M3biRrDnXSGznAkqcQ3r7bufVs3o94+Inp1fY1dazSegg9c6yPftcH2skfg1rFh9nyrogwdQRjnHqbBbWrqWXCTM+7GGLayNxQNmTJXTN9tM1EE6Cncnk0aV+kaYsE5/wplDsMD45HS90Ny1uYzZEHwPkIEGyuaNNbaCGINkGG2ZN9d9/nDwGA9Pyf5I19kpJBdMYP3FHuJHNWyFV+tS8kZrjx02Yg+xhXlyRC+i3lLhkV57cKYDvyN+PbRrxC+TqrcETj/lJJ8MopMBYxrnJQEsaasiqt7xSuTT0HlnAQz0lCbbrpyP6P4As4hj7N1b5azLTbkBjNANRK5fMFFGUnVKGclLgYUOOuUQPBw/lHqgKrU5mF+bZ0dgKeoQAzOfRpotFRv0m5rJH5ZIaff+p5XvJ0CvhQb5TqGVJ7Fad/wgvnsZ1+bv58GXoCqLTI6H1fng== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01a56d60-64f4-45e6-aa07-08d8452208a6 X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2020 15:59:35.0999 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: sNmOKkbCdE+ra+q3ugRWFNYmZvc25LlKXzxgXLpezZsAwq7h/vj6Fh9d3HorKSEIxR6ptuOg2m58XJmaRcGM4A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4541 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller The trace below can appear: [83613.832200] INFO: trying to register non-static key. [83613.837248] the code is fine but needs lockdep annotation. [83613.842808] turning off the locking correctness validator. [83613.848375] CPU: 3 PID: 141 Comm: kworker/3:2H Tainted: G O 5.6.13-silabs15 #2 [83613.857019] Hardware name: BCM2835 [83613.860605] Workqueue: events_highpri bh_work [wfx] [83613.865552] Backtrace: [83613.868041] [] (dump_backtrace) from [] (show_stack+0x20/0x24) [83613.881463] [] (show_stack) from [] (dump_stack+0xe8/0x114) [83613.888882] [] (dump_stack) from [] (register_lock_class+0x748/0x768) [83613.905035] [] (register_lock_class) from [] (__lock_acquire+0x88/0x13dc) [83613.924192] [] (__lock_acquire) from [] (lock_acquire+0xe8/0x274) [83613.942644] [] (lock_acquire) from [] (_raw_spin_lock_irqsave+0x58/0x6c) [83613.961714] [] (_raw_spin_lock_irqsave) from [] (skb_dequeue+0x24/0x78) [83613.974967] [] (skb_dequeue) from [] (wfx_tx_queues_get+0x96c/0x1294 [wfx]) [83613.989728] [] (wfx_tx_queues_get [wfx]) from [] (bh_work+0x454/0x26d8 [wfx]) [83614.009337] [] (bh_work [wfx]) from [] (process_one_work+0x23c/0x7ec) [83614.028141] [] (process_one_work) from [] (worker_thread+0x4c/0x55c) [83614.046861] [] (worker_thread) from [] (kthread+0x138/0x168) [83614.064876] [] (kthread) from [] (ret_from_fork+0x14/0x20) [83614.072200] Exception stack(0xecad3fb0 to 0xecad3ff8) [83614.077323] 3fa0: 00000000 00000000 00000000 00000000 [83614.085620] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [83614.093914] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 Indeed, the code of wfx_add_interface() shows that the interface is enabled to early. So, the spinlock associated with some skb_queue may not yet initialized when wfx_tx_queues_get() is called. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/sta.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index b18a0b61b7c0..9b760fb574f8 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -753,17 +753,6 @@ int wfx_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) return -EOPNOTSUPP; } - for (i = 0; i < ARRAY_SIZE(wdev->vif); i++) { - if (!wdev->vif[i]) { - wdev->vif[i] = vif; - wvif->id = i; - break; - } - } - if (i == ARRAY_SIZE(wdev->vif)) { - mutex_unlock(&wdev->conf_mutex); - return -EOPNOTSUPP; - } // FIXME: prefer use of container_of() to get vif wvif->vif = vif; wvif->wdev = wdev; @@ -780,12 +769,22 @@ int wfx_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) init_completion(&wvif->scan_complete); INIT_WORK(&wvif->scan_work, wfx_hw_scan_work); - mutex_unlock(&wdev->conf_mutex); - - hif_set_macaddr(wvif, vif->addr); - wfx_tx_queues_init(wvif); wfx_tx_policy_init(wvif); + + for (i = 0; i < ARRAY_SIZE(wdev->vif); i++) { + if (!wdev->vif[i]) { + wdev->vif[i] = vif; + wvif->id = i; + break; + } + } + WARN(i == ARRAY_SIZE(wdev->vif), "try to instantiate more vif than supported"); + + hif_set_macaddr(wvif, vif->addr); + + mutex_unlock(&wdev->conf_mutex); + wvif = NULL; while ((wvif = wvif_iterate(wdev, wvif)) != NULL) { // Combo mode does not support Block Acks. We can re-enable them @@ -817,6 +816,7 @@ void wfx_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) wvif->vif = NULL; mutex_unlock(&wdev->conf_mutex); + wvif = NULL; while ((wvif = wvif_iterate(wdev, wvif)) != NULL) { // Combo mode does not support Block Acks. We can re-enable them From patchwork Thu Aug 20 15:58:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1348471 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=FExzpL0n; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BXTvC47zHz9sTQ for ; Fri, 21 Aug 2020 02:02:47 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729849AbgHTQCo (ORCPT ); Thu, 20 Aug 2020 12:02:44 -0400 Received: from mail-dm6nam12on2046.outbound.protection.outlook.com ([40.107.243.46]:36576 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729553AbgHTQAW (ORCPT ); Thu, 20 Aug 2020 12:00:22 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HJEqEOcHOIqDqsmTY7E+ERklFLIgc+Tg7h0ObsyVFwOYPv8CPy2Xd8U20vbM05/SomHep+bUqWk4MWXQ23YfZ8NpicIGl0n+9Fe73iE6jYeX0P3B3p8yk1sSblEMovY7BFGFJkmtfmK4lufqObhlnfRLLjcI69Ht45k3/zwTdAP5jNex0wm9SRqYw/PPJXQUZJAwhFzWvWX4NgOOxr/KCltFvJ5hyvGuGLDJxvuAJaM2CcgYROF+7spn8gw4WA3CThg21VoL9JY0nIjQlewigpGSCBiEzJL0k6JEmxfxtnB9cCnSkFZjJKPOjf9tXgOI5PCHv17b8va3Ofm7YGidZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UpyoGU4FzcSEiHvu1sHhSwYfCgw6bHk1zKFXGBQ+uEE=; b=CRZ3i9ibV5SqTMB3SOb2WSsfnB0elm4Vpi+8/E5WyctVTwoEutNYOSvOnrT0P8Hx3gOwNoHu8djg8F+kbDtj/GJbiJiTx2YRI6H+zJmVRLbjWPa3dC5+lMf+vrHtoQpGpB4TPf7OG4SuKVy06NQxWCuAnjLzndLZdIDoyjXPLWv+JmDB4U27G+N5wSVzD7POwIypMJTYHA30MosWA6vFDQY2o1ZvyRo/aPCyfPv4LboB4yALKdgP0YIGIevmtgkJ7jqCdVuH0R7Bnah/Wg/5X8tKMsWBAyzlW9tJ0Cq6hffVyUE+AmVFGMvx/Mz8687tGPmArK/1HWoUd/ykRm3PLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UpyoGU4FzcSEiHvu1sHhSwYfCgw6bHk1zKFXGBQ+uEE=; b=FExzpL0nxZVFIekvyd9j0UumrM5jJizJiNYdGSt7dA+1ZeFehqM91dXenWnTHn9DEEjh3+VoXFhgRCtEMo8UAMD/fVv4r1dJsbPqVrkWO+mEfrxMrrmKvfgbb0h4UoB+rKukXPrXqs+0DYK8W2yg126yaop3AW+GZCTQxCpB5FI= Authentication-Results: driverdev.osuosl.org; dkim=none (message not signed) header.d=none;driverdev.osuosl.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4541.namprd11.prod.outlook.com (2603:10b6:806:94::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 15:59:36 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6%4]) with mapi id 15.20.3305.026; Thu, 20 Aug 2020 15:59:36 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 09/12] staging: wfx: scan while AP is supported Date: Thu, 20 Aug 2020 17:58:55 +0200 Message-Id: <20200820155858.351292-9-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> References: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from 255.255.255.255 (255.255.255.255) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Thu, 20 Aug 2020 15:59:35 +0000 X-Mailer: git-send-email 2.28.0 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fe2c4bb8-49ea-4d45-d954-08d84522099f X-MS-TrafficTypeDiagnostic: SA0PR11MB4541: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:901; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jpPhfUaySdeMUwWO/1z5SLf7UvffPqmAeRibJgpoVUYZCX2+QxTC0LJJW2UACfT3Xkv/igGGhCfr26tUWbHnFU9/DvHEfxYIhEJp1zkYHrWZVnglEZ3X5WEzxbRSpyolSnEc8tp9tnilNsTs1E/gx0DX1NMnu61q1OPPK7+bvU8fV6Z5ErDeWiU68cjIQF3nDcrUlIor0X7658Ba7m+1TN/Ok+Ndu0lWzPWr/NtD3LU09Iuyi9/IEsDibyPY/6baPJwsbwdxZDQPZpUn7AqbYakEIU/iU8YSPZegpJsnQe8QWS2IJqPUnfNUBB9fKDBR9uCvW/7RgBffL+ECGvbAulErFy+slQwT8egzfOC9FK8HotdSjmLurrgmhIzj3eIV X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(346002)(136003)(186003)(6666004)(2906002)(8676002)(316002)(16576012)(54906003)(956004)(26005)(66574015)(8936002)(2616005)(110011004)(52116002)(83380400001)(107886003)(1076003)(5660300002)(478600001)(36756003)(4326008)(66476007)(66556008)(66946007)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: zq6AaBHPIMcS6+nvywatWBeOD7RVbiL3M8TYITeFcxzNDvYCeGkt5FAfb5wgDkNL++WEx7Bz4Yol5tTbqRCbTA2jzIiXofminMVSqfrXjcHt7h/HRsnMr6lrgoz9kUtnHSQ91ZEcq83Kd8BiTeFEuiiFYmjEE7OcfecdhosaTu8N4wMdL32zBfKKrAi/EtHu/ksTgqIhypDzVnduybvgNQuliSQHqgWiTb8TuSanUkmxVqOMGbiav4eRu0lwuojKkbGN+Nf1G/ItxOp6vyk8+poApxY+b/buzlIlVTxbPBYw0uCCK9W9hPHATanTGx/roM2m/hqlWCBdZEP2S/KLVyznWUITpZvRXfaZ81geKrjPhnNHxHnrEiHy19EuWhESo5HZYTFOc2ESCL/rgwU+sQPRx0Wde33/IF3e0gdhiJ14ncQbhr58pmOBn4U2HJpElRpbPx3kTJ0FHs6HaUDzp+14+8yyi/K3hmVHyA0pNXMwi5kvfcnDpRp2scax0lRiEwv6T/FDUV8E+W46Y/yzZMRD/Y8ucIivo7FBfCl1xb/OFNJbOefR6BU0jxXhfdrzU7QNYq3GeBRRXBHNBa4SOGt5cKMAGlPG7oLCSzsrMLCEBNMuvOKRoKhhRu2GAOrd0UuX1CpMmEadokKc97nUSg== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: fe2c4bb8-49ea-4d45-d954-08d84522099f X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2020 15:59:36.7219 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1b0sIAjJoHK5/9k7ajTYc6sb8YMAVWGwSoKg42nzUYZyE08mzhpR6DF8i008y4vv64XLALOzgHcxrdLakG2GNw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4541 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller The device is able to scan while running an Access Point. Just declare it. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/main.c | 1 + drivers/staging/wfx/scan.c | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/staging/wfx/main.c b/drivers/staging/wfx/main.c index 4263f912760b..5a3018e14445 100644 --- a/drivers/staging/wfx/main.c +++ b/drivers/staging/wfx/main.c @@ -282,6 +282,7 @@ struct wfx_dev *wfx_init_common(struct device *dev, NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 | NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P | NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U; + hw->wiphy->features |= NL80211_FEATURE_AP_SCAN; hw->wiphy->flags |= WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD; hw->wiphy->flags |= WIPHY_FLAG_AP_UAPSD; hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; diff --git a/drivers/staging/wfx/scan.c b/drivers/staging/wfx/scan.c index e9de19784865..02d4e653d594 100644 --- a/drivers/staging/wfx/scan.c +++ b/drivers/staging/wfx/scan.c @@ -113,10 +113,6 @@ int wfx_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; WARN_ON(hw_req->req.n_channels > HIF_API_MAX_NB_CHANNELS); - - if (vif->type == NL80211_IFTYPE_AP) - return -EOPNOTSUPP; - wvif->scan_req = hw_req; schedule_work(&wvif->scan_work); return 0; From patchwork Thu Aug 20 15:58:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1348470 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=OU/RdnLS; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BXTtf1D9bz9sRN for ; Fri, 21 Aug 2020 02:02:18 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729746AbgHTQCC (ORCPT ); Thu, 20 Aug 2020 12:02:02 -0400 Received: from mail-bn7nam10on2087.outbound.protection.outlook.com ([40.107.92.87]:47585 "EHLO NAM10-BN7-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729565AbgHTQAX (ORCPT ); Thu, 20 Aug 2020 12:00:23 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UCVDYpD7UgQNykUWi6co5jvdEuWFvebHpsl6ZyMW1ScKp78bnKao0/tvbd3xGhJYtCvrjAYnA0kKvZp6Ey5HuXZlwf8U50CcC7sqfiJXjioQfArr0Ao11hmCS0Vf/7BU0EhvsoF7TynYAK6RLQwM4jxtVaFfvcaNBPioZzb5OPsNGXKdS0dG8K/29Lwpl4z52HBjZ8YRzTqiuW1o393NgYyea3NsOsKyMBWBlqtF0V3RZv81sfsCKKeKy0lOhTEkdVPdfvF5TGkGXw7ouCVfBUTTBxOaMo1Gyh3e7BFZsqUWW/TL/24DVsnHR98uxJMdwBcMUBbpINSvB0YOhHRGHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=54rBtP5u0nh32OciXaVgs0skqMaNtbGtASNU92LkxqA=; b=UJjFFMlLSrFrPROwf2ubraJ6c99MgxYLYFodAn3PV29z291+pQLp2+lKblJ1vipFKXCHPwnCY7BQ4xD6NmqrTRtNt9/URMTmcXjzRRSydz3nlgA/3aB9t1GXXk++VmI0foiWTjM126lw56nGM6CBwOZRhsVJ988SRsvqiUHNfPDlz00HlMA6v5GFdHGTQ414ff2s3Qd+StGEGaaMq8A2sAsdkTQYYaPlivRWNjkl+9ihuU9qTYybsq4e/gvF25QBjTgEZEE+Vwzy7ibEbZaOCMRz9D1QuSJ5xBnAAK0cNZIyLC9D04PJr3s4hAjoNPcBoPGsHLYjyFfBTCK+AFIiGg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=54rBtP5u0nh32OciXaVgs0skqMaNtbGtASNU92LkxqA=; b=OU/RdnLS0ZP7KK1BJTclR8sV8/ilbj8OGBsMNC5niE+PMkLX7AGY/AcqDuRBqvy9CQbIdK83tYFSqq64lPiW7TdptYnnXbsbbJtBpcsk/X27CIxBmXfcp/BuGtWse25u8In0OyHwIM39LBO/+qLlCexa/NDC1NcsxWbBpfHQ6t8= Authentication-Results: driverdev.osuosl.org; dkim=none (message not signed) header.d=none;driverdev.osuosl.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4541.namprd11.prod.outlook.com (2603:10b6:806:94::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 15:59:38 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6%4]) with mapi id 15.20.3305.026; Thu, 20 Aug 2020 15:59:38 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 10/12] staging: wfx: enable powersave on probe Date: Thu, 20 Aug 2020 17:58:56 +0200 Message-Id: <20200820155858.351292-10-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> References: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from 255.255.255.255 (255.255.255.255) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Thu, 20 Aug 2020 15:59:36 +0000 X-Mailer: git-send-email 2.28.0 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: eb0095dc-721d-4d7e-beff-08d845220a96 X-MS-TrafficTypeDiagnostic: SA0PR11MB4541: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4502; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kicwAWBU7vWPQ/UmPH6HOgqcn6fDF/+f7dU+wqEJCNN6lTFg+6Dbh3Vey0s6reYzfWbgJ1FXbWJsE6bhcPY8mjb22TuGe1cSDqAGXmqml8VNbH9Y5XuWhL2CSygWDhtu8SXHOxFIJxkpm4sEhDy0u6y3HURjZxu5LQl1uAy8ftnZc3ck5CiOl3dN5AVpTtym2ovcmzgq16BllaI61G7T4RBVxogbe+m1xTRea6+hYXk4WXqNJ4Ael623vYSlhfUCagecMrQgcZlxCtHhYhJmaikRqRi2PQB1e1BcRpXjVNW8jvIdFhwhvvK7PY6mLJBWd16r+dI44/9ZEIFSZsRqH1QXDZ/Zr/pp994xD+NOY82fkANQ+ZrPnoDgSDU9ZcFe X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(346002)(136003)(186003)(6666004)(2906002)(8676002)(316002)(16576012)(54906003)(956004)(26005)(66574015)(8936002)(2616005)(110011004)(52116002)(83380400001)(107886003)(1076003)(4744005)(5660300002)(478600001)(36756003)(4326008)(66476007)(66556008)(66946007)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: M1/hw4xYXdcIWjCEtOTjSmr/ppfwYoG19OMBn8eOkrUWD58N9gztCxRoIvdTry6G9VifsxkjY7/IJ/zPP93uIEvBLPZhPGn1nVGbN5ZlSWTdIpTkhAUyaXmuFnboI5lGxVU9oHVqjhgSh+Dqz9cikcHgP+tJ+iIweCim1dO+c+hBilXmRvZ0YEOrNc2tlv0Qe+Xen/WP3+jyueRQS3SHMCY/BWKlbb45EWJxbDj8CzBIJjqdzQByz2ScEW6sUBW7gRtyrvv/i2vf+3PY9wZeGtp1h60P2PRmvhR6z7AXbWCviRWKvLvUT6NWMhlKjZbZjDtBmlx4inkc0Cn7XYpkw0n95i36PgIyQ42lJ7dfKMuTNcg4aMvk040flOLJHxk2cE0qwN2hxV4Pu+IoaIgnhajRUktrb8Dj0alw7dy+7xnCBz0o76v67rROXbm3AB/ob1LtouRg4LKO7WSDtfB11nx9IYtEfuqV/Uwf9KtnXQ4cRRZSiASkEiuYkn4eM82Pgc/dYIFNnp/c2k4Td7KEmyzLq7n+tDboNQuCsS3fjtqK6sWIrF/rDHM6xKN6SI2zA4i1MOr/iasV3HyPvDIb4DzwQgVvqmhmQxS7ME8AWaHbStyN6VW8+Hhfgt4sRcEZvmKKRwBuOKG/LeQaXcHj0g== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb0095dc-721d-4d7e-beff-08d845220a96 X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2020 15:59:38.5199 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KcWGWOU3mWXaUFkEMqOjZsn5KSmK3Q8o1islYDQOLwNsHuN9I69d4DHtuVpfFD+NFGoVqdc7TGsHkdQwlLqokQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4541 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller In the old days, ieee80211 powersave has some impact on the Rx speed. These problems are solved for a long time now. There is no more reason to not enabling it. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/main.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/wfx/main.c b/drivers/staging/wfx/main.c index 5a3018e14445..5e2b82499004 100644 --- a/drivers/staging/wfx/main.c +++ b/drivers/staging/wfx/main.c @@ -285,7 +285,6 @@ struct wfx_dev *wfx_init_common(struct device *dev, hw->wiphy->features |= NL80211_FEATURE_AP_SCAN; hw->wiphy->flags |= WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD; hw->wiphy->flags |= WIPHY_FLAG_AP_UAPSD; - hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; hw->wiphy->max_ap_assoc_sta = HIF_LINK_ID_MAX; hw->wiphy->max_scan_ssids = 2; hw->wiphy->max_scan_ie_len = IEEE80211_MAX_DATA_LEN; From patchwork Thu Aug 20 15:58:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1348467 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=KK9wmAS6; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BXTsY1vVcz9sTQ for ; Fri, 21 Aug 2020 02:01:21 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729703AbgHTQBP (ORCPT ); Thu, 20 Aug 2020 12:01:15 -0400 Received: from mail-dm6nam12on2046.outbound.protection.outlook.com ([40.107.243.46]:36576 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729665AbgHTQAh (ORCPT ); Thu, 20 Aug 2020 12:00:37 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZSM51jNejaqwl8wnNtDKMy5SpZ9Mqf5gOBHY6Y/E8NvTb7OuVZ/bUzkSS9PR4pQnXsp2qtvAJWnW+EGlhxMDuiltnA5ojhwCuwOZ7/Z8yDvZlauVcServLyJhOQuOCwQSaCsAbDbNEyKjDDcQmTskLAlX7cyfVsisd08IPOkhgTNLAr1CW6BErpXPeRiJT7Nq5pM2W9eCwLOVSjC0wqe70cStgoHj/u8pRFDGUZID+rcgte2iO0SApX4orX9ufJ/ArCg13bLBHCgVd5ob+veG5UAfU0oQQYXom2yUIun0ASAehM7CnqwkvedUtm+rtg0njDY5ThyUeCqZQVnFtgK4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lDRIEs3gitc7zye2/sfjgYma3wmW5ouz2V8A5vvj2vs=; b=aDF3E8jfyLdS4uhy5L5i2i/Dd2cmqQ4S9LNNP6FMs5rJ1uJg+OXD9EzCSrvFhi6botWtn0ifph3rEW/a+eLjIZU6EchKWlXxVqCY43BfcOY/AzWJuUswal5hT36sUXzC6eMx/4cCsi1ZFxUMM2aOXUCXOectyuKJS1mFmqLvidM0hYtCxcZTTpeEGcPExL2aXsR9RUK35wzAQbyxBKh1sJihy3dIdklSdMUG7AYmnwXEVByEv8LpPIVsDZfTdOgvbPUf92vtEKvwt7LGqlhOGTZ3+fWZWUFwLYSTnVwbFQI+d6aIj1jIsmzSY4P1+LJAAS5JK5v70SwABDvIqW9PUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lDRIEs3gitc7zye2/sfjgYma3wmW5ouz2V8A5vvj2vs=; b=KK9wmAS6wDXfNci3lJmJMVNMiTT855OEW76/gPYKcqOhYMDYKZOhiLhoQHR27+p44Sg/XDHMSDD8qzNvOtAVuulucLm1WCx+9xxF0ZpRb64MmtiBl1YSLZbt0cFTRUc49k09y4iK6qCgtqiiBDFg3VKQL5VsUQuy+WDIvdLYzKA= Authentication-Results: driverdev.osuosl.org; dkim=none (message not signed) header.d=none;driverdev.osuosl.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4541.namprd11.prod.outlook.com (2603:10b6:806:94::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 15:59:40 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6%4]) with mapi id 15.20.3305.026; Thu, 20 Aug 2020 15:59:40 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 11/12] staging: wfx: remove useless extra jiffy Date: Thu, 20 Aug 2020 17:58:57 +0200 Message-Id: <20200820155858.351292-11-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> References: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from 255.255.255.255 (255.255.255.255) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Thu, 20 Aug 2020 15:59:38 +0000 X-Mailer: git-send-email 2.28.0 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dc26b408-1ba3-4983-65f4-08d845220ba9 X-MS-TrafficTypeDiagnostic: SA0PR11MB4541: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SixdycYFZ/xjCe/nAjNkMMcA7fqn6JhcJoiFfFuYm16e75Q52C2BFnHLpmxRnbwWqeV/lhQ8w18t/auzhm9SZw0HvpxDs99Th5YronNBxd9zQD7/7P/HzhrowIkcaF5s2Goe15G0L0TlV+wXMaRUq8i/RWS6E1MquLMIIT4aMUcilO39g9/sB+2MOW5kSR5nKnY5ZuuxI/ae8DiN3vklORkOQgds+e2UPD251Eb8/BqZ7gsoZdPiPbnqIeUeP9skfDUpD+M/1jBYMgWqR7327nPMzQEh6FESdwRxInviktbN7xzLv9lGx6m3KD59G0mSPGxKMHCNBB35E8igah+/SXM5646CxZaLOw7zoUI4P9NVV7RsqbPnsF2VZZdERoeO X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(346002)(136003)(186003)(6666004)(2906002)(8676002)(316002)(16576012)(54906003)(956004)(26005)(66574015)(8936002)(2616005)(110011004)(52116002)(83380400001)(107886003)(1076003)(4744005)(5660300002)(478600001)(36756003)(4326008)(66476007)(66556008)(66946007)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: L1GGP7zSWtqzBT6ZYdhDc/UdR6fk5SgcGnxKkaC4HnDjbc9wbymk/UwE8+XnVcoBMav/Xq4ntTRGrH67bVLDm/8bUg4dE4u2oVykNzmX+qaFpnLEtJLezSjKK6v0t06cug6zWsl6hQGRwz3EWf6+A6rmHY16vouBCjE4NgWIH02yW7vhlRo8GH2fsdB9iVfECClxfCwzeoUv8bfI/fEk5rYzCkH2LfBmGO40I/gAoCElMZ4XBvf3DfLG0BKV/rzWs/PMaUgquCOtTtDqqu7yJ4IsXe6WHnM/tEsoT7RmL4QVyyUBQb8zSWex8vTKPgPpCBxfU0wFhNT8gxBr6m4yWmCQ6NhM/x6EKW77mHNdprXesJCRdHp8eIboz2vt3Y41gNXxUlLN0VU1ncqdIjhCZ9WhWWl3ztivL3BIH8TTkX4bnH9UIXKwi+XcCW9TorTLWMAlZQ+42S0MQqGjMCpXgmsxvWMmFvhmtqnzk7Ca4GifCYNJaXTw6ami5ukc6p3xif/M/f1Yg41j720r6IjWyKP2LnSHPy93yXVLGxKofumk7RbXR+0/6vYxBeDtiMuFH1TQ8KUAhWqKhxgk1VWsDfN9rMYxiOrPPTjcEGeid/Ur6nkJ9qiPBkSBUTAIks1eHcBryukRv3o+rw8OjybqLg== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc26b408-1ba3-4983-65f4-08d845220ba9 X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2020 15:59:40.2969 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2CPf1tmAGzgIZo5s5cl/JuMrQ7ZqKG8y+Vjdud9P0rJSikK56BkFslHpQH/BCK7+WdnFp7QYbl+mYoc7fJvo6Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4541 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller The initial developer has feared msecs_to_jiffies() could round down the result. However, the documentation of msecs_to_jiffies() says that the result is rounded upward. So the increment of the result of msecs_to_jiffies() is not necessary. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/bh.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/wfx/bh.c b/drivers/staging/wfx/bh.c index 53ae0b5abcdd..07304a80c29b 100644 --- a/drivers/staging/wfx/bh.c +++ b/drivers/staging/wfx/bh.c @@ -33,7 +33,7 @@ static void device_wakeup(struct wfx_dev *wdev) // wait_for_completion_done_timeout()). So we have to emulate // it. if (wait_for_completion_timeout(&wdev->hif.ctrl_ready, - msecs_to_jiffies(2) + 1)) + msecs_to_jiffies(2))) complete(&wdev->hif.ctrl_ready); else dev_err(wdev->dev, "timeout while wake up chip\n"); From patchwork Thu Aug 20 15:58:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 1348469 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-silabs-onmicrosoft-com header.b=K01bQjyv; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BXTt46n4cz9sR4 for ; Fri, 21 Aug 2020 02:01:48 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729413AbgHTQBk (ORCPT ); Thu, 20 Aug 2020 12:01:40 -0400 Received: from mail-bn7nam10on2087.outbound.protection.outlook.com ([40.107.92.87]:47585 "EHLO NAM10-BN7-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728603AbgHTQAp (ORCPT ); Thu, 20 Aug 2020 12:00:45 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gGSruB/KuPLCWnDMq728ZojBRHX+vtBQglzQMtUUTlXJ5k1s7iWbXQl8GKotdaLZ2UA9tPyBopdK61BiEk9SnIwP/3R98f3KGp9+MVkAxd5qsb1M8jioaLlb8FsdfSqGUr520E7vmeaf0QtG/gZ77UI6cI+YhnNtBomAHypIVczBTl8+t4x5vdrf62NrAv/d7cr7ovZOGG+39ZDXBkJ8lR9d85dhVeW9DSwaB/m3w1Fb6FwOjqJaSteY/RWkzQewX93cFmpbxYFvSStEoblh/cKi2dMxdfec5S326VgRpzawAMtSqhBCqaMHoHD4WodJvICPTdGIRJ/G26rMdrbhEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vnx1LDN0uuuMoQM1TsWcaSizN1CAv69/PathJt1c3xk=; b=EKYPjxHqIWNHdS9xDYujBZ7d7+NAvHtlKYTK9RDpkBUXNLrFw4rnGNV3jrEv+on++ujhQ3n+RwJ6vPQbF1KkD4RlqxCYXEQ7pgqn3E02Pj+4Da6FqU3Z5/P7BSsxakOtG9sM56vOJg6qBblEDnTukjEIDh1WtknNVn4aFDMTaiABVfbwahFXbPLNr05Q6UkL0bxC76WkGOJzsbKKeM4Bgh/1QKki+kelbu/2nTAaBGQPbBUWw+BgY0AvvocZPVZpjPYgdocrI/3pd2r/hs5SNTgR5uDtq4kuBf/+fQMsbi814Y6x+Ko4/KZFgy/uVw3+Ok+u2FR2tWQYfVoiLiUhcg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vnx1LDN0uuuMoQM1TsWcaSizN1CAv69/PathJt1c3xk=; b=K01bQjyvj1PJ7XAcaRVBIiFGz6xSlQc+7AcM4FxmsAnu+08X5IOkUzNH44IwIlqY2UOixPqdRwt38xU6/21b9g+mbm2QG89Ng7KEEBfradv3PkSjq14wpJ/RSEPIMDoSJWViHF0HkTm5glK28OKHoS7HMWQcp3VRmzVRd0RIZXM= Authentication-Results: driverdev.osuosl.org; dkim=none (message not signed) header.d=none;driverdev.osuosl.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4541.namprd11.prod.outlook.com (2603:10b6:806:94::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.25; Thu, 20 Aug 2020 15:59:42 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::85c9:1aa9:aeab:3fa6%4]) with mapi id 15.20.3305.026; Thu, 20 Aug 2020 15:59:42 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 12/12] staging: wfx: add workaround for 'timeout while wake up chip' Date: Thu, 20 Aug 2020 17:58:58 +0200 Message-Id: <20200820155858.351292-12-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> References: <20200820155858.351292-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from 255.255.255.255 (255.255.255.255) by PR0P264CA0122.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3305.24 via Frontend Transport; Thu, 20 Aug 2020 15:59:40 +0000 X-Mailer: git-send-email 2.28.0 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8a1a4a50-e580-4d53-bed7-08d845220cbb X-MS-TrafficTypeDiagnostic: SA0PR11MB4541: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pZtDQQBqpgNhl+ybQ6PX4Yt95mVhW9LRQqJT/O2OqrABC1DkmsC916Wi+0kW/W6sub+btkj4NRuQsSc8cV/Fcowz5YD14UOHfh1EiK/1QqPFdJJPjuidzEVnhLrns/8wUKoZ79gyOXIx3O0fbsV4fJ1zCR+RFfuypaeWXKb17MvekFeTVbK81WnwArQBQ0zm24YxoJGF0lKl8wruUdj5zxXEikXUyPeMNw+dxJN7MCXolxgm5jb3aBAmIxePdJHwZbPcyfbyZP2DrShtpK4rhBUwMk/26K15Qbc0DHAu2cImnKF/US4VDMGHzP8QCzKI1KXhzW7Y05fMxzgKF1eE5K5vVyLY+FfNk4JRNYKxRAzE6jK+PDAHO5fcG148IJyY X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39850400004)(366004)(346002)(136003)(186003)(6666004)(2906002)(8676002)(316002)(16576012)(54906003)(956004)(26005)(66574015)(8936002)(2616005)(110011004)(52116002)(83380400001)(107886003)(1076003)(5660300002)(478600001)(36756003)(4326008)(66476007)(66556008)(66946007)(86362001)(6486002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: E9gMyB7a8DkMDl5KQCMlHWRffYV8WrWv7wmqm1VTvEDTRInKKsWw97yRsRv5MxR38Pas4oPAmIMRAHFP7JJ7/Of5KgSU8chQzEKrj7m4redUhAx9y4j+Kvu0Fl/vGO4qikZFOvEI+XetJDYFOAAkTG15EulB+KcPe7DopELLq+OCmJbRlKLQztER5DwB4T9q/Uds36LU/iz/bi9D8V+QOgz1RyG68sEBxucSDAHAVwFnFg2flTn+ZdKh4kYxsNzpgsGYxafvJ+tQXUj0OO1t2tUiBFYQHqMI5fVpR36u7dTA4smzNgHpwKIx5lj3Qvk9Hb6bEptziN5bFSGi1BF1hWDHBcrC9QlKtlrQfGjY8fRuJlftL3b270fKlyOwzpRS4N9YqTUD+FU15Ic9fLrfOw69wXW8AkS0RDKndrTDkdsN8HLUPSvJe59ziYUZe8YbqBsHKK9QvOs9O33VWZdJiEn4d/+PJ2ato6vQYf4fkAJm5SWTug1W+5mJhcIrTKkwLchPrFqoyIn7X3/KDHdoVXpBJFVXMF4A+imu9UFVT5VVbQAdvLUsMjObPmBNmyKpsRGrVkJarjG2pWW1665IzmzYQ9urVaFuNxTnf8euv9OgYed820FXvAaZyTpY4aZgtASjenhapfTIEv9yC7n30w== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a1a4a50-e580-4d53-bed7-08d845220cbb X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2020 15:59:41.9309 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ckeZJ/7WWX2HFIlaYLiPQo8SqiNyqCTUilpsniWVQAKDc1nG58MV/0os3XSjUk/9Pts6Ncv+U0HHh0Suyy9xSA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4541 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller The host and the device can be connected with a called Wake-Up GPIO. When the host fall down this GPIO, it allows the device to enter in deep sleep and no communication with the device is no more possible (the device wakes up automatically on DTIM and fetch data if necessary). So, before to communicate with the device, the driver have to raise the Wake-up GPIO and then wait for an IRQ from the device. Unfortunately, old firmwares have a race in sleep/wake-up process and the device may never wake up. In this case, the IRQ is not sent and driver complains with "timeout while wake up chip". Then, the driver tries anyway to access the bus and an other error is raised by the bus. Fortunately, when the bug occurs, it is possible to fall down the IRQ and the device will eventually finish the sleep process. Then the driver can wake it up normally. The patch implements that workaround and add a retry limit in case something goes very wrong. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/bh.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/drivers/staging/wfx/bh.c b/drivers/staging/wfx/bh.c index 07304a80c29b..f07bcee50e3f 100644 --- a/drivers/staging/wfx/bh.c +++ b/drivers/staging/wfx/bh.c @@ -18,25 +18,40 @@ static void device_wakeup(struct wfx_dev *wdev) { + int max_retry = 3; + if (!wdev->pdata.gpio_wakeup) return; if (gpiod_get_value_cansleep(wdev->pdata.gpio_wakeup)) return; - gpiod_set_value_cansleep(wdev->pdata.gpio_wakeup, 1); if (wfx_api_older_than(wdev, 1, 4)) { + gpiod_set_value_cansleep(wdev->pdata.gpio_wakeup, 1); if (!completion_done(&wdev->hif.ctrl_ready)) usleep_range(2000, 2500); - } else { + return; + } + for (;;) { + gpiod_set_value_cansleep(wdev->pdata.gpio_wakeup, 1); // completion.h does not provide any function to wait // completion without consume it (a kind of // wait_for_completion_done_timeout()). So we have to emulate // it. if (wait_for_completion_timeout(&wdev->hif.ctrl_ready, - msecs_to_jiffies(2))) + msecs_to_jiffies(2))) { complete(&wdev->hif.ctrl_ready); - else + return; + } else if (max_retry-- > 0) { + // Older firmwares have a race in sleep/wake-up process. + // Redo the process is sufficient to unfreeze the + // chip. dev_err(wdev->dev, "timeout while wake up chip\n"); + gpiod_set_value_cansleep(wdev->pdata.gpio_wakeup, 0); + usleep_range(2000, 2500); + } else { + dev_err(wdev->dev, "max wake-up retries reached\n"); + return; + } } }