From patchwork Tue Mar 10 10:13: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: 216334 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4717CC18E5A for ; Tue, 10 Mar 2020 10:14:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1543120637 for ; Tue, 10 Mar 2020 10:14:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.b="OifI80rw" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726443AbgCJKOS (ORCPT ); Tue, 10 Mar 2020 06:14:18 -0400 Received: from mail-bn8nam12on2076.outbound.protection.outlook.com ([40.107.237.76]:6032 "EHLO NAM12-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726316AbgCJKOR (ORCPT ); Tue, 10 Mar 2020 06:14:17 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hv1lWLJ5JG8fqa/KY1otiFKA915NDh6VwnJNX55EkJs9EcGnrIH8HT7nQDPsJlY2eHFQ9aundXCwn6ntRXkGWhV5Y55D4fjKLnVC6VTNwlGWi3S9RerLgJsSMOWZl8yXtsL5GGV6pxtT5rZlWEUusXrx3gmxxQoV1/KBfc8xhQOQ31gPGH3qKqDq/a6ik/U5neEF2jI+eSMvSpP2E6Rf17Jqg+VSBl1oaqytgR4hqUYi53BrdPuGubuR+5R1Rx7KCLVrrXLiR2DCh7v1YTAIavX86I697k92btDZEbX7br1X4wPayU3CVYc43wkfv9u0FqtEgGa/cMvMhJHP6DMOkQ== 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=rY0qJf+PC3z1CAdSUCmy7DUXCKeTQ6KLeudf/6A3J7A=; b=QJfDzbFSz/QD8eXz+JQyz+OqF6pAOo5OEjfHTYZWX+YIFXHjo+/fiKsilpLb/GpeuVoG8V8Pjimo4l+hFEVVGCaYxgOKn1iWuuw+Qv+W9upnwCDzYEABRSjgRsJBo+OPO2CjRYqO1AUc4R+AbBYhrtkQV3hbtrg1bKBTY7Njc6uCqHAcoK3M9xCa6z7EXVkiy3WSuNu4KkGBGqn6z5D2rvsP5mFhhmqwT2+pyUha8FNcmpoKXIMIX6E0TlHpEZxqmBRLSTwggxGyd6JcHKYPpAkqQkfhC8qjXwR+jjyJVBqCK0uM/PRCH2oVBKZPlRUV9lYRGQ3ZWfG0turQnWovvg== 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=rY0qJf+PC3z1CAdSUCmy7DUXCKeTQ6KLeudf/6A3J7A=; b=OifI80rwFr48Ju+XyjKL1fEMCV4S7tzNe5OWRM+gAQZ6ZS1ZDMQWV1wwoEDWVHqCXY/ozEkpkVX5oCWg4bbNmz/VZC6NRO9hcW8lkC6v8m66TeCmz6MBLxyMHRH7Rj4a30gDCREw89in7850UYxNUW/dnRqd+/SqULMVOeUoPA0= 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 MN2PR11MB3615.namprd11.prod.outlook.com (2603:10b6:208:ec::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.17; Tue, 10 Mar 2020 10:14:14 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::ade4:5702:1c8b:a2b3]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::ade4:5702:1c8b:a2b3%7]) with mapi id 15.20.2793.013; Tue, 10 Mar 2020 10:14: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 1/5] staging: wfx: fix warning about freeing in-use mutex during device unregister Date: Tue, 10 Mar 2020 11:13:52 +0100 Message-Id: <20200310101356.182818-2-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200310101356.182818-1-Jerome.Pouiller@silabs.com> References: <20200310101356.182818-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0180.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::24) 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 (37.71.187.125) by PR0P264CA0180.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.14 via Frontend Transport; Tue, 10 Mar 2020 10:14:13 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f6741a84-bd41-4207-70ae-08d7c4dbc906 X-MS-TrafficTypeDiagnostic: MN2PR11MB3615: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5236; X-Forefront-PRVS: 033857D0BD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39850400004)(136003)(366004)(376002)(396003)(346002)(189003)(199004)(6666004)(52116002)(5660300002)(2616005)(86362001)(316002)(956004)(36756003)(478600001)(4744005)(7696005)(8936002)(54906003)(4326008)(16526019)(186003)(26005)(6486002)(66574012)(66946007)(8676002)(1076003)(81166006)(2906002)(66476007)(81156014)(66556008)(107886003); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB3615; 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: DXCkY/6SGnZvNxSZcByR6mQ9EyLmW+Y1nHTtWBJlZFEFxbBbHwT0cxbAlhBOP7Zlh+g+T8yHBxJuvaMZuPvuUel6O8CNtkkupWhyRERrqI9wknpmTjHQbqaAAG5KH+wDQRl+UnydpZas09bpQ6ZbPWg9EPzPeeCYLNVMD50HxxUMPRhvAhCwmpCPziO7OqAuZB5aYG0Ws/lTDOqHqwvqC7PJS+gNpFEgJmaBv7JUjSUMwEMNSjMMvrOeyXsb+PGezGnoC3PYqRLWtd3DdrowzTcp+Wh4vpbrTb6xsNXH6PFTA3ue9+HtsC1U5rY8l7i05QZhEuq66yfZWP+8q5tTmwg0YPngn/TfgksNectziyu+8cU2lbpLHTr0shBecVKvQWKBF7W0X91llBw4CSN9/3jrdy9FZYhr5tRt4t36ygjqrgNiqpucH/BNEqPFoeEY X-MS-Exchange-AntiSpam-MessageData: vjfCw9P9gqXx04nMUb0gD+L8XpbYerJQIUSmxB+NS4e9yHGbbM1fcsCn/slsT8TpOITv1WZ1ZH9ixXmI14GlqPfsowRAlVTfgRD82RqjWjluGg2XA603HxxzlIN6ylQyJAjYCUvmGavQycMYGEHyfw== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: f6741a84-bd41-4207-70ae-08d7c4dbc906 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2020 10:14:14.8407 (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: ksikP+gNt/SL2Bqr7DpgTBdBWBxGlEAUknsoyP5do7HYvW2d5yQJ9cpXf89H3NrScSVYn2ECOU9fwjjKprv9DQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3615 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Jérôme Pouiller After hif_shutdown(), communication with the chip is no more possible. It the only request that never reply. Therefore, hif_cmd.lock is never unlocked. hif_shutdown() unlock itself hif_cmd.lock to avoid a potential warning during disposal of device. hif_cmd.key_renew_lock should also been unlocked for the same reason. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/hif_tx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/wfx/hif_tx.c b/drivers/staging/wfx/hif_tx.c index 2428363371fa..7b732c531a74 100644 --- a/drivers/staging/wfx/hif_tx.c +++ b/drivers/staging/wfx/hif_tx.c @@ -140,6 +140,7 @@ int hif_shutdown(struct wfx_dev *wdev) else control_reg_write(wdev, 0); mutex_unlock(&wdev->hif_cmd.lock); + mutex_unlock(&wdev->hif_cmd.key_renew_lock); kfree(hif); return ret; } From patchwork Tue Mar 10 10:13: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: 216332 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6E9CBC18E5A for ; Tue, 10 Mar 2020 10:14:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4313D24682 for ; Tue, 10 Mar 2020 10:14:42 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.b="ThuVeOkP" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726716AbgCJKOh (ORCPT ); Tue, 10 Mar 2020 06:14:37 -0400 Received: from mail-bn8nam12on2076.outbound.protection.outlook.com ([40.107.237.76]:6032 "EHLO NAM12-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726497AbgCJKOT (ORCPT ); Tue, 10 Mar 2020 06:14:19 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EIv1cIVskUl5DYxYG/LzDl4b86A7G45dxJ09rYOI4cYnfwHkLEbTBf3RrYz9XURKFENCP8EEhV3mPkaJlpImveorDr1MXjpo05oYIdlc8ZrOlrM8kCKbwKbA5WCWkHImfQtVJIvcleIB8jpFkCElsXOdT55J6FCGDEVA4TeP0WYq72m3zhVwPtVvnAlvPoA1KN3PxYSZbxyGU5LMs/QTLWYH9xR/q5uJ2FKtZZL+wAQ+Ye7bVP74PTyX9mLF8n7KbFzEPxAwpjlXchtdbq9+bfh7jAvI8USyMashjGpeg/1vY6L9XW64mR43k2IauM6szygbFAoEf05xwQ9uxSICqA== 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=tEiXM4RgjoTsKZD+k+9ZSFAwwt/P0IZUfRj6U2E6o4Q=; b=iw+4VWjeec9jhdJk2oFQvpyHF9T/3P5tnEE6f2Jv9ugG57PCyKQNQq7D+cgDmmEFGM6aIy4K4ksjOAyUFKeR/g7z2+IqMc1LM2jpokS3qKLZUZHe2xU5I8ZPZqgqSG6e6vak9nEvpCo8LcWuoOluJ3lRGlnCniO6ISe4XfyIg7Qnr/SQtg1/qvT9hJY2GtIvGjPTP5fwNLvc9DfZCGH3/a/8VZyvQhTxvKeDSk+BMeJfSvgh5Y5x2tJ/gozQyP/Jav6G1KbtFTc8v3y11dV/penJqXzTfk7RVvVyDtVS8nnGWtYGSAgrkqkvzDQDef2p0YSdlYx5pkDO2QAuNsbymA== 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=tEiXM4RgjoTsKZD+k+9ZSFAwwt/P0IZUfRj6U2E6o4Q=; b=ThuVeOkPrJkbwdU8uIM+QqI0gWXA/zlyHAGO7RfvhbuaCJxhi+t0kH+kHAUkFcgsHmM6LcuAk2yxwWyTzWjAJ9PxbU4Gz6HeizLAxG4laLvfMgn324AKQ3l0wf67qehT+KbaBVCxQy7lu0BzLA2HpI7WhrCnJ47Kobn9THSxHiY= 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 MN2PR11MB3615.namprd11.prod.outlook.com (2603:10b6:208:ec::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.17; Tue, 10 Mar 2020 10:14:17 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::ade4:5702:1c8b:a2b3]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::ade4:5702:1c8b:a2b3%7]) with mapi id 15.20.2793.013; Tue, 10 Mar 2020 10:14:17 +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 3/5] staging: wfx: make warning about pending frame less scary Date: Tue, 10 Mar 2020 11:13:54 +0100 Message-Id: <20200310101356.182818-4-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200310101356.182818-1-Jerome.Pouiller@silabs.com> References: <20200310101356.182818-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0180.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::24) 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 (37.71.187.125) by PR0P264CA0180.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.14 via Frontend Transport; Tue, 10 Mar 2020 10:14:16 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9fd79580-3387-410e-0c68-08d7c4dbcabb X-MS-TrafficTypeDiagnostic: MN2PR11MB3615: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1388; X-Forefront-PRVS: 033857D0BD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39850400004)(136003)(366004)(376002)(396003)(346002)(189003)(199004)(6666004)(52116002)(5660300002)(2616005)(86362001)(316002)(956004)(36756003)(478600001)(4744005)(7696005)(8936002)(54906003)(4326008)(16526019)(186003)(26005)(6486002)(66574012)(66946007)(8676002)(1076003)(81166006)(2906002)(66476007)(81156014)(66556008)(107886003); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB3615; 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: rkrRkcAE+o1/t7wJPMHUS7dEDLjhzZxE4cjOdQGIxm8BEbA2odgf5BXeSM2gb5fiebY87NA4dW0JPuGe4REiPQ/0bG3cA0svvKMJsE1+R3C0SGigefTx2uPJeP0++FaFYAC+kedybAEU8cVIV1pU3jK39f9xZBJKz2cQpNk1InV9mtcJYtWx4VU25vlZvHoZ3lxnKu7h0sClOqLpG9NnIFbKP7u42Yc+QggrU7ko7C3thn2UsSua5VbrbF6+vtoN7VD21rob7qRTScnmn0NYWmyboywEg2JspY3vhzzYKgwBDugxJdIqdmrYcBClCAJt7w4zrrfUJy2t73A3JjokHRF1vlMsWmsJtW1SQq/6zSbzzWj9TSUXAvlw1syuiVAgwujwzfw0EwIG+5EfvaHX7EaGFaW5IW6QL6DA7JBUAj5pViTMi9gPdqqBo6wXhTlg X-MS-Exchange-AntiSpam-MessageData: vaYwbJg5rtL4XC+c0NXlDy+ulAubxhvYgZIbBfFkOPqU6DLpupEum58zwjBVhztFCOhDIyscgYPDtz4/oTXBf1jEPGD3CUgnrf5J0xSsz0Qwvmoe0AUsRTVfQ+ANsariWoPwIjresVLlPeN0FOYi4w== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9fd79580-3387-410e-0c68-08d7c4dbcabb X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2020 10:14:17.6911 (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: 1TwqlqUI6I3J5hj1rqnvAY1chTiIVVgpBtc3F7+woAQzAHUbFMJ3629gYxK/9HnF4PRSsd+RoCVvnFdjkbSouw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3615 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Jérôme Pouiller Removing station while some traffic is in progress may happen. Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/sta.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index 03d0f224ffdb..010e13bcd33e 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -605,7 +605,9 @@ int wfx_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int i; for (i = 0; i < ARRAY_SIZE(sta_priv->buffered); i++) - WARN(sta_priv->buffered[i], "release station while Tx is in progress"); + if (sta_priv->buffered[i]) + dev_warn(wvif->wdev->dev, "release station while %d pending frame on queue %d", + sta_priv->buffered[i], i); // FIXME: see note in wfx_sta_add() if (vif->type == NL80211_IFTYPE_STATION) return 0; From patchwork Tue Mar 10 10:13: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: 216333 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7C050C10F27 for ; Tue, 10 Mar 2020 10:14:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2758F24682 for ; Tue, 10 Mar 2020 10:14:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.b="SCC36KLO" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726681AbgCJKOX (ORCPT ); Tue, 10 Mar 2020 06:14:23 -0400 Received: from mail-bn8nam12on2076.outbound.protection.outlook.com ([40.107.237.76]:6032 "EHLO NAM12-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726244AbgCJKOX (ORCPT ); Tue, 10 Mar 2020 06:14:23 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dQ10AYxyTu8wXZ0bvYUOurraAdby+LCmX6CvhAoLWll/TEe07jrIY9A7BFJOT+VvPCMkzwm4hKbQfzuDPSalT3AM/ID76rj/Kc1RNoqlszlfxCFF1Kyl1z4w72Hu21703Tgrqh+8eSVgbvNhmLgmEkD+Zfc6H5BWgJSMW6nv+IMphnT9jZoyZmVj7fZ/vrbo7eMz4AVT3URBCTOphzaOgo092VHJzcGX5g79ojBtJlVyVHswJ/2LBelGByFRrGEDKjJH3fTSTfgeR+8l1cquPz2pIbSkzq1V11oIzhIKkOG+lVxrtY3JAOMS6uvGU1SSGwITngU7Pnj9T+w5hXyrSw== 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=qTt99lXlWBT9SkY2K/ce2HXok0D7kEfBX17sz2YNvwc=; b=UTly7mayQ8iV1LBtnXpJ44AKGaGwOA+lELWW1o/4egT8XjqsSqoK9M2mNMucEtr6pxalYFM7fn8zMYZyQ4Ey4hYtZd3QC+ef6k+gZ0Nf+eJdRt1PXst3HCYJIfqTEl5dcilZ9i8EhSXWKEywn0B+WQ0BcBF5DqeAlGQKBZUFf0b+CXHFdj8X2Y+QQ+cpcQvNf5ndGLnziCY2c3NpudRVYeQ8tUTl80tZHtUkJG2/NfXLvMYOBWZYRI5e9Ib2zycUOIwgRJaCOVzxLDA/FP4718f4ReIVPqxXF9c58QmQfsB386cKoRZzmUojfCVdpEQ/WgvOfVtJwTEkDNSv3DjU/Q== 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=qTt99lXlWBT9SkY2K/ce2HXok0D7kEfBX17sz2YNvwc=; b=SCC36KLO7bE6kuhRlXbPv1RQDnOqPv1hg5YTtfGQOJ5RnNnLgaJtsj6KAv2ylfJm6PfSuNVxg85rjmg4ssNFgrwgi0z2gAjqWPuKtu0Jg+C8p2LXDnlev2SKgo6+Wzwi5cuPM5Yp8IinqL+MmwiOjNeiNUJhs2gwbtuXkKFMnfk= 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 MN2PR11MB3615.namprd11.prod.outlook.com (2603:10b6:208:ec::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.17; Tue, 10 Mar 2020 10:14:20 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::ade4:5702:1c8b:a2b3]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::ade4:5702:1c8b:a2b3%7]) with mapi id 15.20.2793.013; Tue, 10 Mar 2020 10:14:20 +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 5/5] staging: wfx: fix RCU usage between hif_join() and ieee80211_bss_get_ie() Date: Tue, 10 Mar 2020 11:13:56 +0100 Message-Id: <20200310101356.182818-6-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200310101356.182818-1-Jerome.Pouiller@silabs.com> References: <20200310101356.182818-1-Jerome.Pouiller@silabs.com> X-ClientProxiedBy: PR0P264CA0180.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::24) 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 (37.71.187.125) by PR0P264CA0180.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.14 via Frontend Transport; Tue, 10 Mar 2020 10:14:19 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [37.71.187.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b2d1c9ed-6be5-44b9-abf0-08d7c4dbcc76 X-MS-TrafficTypeDiagnostic: MN2PR11MB3615: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:619; X-Forefront-PRVS: 033857D0BD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39850400004)(136003)(366004)(376002)(396003)(346002)(189003)(199004)(6666004)(52116002)(5660300002)(2616005)(86362001)(316002)(956004)(36756003)(478600001)(7696005)(8936002)(54906003)(4326008)(16526019)(186003)(26005)(6486002)(66574012)(66946007)(8676002)(1076003)(81166006)(2906002)(66476007)(81156014)(66556008)(107886003); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB3615; 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: Sed0HcwAVpiToN/fG4X5x3hQMDBGULBMd7rqU+9s0n2ye+ceS19kYr6xL/ZjbjmhjInJohx+LVz49Ul7LVKm/5coiOCxaPFbw6PAi7LqL0VSmt0L3X/T1dBunbJRMXwlld33/kdcavMSTEBpO5J+XeqwPVNav0yhcWdatU//MAvJ4kctDx44hb13LuOqNYwzLiN5DvXZvX1FW9gRtV5tliLdcNkzVCZ7mC7VAp8H5RDF60Y7bL1Co5zmRVXuTN6y+f1qrJAxN7mzpbGTzxmKmJyh9ihMoe1x5YknCrPsxPksmosQlMOdEm9vcFLmJstEN1ESVttkWV6/HvJZqyzNgd1jka0TJQachCsDObaTehYvuAtDfhZmTMqzRNTm9M2en+zrt/7W491v5t6ylY3Dihj81dVVUJCy2LdQ9Cn9qNMwHfuzbIrD1s4Uf7Aq5SFP X-MS-Exchange-AntiSpam-MessageData: GBHhyoH9ZlxpCMcbh+zi6C50TAACtENbeOjHuQ6fA8m5zgBiWZcnjW6YXnxryr8hxG5gaIM3FxYP2cPWd4SuYTQDJ8AGSoFpFj4Rcml6Q4Gq1/TwY3grrTKWhsHoWBkIDyCJjMW3egZnp5LDA1O9zw== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: b2d1c9ed-6be5-44b9-abf0-08d7c4dbcc76 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2020 10:14:20.4984 (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: Cgchuckw79sx9+IpY3w9F/NvB3Ib5Nuk6dQ2DH7uljFcpBD/cMYw/lYHX2XOACUhrBoP3LLrTG5Y7iYCW7MgcQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3615 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Jérôme Pouiller Access to result of ieee80211_bss_get_ie() is protected by RCU. In other hand, function hif_join() can sleep and cannot be called with RCU locked. Provide a copy of "ssidie" to hif_join() to solve this behavior. Fixes: 9ced9b593741 ("staging: wfx: simplify hif_join()") Signed-off-by: Jérôme Pouiller --- drivers/staging/wfx/hif_tx.c | 8 ++++---- drivers/staging/wfx/hif_tx.h | 2 +- drivers/staging/wfx/sta.c | 17 ++++++++++------- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/drivers/staging/wfx/hif_tx.c b/drivers/staging/wfx/hif_tx.c index 7a56e45bcdaa..77bca43aca42 100644 --- a/drivers/staging/wfx/hif_tx.c +++ b/drivers/staging/wfx/hif_tx.c @@ -290,7 +290,7 @@ int hif_stop_scan(struct wfx_vif *wvif) } int hif_join(struct wfx_vif *wvif, const struct ieee80211_bss_conf *conf, - const struct ieee80211_channel *channel, const u8 *ssidie) + struct ieee80211_channel *channel, const u8 *ssid, int ssidlen) { int ret; struct hif_msg *hif; @@ -308,9 +308,9 @@ int hif_join(struct wfx_vif *wvif, const struct ieee80211_bss_conf *conf, body->basic_rate_set = cpu_to_le32(wfx_rate_mask_to_hw(wvif->wdev, conf->basic_rates)); memcpy(body->bssid, conf->bssid, sizeof(body->bssid)); - if (!conf->ibss_joined && ssidie) { - body->ssid_length = cpu_to_le32(ssidie[1]); - memcpy(body->ssid, &ssidie[2], ssidie[1]); + if (!conf->ibss_joined && ssid) { + body->ssid_length = cpu_to_le32(ssidlen); + memcpy(body->ssid, ssid, ssidlen); } wfx_fill_header(hif, wvif->id, HIF_REQ_ID_JOIN, 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 20977e461718..f8520a14c14c 100644 --- a/drivers/staging/wfx/hif_tx.h +++ b/drivers/staging/wfx/hif_tx.h @@ -46,7 +46,7 @@ int hif_scan(struct wfx_vif *wvif, struct cfg80211_scan_request *req80211, int chan_start, int chan_num); int hif_stop_scan(struct wfx_vif *wvif); int hif_join(struct wfx_vif *wvif, const struct ieee80211_bss_conf *conf, - const struct ieee80211_channel *channel, const u8 *ssidie); + struct ieee80211_channel *channel, const u8 *ssid, int ssidlen); int hif_set_pm(struct wfx_vif *wvif, bool ps, int dynamic_ps_timeout); int hif_set_bss_params(struct wfx_vif *wvif, const struct hif_req_set_bss_params *arg); diff --git a/drivers/staging/wfx/sta.c b/drivers/staging/wfx/sta.c index ed16475c207c..af4f4bbd0572 100644 --- a/drivers/staging/wfx/sta.c +++ b/drivers/staging/wfx/sta.c @@ -491,9 +491,11 @@ static void wfx_set_mfp(struct wfx_vif *wvif, static void wfx_do_join(struct wfx_vif *wvif) { int ret; - const u8 *ssidie; struct ieee80211_bss_conf *conf = &wvif->vif->bss_conf; struct cfg80211_bss *bss = NULL; + u8 ssid[IEEE80211_MAX_SSID_LEN]; + const u8 *ssidie = NULL; + int ssidlen = 0; wfx_tx_lock_flush(wvif->wdev); @@ -514,11 +516,14 @@ static void wfx_do_join(struct wfx_vif *wvif) if (!wvif->beacon_int) wvif->beacon_int = 1; - rcu_read_lock(); + rcu_read_lock(); // protect ssidie if (!conf->ibss_joined) ssidie = ieee80211_bss_get_ie(bss, WLAN_EID_SSID); - else - ssidie = NULL; + if (ssidie) { + ssidlen = ssidie[1]; + memcpy(ssid, &ssidie[2], ssidie[1]); + } + rcu_read_unlock(); wfx_tx_flush(wvif->wdev); @@ -527,10 +532,8 @@ static void wfx_do_join(struct wfx_vif *wvif) wfx_set_mfp(wvif, bss); - /* Perform actual join */ wvif->wdev->tx_burst_idx = -1; - ret = hif_join(wvif, conf, wvif->channel, ssidie); - rcu_read_unlock(); + ret = hif_join(wvif, conf, wvif->channel, ssid, ssidlen); if (ret) { ieee80211_connection_loss(wvif->vif); wvif->join_complete_status = -1;