From patchwork Fri Apr 10 13:32:28 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: 1269094 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=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; 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=pqIZmvDD; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 48zJsM3hcvz9sT0 for ; Fri, 10 Apr 2020 23:34:47 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727329AbgDJNen (ORCPT ); Fri, 10 Apr 2020 09:34:43 -0400 Received: from mail-dm6nam12on2082.outbound.protection.outlook.com ([40.107.243.82]:31903 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726843AbgDJNdY (ORCPT ); Fri, 10 Apr 2020 09:33:24 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iZ+hR93Q9HSVbae9YZJqR50jMhm+63VhleorFk11KbyWGGnPbiYQGQ8wF/x2TdsqHuPYYE99E1t0J4+FeUGDx9bIFmDNWknikM0imPnnjPFcrm06gvBNitgEnFOYJcPcjmntLpfP/V3aFNICG5z2DIk4SfJGS+w2CttAvdw6LKVwuzOUykO4gB9zx6vXMlcRokful/xaI4PZO2QFHMULCH4IHA9XLzunTgrHuE1wLKjfw8AaxgpT3+TcksQ/EvD0qZLxEOuiIMqmPbT4aR9EWiUMQBISF4pXGW1gg3kyeoXMvzLA/ilMPGbwcOLNAdC5ohZ+v3D7o/a/GSpcvjpjJA== 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=yu5CxUPaR/7YO+Aqu4ylkWT9SCgtsS7xMkFIQU23T0U=; b=WJPWKnk7ht7xV4txT5J6WJUtRmWEPv1U6G8q8sBtUrgSHEdFtSYtJGS8Sdtm/wdSsriaYpm36JRFseltp0FDqHvMVIX3rkqtAj899CqGUtQ4t81AztyHVw+xyaBJU9gsVCd2h0+sEOF79v23Dl3lbbugc0TDb/SEyw+edReygIeSjeYYUFGWueYrFMaIhITVdFvT5+864zEWtYJDzkLW/mZrDXgriE/NRpPwZrgjfARBD8nLhBxWr62ddT93HPjQjzE1NCXcNKchJ9Dzg5P/97p9/WI/IU1WcaAlIVABD1XW/aBQASfSZTeeWnifElBsqN6ylfIkf7qQ8iXRnPnZmQ== 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=yu5CxUPaR/7YO+Aqu4ylkWT9SCgtsS7xMkFIQU23T0U=; b=pqIZmvDDOAKp5v/BwDmu1FfJc6E6SzLaRUndozw/kBhSH9CnxfxUdNXIh9T8+B5wb5wdmESpm/L3WtoCWngFzxy1pk8VwMpzU45TKS3JSjBhmFlvZ+8XywcL37RXiAb1rUh0ubYnZJy7ybZoJR3Lq90PrkkK304RgW+Y/wIWDR4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerome.Pouiller@silabs.com; Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB4398.namprd11.prod.outlook.com (2603:10b6:208:18b::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.20; Fri, 10 Apr 2020 13:33:14 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::3d0a:d9ac:3df4:8b1]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::3d0a:d9ac:3df4:8b1%6]) with mapi id 15.20.2878.021; Fri, 10 Apr 2020 13:33:14 +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/19] staging: wfx: fix support for BSS_CHANGED_KEEP_ALIVE Date: Fri, 10 Apr 2020 15:32:28 +0200 Message-Id: <20200410133239.438347-9-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200410133239.438347-1-Jerome.Pouiller@silabs.com> References: <20200410133239.438347-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: DM5PR15CA0056.namprd15.prod.outlook.com (2603:10b6:3:ae::18) To MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from pc-42.silabs.com (2a01:e35:2435:66a0:1265:30ff:fefd:6e7f) by DM5PR15CA0056.namprd15.prod.outlook.com (2603:10b6:3:ae::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2900.15 via Frontend Transport; Fri, 10 Apr 2020 13:33:12 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [2a01:e35:2435:66a0:1265:30ff:fefd:6e7f] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c1d5f853-21c8-45d9-0bfe-08d7dd53b841 X-MS-TrafficTypeDiagnostic: MN2PR11MB4398: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3631; X-Forefront-PRVS: 0369E8196C X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(366004)(346002)(396003)(136003)(39850400004)(376002)(107886003)(81156014)(54906003)(8676002)(86362001)(1076003)(6666004)(8936002)(4326008)(52116002)(66574012)(7696005)(316002)(66556008)(66946007)(186003)(478600001)(2906002)(6486002)(2616005)(66476007)(16526019)(5660300002)(36756003); DIR:OUT; SFP:1101; Received-SPF: None (protection.outlook.com: silabs.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: c5NZAt/ODpNKv2IBAi3PZyldCseizbNW0u4bKFf1oQuWrwozK+qDSvX+x9OhmV2D76M+138ATzgxU5gZK9Ge4mki1voFHhuBQwNX9QNmyuELmo590FJSQW9PdqUDwuFMuW1YYdDDe/f+PicxX1fUhZzRMVUChJbWNqoiMsNty+7yE2Oe4n8MylF5bWRHuN4hF0ZctVbsMaQRfzFGVJW1Rvg2QEO+e2eNPIavJw2BNUPpAWlUVwkN1FOX+LjF9cRY6PScm0QhxE/PgLvIeQGNjVIu6okP3PCw1aS5fwbS7fnsjAANfa3tptKwIpOgmXirztYCTdjISnG0OLpgcPofqotVEXG3ecErMRY4b4tJE0Itv+rWZUKzq+N1fz6f02jiE48geJpwoMwf0KSCSxfIYv7vrei/N7Pak+8ihORxBKqBlso+tJ02PK0S87RdPACo X-MS-Exchange-AntiSpam-MessageData: Rujnk6esPtAm1QHjH0Ds6KM9974EhwPv1iN6p40Jy1cr1ZMiH02iDb6Th+XiN2xE4vfbWZvVlm8vv8YXR4tY84FNjQS+cdgpHmN5KzMNcIl3lPrfOkcLwNJvSzOiZ6mzteXsFjkFU2ubrTFkTDFjUVP2HMsmUZbhSqFYdFGkl6eDtooswaAyqSTfKt4EAjHxuW6cxbNjqBrgxclqJw1e4g== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: c1d5f853-21c8-45d9-0bfe-08d7dd53b841 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2020 13:33:14.2877 (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: fS+tAPpoM1YRAZl450Kc9CnsWM/1rhUES7aYSlyu4Cuyg65hK6YYuhiBDMpb3DFU649uvL5RE7NvqNKJcWo0cw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4398 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller Chip firmware is able to send periodic null frames to keep the association with the AP. The driver arbitrary set this period to 30sec. We prefer to rely on BSS_CHANGED_KEEP_ALIVE that provide a true value. Note that if BSS_CHANGED_KEEP_ALIVE is not received, we just disable keep_alive feature. It is not very disturbing since AP will probably ping the station before to disconnect it. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/sta.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index 7693ce22f300..67e16c435848 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -646,7 +646,7 @@ static void wfx_join_finalize(struct wfx_vif *wvif, if (!info->ibss_joined) { wvif->state = WFX_STATE_STA; - hif_keep_alive_period(wvif, 30 /* sec */); + hif_keep_alive_period(wvif, 0); hif_set_bss_params(wvif, &wvif->bss_params); hif_set_beacon_wakeup_period(wvif, info->dtim_period, info->dtim_period); @@ -728,6 +728,10 @@ void wfx_bss_info_changed(struct ieee80211_hw *hw, __func__); } + if (changed & BSS_CHANGED_KEEP_ALIVE) + hif_keep_alive_period(wvif, info->max_idle_period * + USEC_PER_TU / USEC_PER_MSEC); + if (changed & BSS_CHANGED_ASSOC || changed & BSS_CHANGED_ERP_CTS_PROT || changed & BSS_CHANGED_ERP_PREAMBLE) {