From patchwork Tue Dec 17 16:15:38 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: 1211498 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.b="hJ4AJ0Lj"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47cjtt4vk1z9sRh for ; Wed, 18 Dec 2019 03:16:22 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729264AbfLQQQR (ORCPT ); Tue, 17 Dec 2019 11:16:17 -0500 Received: from mail-dm6nam12on2072.outbound.protection.outlook.com ([40.107.243.72]:33729 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728642AbfLQQQQ (ORCPT ); Tue, 17 Dec 2019 11:16:16 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qq3pnEtudPC0OsI+CTrGex6mHpTyrXQJs0+yKlT4F70qMpJvCV8r5QFwrArTODPf0AB5XpUBeOLHwXCd5zwPrqcRysldwnO2idZy7++wx5l5C63+VQvwxnAkzkYIxF/PtgBdCltk+hp1W1GgjNwf6nYt/28ehBBc/UwHyJ9gTiiGzCVY3kgvDlL9bpi7EBKuHdbwksUnBRUavE90J+pYLYU9mZs9csjLYtIBW0v8bFAnqxYiys4LxaNLfFK3biz2KAD0mpSds77MQ5M0odpvqnZPXf9Oe/H3IZXo28np7xRdeGDCvWHmbl9ih7vtoX6dOzuO0Jo9zw+t9j2ZHCSnBw== 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=pBmCupR+XfI8OUMBZwe9ajX+xNfE7EuQEetv3O31LBQ=; b=W6hcz9DlR82/7m2VZ9vyKG6I7Fat84lzu1s7mLbNczDjidoZFxgFUsvOmQhgvKMrfzqUxt04Mckp/gxdz9tRM5qMRCFeVjzFZIwt4uqr3bLwh5uP0UF/ux56RRBiBXRDvjwZbUsx++pArMYdWhbnS/NxMKXdNxWUuEDb8GcO4Cmi70a8LEluCmk3IwL4T+CfRpbyz7EHYhtj6WTsE4LzPZrmqjBhGwIejh0RR7PU1I6Ds1Hf/6UDpERKqzY+5nXXEdx14e7TWxif6vm3d+z/UIKi03svcOhU68FzX/BeDNJBzOLalPILJu2/tnMNEJ0eevsRvlnDp4dmEVA6XVH9jA== 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=pBmCupR+XfI8OUMBZwe9ajX+xNfE7EuQEetv3O31LBQ=; b=hJ4AJ0Lj4xtSYZqdIxs90e7cH3++PHa2IoKPo5bujlbOd0F6B3A1SX/EhJFxIGszBOI7Bq6tRx0XekDM/mLWCLr2oj1bzNx2DHIz8AwZWjGNOr0XWEoXfo3o1aCommVRdTMwGAEOeW8QQqIcZ9Gt3TOJSDrYKsVbmPV0T6TiXUo= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (10.255.180.22) by MN2PR11MB4477.namprd11.prod.outlook.com (52.135.36.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2538.17; Tue, 17 Dec 2019 16:16:02 +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; Tue, 17 Dec 2019 16:16:02 +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 v2 52/55] staging: wfx: delayed_unjoin cannot happen Thread-Topic: [PATCH v2 52/55] staging: wfx: delayed_unjoin cannot happen Thread-Index: AQHVtPU4StV4QnRFhEulRZOnDeUv5Q== Date: Tue, 17 Dec 2019 16:15:38 +0000 Message-ID: <20191217161318.31402-53-Jerome.Pouiller@silabs.com> References: <20191217161318.31402-1-Jerome.Pouiller@silabs.com> In-Reply-To: <20191217161318.31402-1-Jerome.Pouiller@silabs.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: PR0P264CA0174.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::18) To MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Jerome.Pouiller@silabs.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.24.0 x-originating-ip: [37.71.187.125] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 560a8ec3-ce4b-4781-31ec-08d7830c5ae9 x-ms-traffictypediagnostic: MN2PR11MB4477: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4714; x-forefront-prvs: 02543CD7CD x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(346002)(396003)(136003)(366004)(39860400002)(199004)(189003)(1076003)(66574012)(186003)(107886003)(8676002)(6506007)(86362001)(478600001)(85182001)(5660300002)(81156014)(26005)(4326008)(6486002)(8936002)(316002)(110136005)(54906003)(64756008)(66446008)(66946007)(2616005)(66556008)(66476007)(85202003)(36756003)(6512007)(2906002)(52116002)(6666004)(71200400001)(81166006); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB4477; H:MN2PR11MB4063.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX: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: PMEc9ycfGc0ybDXiTU8L/wjWn4oktSBAQx/EaygEKnRWZ8wzpVYB110ytO+E2O2HsXD+e50b7b9ww3CZWje7BtRfBV+ednKp08gHNBlBU9ZVxeI2MVLVXsWET+HV8TopPRrIYAJVe4UmSbCa68+WoAaOZWZsnVnK7J0pOHtNUhykbeBQzmG7ob1Jg4hCvULDoGMHII82kcefYF3ZPmHYjRg0vyeUuZCuCDNjOy+qqKRL88Y0DZ9g06SASlx+PEsZynnzGmf24EnfJNKWLekXVy7TU1i8iJ2GyDWRXcz00MXAuqFOkDX/D1TLtIW3DEJ7gE1/HabFGjJXA/k+yfUvMGjXqUJ5JMyaMzHx0AjDBWI8cACeLoZkH+UcM7A/ySYm0Hj7rjIii2izzjcseohGu8+1r1BbFQf5Yze83Kj8saflLjpsY+wlghclMgFBczm7 Content-ID: MIME-Version: 1.0 X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 560a8ec3-ce4b-4781-31ec-08d7830c5ae9 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Dec 2019 16:15:38.6281 (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: UILzeyrL5vP9YQLvKiCbzE+q5cfB+7bSzQAJ+ET26HdqfsJKgCpy+4uyIp8o6OCVkCGoOAyU0VG7KDz3oxzGqg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4477 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jérôme Pouiller Original code allows to detect an unjoin request during a scan and delaying the unjoin request. However, it is far easier to just block the unjoin request until the end of the scan request. In fact, it is already the case since scan and unjoin are protected by conf_mutex. So, currently, the handling of delayed_unjoin is just dead code. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/scan.c | 7 +------ drivers/staging/wfx/sta.c | 14 -------------- drivers/staging/wfx/wfx.h | 1 - 3 files changed, 1 insertion(+), 21 deletions(-) diff --git a/drivers/staging/wfx/scan.c b/drivers/staging/wfx/scan.c index 540009b72240..bdbce6926e91 100644 --- a/drivers/staging/wfx/scan.c +++ b/drivers/staging/wfx/scan.c @@ -95,12 +95,7 @@ void wfx_hw_scan_work(struct work_struct *work) mutex_unlock(&wvif->wdev->conf_mutex); mutex_unlock(&wvif->scan_lock); __ieee80211_scan_completed_compat(wvif->wdev->hw, ret < 0); - if (wvif->delayed_unjoin) { - wvif->delayed_unjoin = false; - wfx_tx_lock(wvif->wdev); - if (!schedule_work(&wvif->unjoin_work)) - wfx_tx_unlock(wvif->wdev); - } else if (wvif->delayed_link_loss) { + if (wvif->delayed_link_loss) { wvif->delayed_link_loss = false; wfx_cqm_bssloss_sm(wvif, 1, 0, 0); } diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index 4354bb8081c5..7ae763e96455 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -66,10 +66,6 @@ void wfx_cqm_bssloss_sm(struct wfx_vif *wvif, int init, int good, int bad) wvif->delayed_link_loss = 0; cancel_work_sync(&wvif->bss_params_work); - /* If we have a pending unjoin */ - if (wvif->delayed_unjoin) - goto end; - if (init) { schedule_delayed_work(&wvif->bss_loss_work, HZ); wvif->bss_loss_state = 0; @@ -501,16 +497,6 @@ static void wfx_do_unjoin(struct wfx_vif *wvif) { mutex_lock(&wvif->wdev->conf_mutex); - if (!mutex_trylock(&wvif->scan_lock)) { - if (wvif->delayed_unjoin) - dev_dbg(wvif->wdev->dev, - "delayed unjoin is already scheduled\n"); - else - wvif->delayed_unjoin = true; - goto done; - } - mutex_unlock(&wvif->scan_lock); - wvif->delayed_link_loss = false; if (!wvif->state) diff --git a/drivers/staging/wfx/wfx.h b/drivers/staging/wfx/wfx.h index b5f763c3fac7..5e7c911db024 100644 --- a/drivers/staging/wfx/wfx.h +++ b/drivers/staging/wfx/wfx.h @@ -122,7 +122,6 @@ struct wfx_vif { struct work_struct set_cts_work; int join_complete_status; - bool delayed_unjoin; struct work_struct unjoin_work; /* avoid some operations in parallel with scan */