From patchwork Mon Dec 16 17:03:32 2019 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: 1210600 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.b="hexRjsA/"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47c7006zYZz9sRM for ; Tue, 17 Dec 2019 04:03:44 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726794AbfLPRDn (ORCPT ); Mon, 16 Dec 2019 12:03:43 -0500 Received: from mail-eopbgr750081.outbound.protection.outlook.com ([40.107.75.81]:59109 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726734AbfLPRDj (ORCPT ); Mon, 16 Dec 2019 12:03:39 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A27zLjkrDy41zlPtBLx/CUtlre64tRZ6Zsuv1/1sfxQd6UQ8VgHJC4HWzYu9ARhv5runBJbFri5XJzZ+pQzQhnEM6sbzxNRhvFvH5QMdVt+ZhsnN75zRfIyoivEHGAYmGHYr+Crlhc+wGx6uavD+LR0OFt/pDcg4UwO65JRc5+k3aQtrigBsm5PCnI6P5MR24Z6nWPwubd/geU785+IEkRa9cvM+tk3pHh/SsDJNnVLgA9FAgO/1qhCFuMCrXocGmOehdcvy0nVJstSK/HLfUn+qpNNiG/N0Pzfp5kfD2tEzFHst5pjtycHD+q/yIYd0Hd00be6+LETOIOpBP+c8MQ== 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=HrhJNLV26dwYY9hsU5laaqgoVc1C4ZbdwdDOzXxA/CQ=; b=mvyiwv0rgEr2TlI/9xi6J+PMWJfJ6ytbrvKEor/SKu/tT7migQK23+BsBC0lK+PK5AX26APREYuItB/DeAa2tJUs/uUrR+XBs5KjlGLwCysMUxiNATlyLEPQ96VHLkzHB7YeroSweOEq6vzndgjXsgeztUdV62NrtdrKstPoIn/KLgk+yHJE/ck9WtU8An8Lnet/IHn2DVZcyqhGWAPtdnOY0VNzW0bm11W/6+SaRoD2y9XQQqPn7cYhVch62uF+4SenJXAC2Xa+8k2nWrYSxLemTaBfNjIIDqCF00tJWIh0+H23S6MJNM3Nibnr99yqLdsd7qXVNy8i830sAflSQw== 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=HrhJNLV26dwYY9hsU5laaqgoVc1C4ZbdwdDOzXxA/CQ=; b=hexRjsA/H6MZm3s84l4rldCh5zcTWr276eNJRXifoyVtyGFnBSjjzajYJRkGzfBFY5b+5ZNxLYHzlBG7EH6nNBOjC/fiU3yLreLVOpatkFWiBKm7uMaP4TD8sA3ZUhN/7Qq/d6ogoYDyT014qqt82MdCCIl9unmeUkn9S6tkFSI= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (10.255.180.22) by MN2PR11MB3838.namprd11.prod.outlook.com (20.178.252.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2538.19; Mon, 16 Dec 2019 17:03:33 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::f46c:e5b4:2a85:f0bf]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::f46c:e5b4:2a85:f0bf%4]) with mapi id 15.20.2538.019; Mon, 16 Dec 2019 17:03:33 +0000 From: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= 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?SsOpcsO0bWUgUG91?= =?utf-8?q?iller?= Subject: [PATCH 00/55] Improve wfx driver Thread-Topic: [PATCH 00/55] Improve wfx driver Thread-Index: AQHVtDK/Pw1odw7dKEKAJDpO2fyI2w== Date: Mon, 16 Dec 2019 17:03:32 +0000 Message-ID: <20191216170302.29543-1-Jerome.Pouiller@silabs.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Jerome.Pouiller@silabs.com; x-originating-ip: [37.71.187.125] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: aee7b519-53fe-4005-f5e0-08d78249e1e0 x-ms-traffictypediagnostic: MN2PR11MB3838: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-forefront-prvs: 02530BD3AA x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(346002)(136003)(39860400002)(396003)(366004)(189003)(199004)(53754006)(85202003)(8936002)(81166006)(8676002)(54906003)(110136005)(316002)(85182001)(6506007)(186003)(2906002)(5660300002)(6512007)(26005)(107886003)(81156014)(36756003)(4326008)(2616005)(76116006)(91956017)(64756008)(66556008)(66476007)(66946007)(71200400001)(86362001)(66446008)(6486002)(478600001)(1076003)(66574012); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB3838; H:MN2PR11MB4063.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; 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: kMz5rhXAf3zavAhumnHjeKNduYUJ79uVm8jtYPth0fJNcS5yUJtpoS7Yh5YDPTxwmuug4UNqL0vxtMw1uRsC49bXyhRWblNhIcq2qH8mcKs1UHnZkhz9CZXbRTrRnJmsHsje3s/+aJr/xCHQNLCCucS1TAz9r/M1NV/tmNfP2Uwi8a9E9x3qq5j0mhHw3FDnTgNBxYLGZAbsGkYMVuzFKXHmq8WyXuAk7Bgh9zV0OF7qT2Wbc1ZFzbD0ni58lI4RooHdgUlleXhK4XEBeUF3T757VOhhTWkwMpCM/5S6OMagOvNssRMiulNsXoad42oJCfasQK6X1r8IVmaOm3LtdvfdLAEgWVSNpPMFXAsGqveqlyQGXwk7jXpZPg9HYAJdd0RwoEh57cNpLD5GKuQYGHqFBN4xHPt2WIGmmJhdLQZJy7zbENMCn/Qny4d/S4X4i/OSSk0NmyCUAb8yppG+cS8nj2jml2cRlq6XjFBfFtGx3/p1KnswTPPeP5Ip87s4 Content-ID: MIME-Version: 1.0 X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: aee7b519-53fe-4005-f5e0-08d78249e1e0 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Dec 2019 17:03:32.9105 (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: KiEzFqL7w90S8OTe68mtgJEKsW00cqaU/XP8u3uvhWjeXxPMP5YGaeX72Vh1o75j3evUCD9F4yzE6W6bcnPz5w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3838 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller Hello all, This pull request continue to clean up the wfx driver. It can be more or less divided in four parts: - 0001 to 0009 fix some issues (should be included in 5.5?) - 0010 to 0028 mostly contains cosmetics changes - 0029 to 0043 re-work power save (in station mode) and QoS - 0044 to 0054 re-work the scan process The last patch updates the TODO with a more precise list. I included references to discussions I have had on mailing lists, in order to not forget them. I started the first items of the list and I hope to be able to send another (smaller) pull request in 2-3 weeks. Jérôme Pouiller (55): staging: wfx: fix the cache of rate policies on interface reset staging: wfx: fix case of lack of tx_retry_policies staging: wfx: fix counter overflow staging: wfx: use boolean appropriately staging: wfx: firmware does not support more than 32 total retries staging: wfx: fix rate control handling staging: wfx: ensure that retry policy always fallbacks to MCS0 / 1Mbps staging: wfx: detect race condition in WEP authentication staging: wfx: fix hif_set_mfp() with big endian hosts staging: wfx: fix wrong error message staging: wfx: increase SPI bus frequency limit staging: wfx: don't print useless error messages staging: wfx: avoid double warning when no more tx policy are available staging: wfx: improve error message on unexpected confirmation staging: wfx: take advantage of IS_ERR_OR_NULL() staging: wfx: uniformize naming rule staging: wfx: use meaningful names for CFG_BYTE_ORDER_* staging: wfx: remove useless include staging: wfx: simplify variable assignment staging: wfx: make conditions easier to read staging: wfx: ensure that traces never modify arguments staging: wfx: ensure that received hif messages are never modified staging: wfx: fix typo in "num_of_ssi_ds" staging: wfx: fix typo in "num_i_es" staging: wfx: fix name of struct hif_req_start_scan_alt staging: wfx: improve API of hif_req_join->infrastructure_bss_mode staging: wfx: better naming for hif_req_join->short_preamble staging: wfx: better naming for hif_mib_set_association_mode->greenfield staging: wfx: simplify handling of tx_lock in wfx_do_join() staging: wfx: firmware already handle powersave mode during scan staging: wfx: declare wfx_set_pm() static staging: wfx: drop useless argument from wfx_set_pm() staging: wfx: remove redundant test while calling wfx_update_pm() staging: wfx: drop unnecessary wvif->powersave_mode staging: wfx: do not try to save call to hif_set_pm() staging: wfx: fix pm_mode timeout staging: wfx: simplify wfx_conf_tx() staging: wfx: prefer a bitmask instead of an array of boolean staging: wfx: simplify hif_set_uapsd_info() usage staging: wfx: simplify hif_set_pm() usage staging: wfx: drop struct wfx_edca_params staging: wfx: remove unnecessary EDCA initialisation staging: wfx: simplify hif_set_edca_queue_params() usage staging: wfx: hif_scan() never fails staging: wfx: device already handle sleep mode during scan staging: wfx: drop useless wfx_scan_complete() staging: wfx: simplify hif_scan() usage staging: wfx: introduce update_probe_tmpl() staging: wfx: simplify hif_set_template_frame() usage staging: wfx: rewrite wfx_hw_scan() staging: wfx: workaround bug with "iw scan" staging: wfx: delayed_unjoin cannot happen staging: wfx: delayed_link_loss cannot happen staging: wfx: implement cancel_hw_scan() staging: wfx: update TODO drivers/staging/wfx/TODO | 78 +++++-- drivers/staging/wfx/bh.c | 3 +- drivers/staging/wfx/bus_spi.c | 9 +- drivers/staging/wfx/data_rx.c | 8 +- drivers/staging/wfx/data_rx.h | 4 +- drivers/staging/wfx/data_tx.c | 40 +++- drivers/staging/wfx/data_tx.h | 7 +- drivers/staging/wfx/fwio.c | 28 +-- drivers/staging/wfx/hif_api_cmd.h | 32 +-- drivers/staging/wfx/hif_api_mib.h | 13 +- drivers/staging/wfx/hif_rx.c | 103 +++++---- drivers/staging/wfx/hif_tx.c | 105 +++++---- drivers/staging/wfx/hif_tx.h | 17 +- drivers/staging/wfx/hif_tx_mib.h | 27 ++- drivers/staging/wfx/hwio.h | 15 +- drivers/staging/wfx/main.c | 5 +- drivers/staging/wfx/queue.c | 9 +- drivers/staging/wfx/scan.c | 325 +++++++-------------------- drivers/staging/wfx/scan.h | 25 +-- drivers/staging/wfx/secure_link.h | 8 +- drivers/staging/wfx/sta.c | 353 ++++++++---------------------- drivers/staging/wfx/sta.h | 9 +- drivers/staging/wfx/traces.h | 14 +- drivers/staging/wfx/wfx.h | 18 +- 24 files changed, 505 insertions(+), 750 deletions(-)