From patchwork Fri May 15 08:33:17 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: 1290948 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=kdTav/fZ; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 49NhYl3Fdwz9sTc for ; Fri, 15 May 2020 18:35:23 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728488AbgEOIfV (ORCPT ); Fri, 15 May 2020 04:35:21 -0400 Received: from mail-dm6nam11on2086.outbound.protection.outlook.com ([40.107.223.86]:6138 "EHLO NAM11-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728270AbgEOIeY (ORCPT ); Fri, 15 May 2020 04:34:24 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ScwwXEfV/KkR54B7d8ErHT/5b7sOVDm1FnGgOSG2KliRqaUQK42ecsdQ728o/MfHocwWGzN+52D8SkwCVTb46qptnh46hMVXfo6xogOEko3qpKD6eV3u+3+poqLO6FImWXQcDfwYH+OSbRWpC7zFa6yXlFoADta0cWI3KG8b4kAQtYeJ+Z4APnhzIbeCuGL5taOzCkCEUQmQzuTMT1vnCFdVyct315z2+tFtT/nT9fKHiQ0GT0W05PB4gcwV5vxmxI3F7zjAmZgwYchAfN7uqhbeFqdBDOXPhJjd9SiEcBZAbsGK+sgwmjDfjwpunCgYU9vTkXW5ptuoY3H8a62law== 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=T1KsEeVqMBr+/ebPyiN3ljP2PGoIgoaLYOBcpxbcrOw=; b=eT8ack5uarry2KRXNC0qy9jfdxm7WOXJoPq4RJ9fN67+ST1IcHdOmHTaUh1J6BFrxwXTp1+GbfScwPRO6mLNSVebYXJmuAkocqMumuXYYo3FRz80CmuSpK4NuPAVQV7P5wqaSGhiK3y5RBPxpFHy2GgZFAREe6G6WTDLgbDDHhdxj0qqyD41rDLlbULiBjwcmRMU1eBrwr1sIuQC2DtFbP/whvRaC7QacDVN1D0PG6lkJkoX8gmxlRTaexVVRsCGBYUJsN0xM7NpZ9hejF8M8mi57pnwXmr+dN7cKwrfFZ6VQn/Ar6EAhdmwgGnKqJqpVz6+v9QFAzP9MLkPlXNRNA== 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=T1KsEeVqMBr+/ebPyiN3ljP2PGoIgoaLYOBcpxbcrOw=; b=kdTav/fZy1uOgfHjQ64vxncOqS1aw4lG18OYwl4bBt6zaUjBLK0V0tMorbrPahyVlAHmD7FxXB7BW6ZEnSA/1Ke5i6qQJq3IxzCrzzUiNluQmj/2n+Dw9SXeJM35ds+oLCY6AGEMghxsxifHK0sBiU239brCPqj/Clgm0fgRP9s= 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 MWHPR11MB1775.namprd11.prod.outlook.com (2603:10b6:300:10e::14) by MWHPR11MB1310.namprd11.prod.outlook.com (2603:10b6:300:28::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.26; Fri, 15 May 2020 08:34:09 +0000 Received: from MWHPR11MB1775.namprd11.prod.outlook.com ([fe80::e055:3e6d:ff4:56da]) by MWHPR11MB1775.namprd11.prod.outlook.com ([fe80::e055:3e6d:ff4:56da%5]) with mapi id 15.20.3000.022; Fri, 15 May 2020 08:34:09 +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/19] staging: wfx: rename wfx_do_unjoin() into wfx_reset() Date: Fri, 15 May 2020 10:33:17 +0200 Message-Id: <20200515083325.378539-12-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200515083325.378539-1-Jerome.Pouiller@silabs.com> References: <20200515083325.378539-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0076.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::16) To MWHPR11MB1775.namprd11.prod.outlook.com (2603:10b6:300:10e::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from pc-42.home (82.67.86.106) by PR0P264CA0076.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.24 via Frontend Transport; Fri, 15 May 2020 08:34:07 +0000 X-Mailer: git-send-email 2.26.2 X-Originating-IP: [82.67.86.106] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 29607120-9d94-4515-4e45-08d7f8aabceb X-MS-TrafficTypeDiagnostic: MWHPR11MB1310: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-Forefront-PRVS: 04041A2886 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MpacTwfz80ffgfmYG50vIYjWGmVAhIoaeojKEwlNBA65XLiOcVr+MLeBp9iTsYybvTd02IjxPowtFc/GYoCS+oaAyQgsTSLFzbwrOQbZgbSft9GOsHFcUDG5T8qkffoAWu/9C6jBevCnISqvT1UOy0e59KN6lhzjkvN/1dYOpgSf4wQ8U4AZFn7nP+K+nkhK/dSd5m+o7vQenjBGEDAR9A6UkxmXMTBjLX0CZhYDLqouvmalU8Osda6IOeG62zssUzcHmZzz4CnVsBXuc5EHCHwo3D8vbbwnujzeKYLJflVu2xjmE1nUgWByrjq1iZGqujmBr/4TUVjRtuuTDgBUvBF0G0EWqhN87ofHFAPP7EUoOYgwWotmeKNmJwu4DocdKTZA6N+1iCoAyqJQgBsmujPKqUyBeoOKBwJ3Q/gq42COi74e49XMYJnFDMs2F6Ek X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1775.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(346002)(136003)(376002)(366004)(39850400004)(396003)(8886007)(66556008)(186003)(6512007)(66946007)(6506007)(36756003)(316002)(66476007)(26005)(52116002)(16526019)(6666004)(54906003)(2906002)(2616005)(478600001)(66574014)(107886003)(956004)(8936002)(86362001)(8676002)(6486002)(5660300002)(4326008)(1076003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: wi4a1l+jRG+ZOG3251G1mTU6LvL8mqfdfTMoIZkLFM+qLbp36giC5o85fqSTDjLqwTLLQ/dRQdlhpFSgtzcO/jSF+uXMGzNUuMgaU/FCGQXIYK/iAwvSOdK3Grg5w4briGv3Jr1xJcq0o1G6FdLxbHHMVThsZIB+Lbv/7xSnysd5meJXp4PUCipsUd4odnO3tp4KGopdzfGoPL79b7sel8SDPJL9EOg68Tgn2ajiaI8PqUOgMnki9QFs1grRRmSN5RwE/zElunYQbqqrcMz7+ALNE9bI5dS+yX1oOHtZO9VuNa/JxZHXTITb/TXPfF0eZQXLpnPBsrntL/82kljGQRPozLC3WI6ChW8WL0WT2qGVN1k9KGhAvm1cd9P7jmWhfdoxsod71q/P5erpFq6tw9ShyPXn5M0jN0Mz+SPuqGEURcmRCQR4FQOkoivriPSVvTdE3ZqAB9TIyi3IW6Lh5mb5KDe2QSu2FGYAYGoRhcw= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 29607120-9d94-4515-4e45-08d7f8aabceb X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2020 08:34:09.5200 (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: JGf9KnfMA7NVDFVfd0Gh/2iMh/9k4KUYYQJtVM/2oNd/LS0i63SQN7H5MH+LnPGsQEZV/CbDdqY9Ly74cLtPig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1310 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller In fact, wfx_do_unjoin() resets the interface. This mechanism can be used in more cases than just disassociating from a BSS. So, rename it to reflect that fact. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/sta.c | 32 +++++++++++++++----------------- drivers/staging/wfx/sta.h | 1 + 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index 1a876a0faaf5..e077f42b62dc 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -315,20 +315,6 @@ void wfx_set_default_unicast_key(struct ieee80211_hw *hw, hif_wep_default_key_id(wvif, idx); } -// Call it with wdev->conf_mutex locked -static void wfx_do_unjoin(struct wfx_vif *wvif) -{ - /* Unjoin is a reset. */ - wfx_tx_lock_flush(wvif->wdev); - hif_reset(wvif, false); - wfx_tx_policy_init(wvif); - if (wvif_count(wvif->wdev) <= 1) - hif_set_block_ack_policy(wvif, 0xFF, 0xFF); - wfx_tx_unlock(wvif->wdev); - wvif->bss_not_support_ps_poll = false; - cancel_delayed_work_sync(&wvif->beacon_loss_work); -} - static void wfx_set_mfp(struct wfx_vif *wvif, struct cfg80211_bss *bss) { @@ -359,6 +345,18 @@ static void wfx_set_mfp(struct wfx_vif *wvif, hif_set_mfp(wvif, mfpc, mfpr); } +void wfx_reset(struct wfx_vif *wvif) +{ + wfx_tx_lock_flush(wvif->wdev); + hif_reset(wvif, false); + wfx_tx_policy_init(wvif); + if (wvif_count(wvif->wdev) <= 1) + hif_set_block_ack_policy(wvif, 0xFF, 0xFF); + wfx_tx_unlock(wvif->wdev); + wvif->bss_not_support_ps_poll = false; + cancel_delayed_work_sync(&wvif->beacon_loss_work); +} + static void wfx_do_join(struct wfx_vif *wvif) { int ret; @@ -395,7 +393,7 @@ static void wfx_do_join(struct wfx_vif *wvif) ret = hif_join(wvif, conf, wvif->channel, ssid, ssidlen); if (ret) { ieee80211_connection_loss(wvif->vif); - wfx_do_unjoin(wvif); + wfx_reset(wvif); } else { /* Due to beacon filtering it is possible that the * AP's beacon is not known for the mac80211 stack. @@ -513,7 +511,7 @@ void wfx_leave_ibss(struct ieee80211_hw *hw, struct ieee80211_vif *vif) { struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; - wfx_do_unjoin(wvif); + wfx_reset(wvif); } static void wfx_enable_beacon(struct wfx_vif *wvif, bool enable) @@ -580,7 +578,7 @@ void wfx_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, if (info->assoc || info->ibss_joined) wfx_join_finalize(wvif, info); else if (!info->assoc && vif->type == NL80211_IFTYPE_STATION) - wfx_do_unjoin(wvif); + wfx_reset(wvif); else dev_warn(wdev->dev, "%s: misunderstood change: ASSOC\n", __func__); diff --git a/drivers/staging/wfx/sta.h b/drivers/staging/wfx/sta.h index c84c3749ec4f..8a20ad9ae017 100644 --- a/drivers/staging/wfx/sta.h +++ b/drivers/staging/wfx/sta.h @@ -71,6 +71,7 @@ void wfx_suspend_resume_mc(struct wfx_vif *wvif, enum sta_notify_cmd cmd); void wfx_event_report_rssi(struct wfx_vif *wvif, u8 raw_rcpi_rssi); // Other Helpers +void wfx_reset(struct wfx_vif *wvif); u32 wfx_rate_mask_to_hw(struct wfx_dev *wdev, u32 rates); #endif /* WFX_STA_H */