From patchwork Mon Jan 22 12:46:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergey Matyukevich X-Patchwork-Id: 10178463 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id AE09D60224 for ; Mon, 22 Jan 2018 12:47:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AB7E726224 for ; Mon, 22 Jan 2018 12:47:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9FE1C28236; Mon, 22 Jan 2018 12:47:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2B9AA28305 for ; Mon, 22 Jan 2018 12:47:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751185AbeAVMrR (ORCPT ); Mon, 22 Jan 2018 07:47:17 -0500 Received: from mail-bl2nam02on0083.outbound.protection.outlook.com ([104.47.38.83]:62976 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751161AbeAVMrO (ORCPT ); Mon, 22 Jan 2018 07:47:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quantenna.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=RlXs5XTN4SsSDiZ8neLGNMrXQ2vkBKg1HPLZ1WmpHAQ=; b=AZoCjvtH8WwqmZ0AlMA/ClkSjAfrl9nHHuncpwqmAaoG8X1HgXPozVRqgVbTzUjqS743xIWIW8qljbmh5N7IPj66e4zhZBf5yFHpXpl+dDaVfCtCFp+i1/xTpCDRvswRCk8safMkyC6Y6mx2OdajFXZ1rPPT3SS2dJvIlBNY/jU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=sergey.matyukevich.os@quantenna.com; Received: from bars.quantenna.com (195.182.157.78) by CY1PR05MB1931.namprd05.prod.outlook.com (10.162.216.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.5; Mon, 22 Jan 2018 12:47:12 +0000 From: Sergey Matyukevich To: linux-wireless@vger.kernel.org Cc: Igor Mitsyanko , Avinash Patil Subject: [PATCH 10/11] qtnfmac: do not use bus mutex for events processing Date: Mon, 22 Jan 2018 15:46:33 +0300 Message-Id: <20180122124634.8430-11-sergey.matyukevich.os@quantenna.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180122124634.8430-1-sergey.matyukevich.os@quantenna.com> References: <20180122124634.8430-1-sergey.matyukevich.os@quantenna.com> MIME-Version: 1.0 X-Originating-IP: [195.182.157.78] X-ClientProxiedBy: VI1PR08CA0220.eurprd08.prod.outlook.com (10.170.234.157) To CY1PR05MB1931.namprd05.prod.outlook.com (10.162.216.13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3c3a5c37-78ea-4aec-fb26-08d561964298 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4534125)(4602075)(4627221)(201703031133081)(201702281549075)(2017052603307)(7153060)(7193020); SRVR:CY1PR05MB1931; X-Microsoft-Exchange-Diagnostics: 1; CY1PR05MB1931; 3:v/m366l3nQcawm2qNF92JJGdit6SyRLEltma6Y7T6Ef0UP84/ISeFCkaOlUs2/JKhSLl9gsU81uQBJauBLYaB7kJ+hCEZZmClo/hLM82t6HjGO9FeGnTNwfBgoS5pJGODlUa43BQEuFXJ4oBSmZRN1wFGEnecGPZ4uEg7oABxqNV7XqZzbarZzOvPZrBUyhtrJVNQGvzNngxOiz43okc/fK1e0uMDbrKn9bXJzs1ZdnBi/pZA7hhcw8wgjS14XyA; 25:58TKOoz49x/uiLcdZ+2JqVEkvcjsfxGu6p5tybZ4ODr6bGiTJXgzSniMEWzmDGizRnjq7pQGZiWAarN1ACz0jPE0p8v3OL28yYHN4QYQWw42PeLaUH/fWv0kCEtfdlDxBcLyxZl10V/fdsPvxKZaDbHZzn+c5LJfKCWfFKsvCFqXuCULsXrvuh4RWMhfwGeSeUESntAfm9cC8V2tzYvAJk6EVFdUyL9OPoaQNg4xDOuoVmMmrAvxQQXiKW1CBh/vj8mjXUgo9v6Wx/QAemj4xqoGX6BgCypWLanpIJ/d4C7XjNWqQdAbB/h0Hfd4OvYV5vk24u8iFqqnLOBM87lx4r06itXn0RPrNgFFmWBJV5c=; 31:BwbuTH4nYictBc1UxUGfmeVOIw8YtbHQpjPu2TT+mcxJWoLX+0mtTYTsQJljvYiw3/iZg1agE71ZdyMGcSqJ63zSDXKAMmkRoYOy5jSFie8rCs6BNNYsRKdwXEilnXdANtPmwQGeu4O5n56sAc8XoR9dyDOAibWhSJ2yhTdVhPfz4xlPcCYFZzdsPtyuWce7R2WJpTk7VncA8fPcZfJYiSxtHzGoMLrj5s/kdbb+f8M= X-MS-TrafficTypeDiagnostic: CY1PR05MB1931: X-Microsoft-Exchange-Diagnostics: 1; CY1PR05MB1931; 20:EqWye7n2sJj8+LrKZ6cXbAdUcoQb6+/aQ5vP/XHnx5sF1mf0USfz5bZQ0PPzqvsOP5BXXwa2bg3ZnmIx3GU+0nH5sgUyy73fk2KSEEIFhRFtMssX7W4+ynf6Odnm4CacBjg8uw0WqbgWXCYCHUOWEwcwL4raGhcM7Ympi7JaKXdZONN+ZVcCYtMqDBMUqTrBzU0eINwOihZxyI6m6aRO9tDvWcQRzop8+HbqyjuLre/3IE1GbL444k2huB8NcqSQ3JO9aE/DaFRrnf8MEMsjsFLUufzsLo1x5Xu5icqMjakYt9h3zvjVpDE4mBXQdA//MKOiSjr4E7oVDv4aOCJhJlXt50CeJs/+you6FtCpzUXuUzzqf3vf+z+JLqdxw9ffjUAEbuBhwEdTozXVhTBISimUg/5/rgjwPMm7sWcwbgL+CcrdhPaV2z8x2ZKFmWIFoR3QSSlrNx5BlGXCbo7XXFH7ztgftrLPs9ZtsMheWZ+2ZgcP/6pJpn8lbXTAqdnm; 4:nEx+XiCFJtriXKGC82toCUfHZIfBIIy6q0nGeRNb7xcY/boeSFhlbSLjZZC4XkFKUeCFg3fEW5btMh5GRfMYFYG7BGdHJ1HITJIAr6rHlLdWkSgL2QYrQUZqdMfKWCf/tek70YC2/9gSqWC9r5Uirvf5MfwLJ4mGOY/YthiJhk19SOtgVz4FP3X0cO4f1gOMh72drQDNrdG+SmRncylAXYZagNAZhG2YNK7bneonra6PSCCNKHyNw2yS1cl2F3wOtMevPgzy0TNnIpu29nsACw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(5005006)(8121501046)(3231023)(2400081)(944501161)(10201501046)(3002001)(93006095)(93001095)(6041288)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:CY1PR05MB1931; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CY1PR05MB1931; X-Forefront-PRVS: 0560A2214D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(39840400004)(396003)(366004)(346002)(39380400002)(199004)(189003)(2351001)(25786009)(52116002)(1076002)(6116002)(26005)(59450400001)(2361001)(36756003)(4326008)(76176011)(107886003)(478600001)(8676002)(8936002)(50226002)(7736002)(81166006)(6916009)(6666003)(2950100002)(305945005)(2906002)(106356001)(105586002)(68736007)(6486002)(81156014)(53936002)(48376002)(66066001)(16526018)(47776003)(103116003)(97736004)(50466002)(5660300001)(3846002)(386003)(16586007)(316002)(51416003)(7696005)(53416004)(54906003)(69596002)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR05MB1931; H:bars.quantenna.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: quantenna.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR05MB1931; 23:aYET2qNgIlj7gfvC3rvtDPRX/Ro89pUFlaUNJBxGR?= =?us-ascii?Q?vDSjRo+Jm/5e4ZAiKt98EbXZfdJy6pX+64KDcjxdh3W66iuE/Nx7g8wZR+Ul?= =?us-ascii?Q?Cl0UBAo80x5jFKb5+JOto/QUnhxiKtE54EKOKyfAgduXJFLvNSwPt9/qxOE8?= =?us-ascii?Q?HUzrc2JCGQ9LYoyX5QgKkBXFFRlC9n2c2+yQzXrI2F4Snsjl8fyaYAOFvTb4?= =?us-ascii?Q?tZBb3t8/P/LSkoUh7ZYUdDjhtyHgl733isqXrXJnhn4Q2JRJ0UQ1v/hCyx3j?= =?us-ascii?Q?gnd23qec11U3lrQjX4O3lnscFJto352G8690yuS2RnAFgg/U/4SW50Zu6YwX?= =?us-ascii?Q?u+JkEmntfTDMZaxZVyTgba8V/9FkMotz5RF0OvESri3Ud5cJkohvEfsH0zfH?= =?us-ascii?Q?2ioVPBoc2+QLvxIsAcSlJTSkHe7od2e1ZjAzj765IROxQhypbr5vygT7dtCc?= =?us-ascii?Q?8KKJTGB97dDcpZPFD4JsMUrWGtxOhDTFow3mTOEtdW3cx1R5mp0UsVE6zBnK?= =?us-ascii?Q?9m1b0xbM+9lAJRzWg0n6yikcJCE5wH4TaDHcPRVFJe0FPBsAoaNgoIyS91ve?= =?us-ascii?Q?60ikCR0LWT7740GDKoo+f0uKJA0l6WpRXIqrXE6UYaY17UfxjMq6sKM9J6u9?= =?us-ascii?Q?fzh8DU1A2cQk9TGuprWz+DllgUmHRlpo4dZbF+9PqrZgOtylxV4ZdmnpNK19?= =?us-ascii?Q?ah2fXnWc/3V5q7YF/hK180tJLAo2ijl1HlkoyPV6Ta2AurxMHoZLp9jRqW3o?= =?us-ascii?Q?7Cj4w4XocQskwQEOMS+bHHV/9NJ3qcHeW7PeoKlyaoDbG9Daj3ZX6NIpaEnP?= =?us-ascii?Q?UIIQPuUyalGMCYKqccWIF/cA/N3unqDLnSjVV/7n1J9h8FcO305yW/R7LZr4?= =?us-ascii?Q?sORZ24UkXxxaoCI3E8MsbJVUFr9+BG+x3XV3im9VL/TN4x1XcR5yygjMf/ul?= =?us-ascii?Q?pkXoxVqhJ4BrGQhKS1Bjc9oVzXILlEnaaJmnkRLvl+suulrb/lO2w/mNwkwH?= =?us-ascii?Q?9ekS5+gFzsyAH7JIS2I3BvpiJ+zzcKw244csly9U2f8wUBTPd6q6eckTatFw?= =?us-ascii?Q?W/EdZeXXQzZXtiMN0BBh2qPaIePVjlFF2px6ymDrIwVhAWbXVo5E/DxBhnQL?= =?us-ascii?Q?/LtcVpLg8Zbb3QURIT1jSDtbOa1UFtYWo7EnGdeUO2Fz9sU02j9iM0SQ8hNv?= =?us-ascii?Q?27TpQ1QtyxBfFdtTK2HQTjNfiC71r5oGqOjdXnKkeuw1RF04BnKdNZf0XrLb?= =?us-ascii?Q?br0vW6K69SD+SAG3aM=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR05MB1931; 6:ByqA1Xz8/cBMKC9jcZBEj5k4sc1xSLrbgaGOGOmyyHAYD80or/No9sudiTGiWvi/4yrr1DdHYbekJtaUwZHhYoCsPII2Ac6phmR0CD5fu1WFrRQujwvJheOFS83dSNRyb0y03t3egbUHU7Nbb+c9/Euc8IxHX2lQeeC/WknBMHoYf3NUaFO794onHz4tPMLqlPhmBXOwlQu648RoHAf48nixi8y9twMrXWDlEidW/aCOUx/J6e9AWl0vnQ06hHIncSoq30ovU6WhIKwwrGcfX+wRJyyDhI17Z3w8JTOzYpczfYAX3+RddiscKh7OlmZLlHN7XHZg76AAXcZqrmGWwX2rAygdIes1Ty5z4lBo6Ac=; 5:+AEtkcstMFwMfbGYbzu1uBu2EPoRgU9xys7WkG07SFZssa/ynMxgA8k4MijXVra7hUOWWxcB87dMutEShQVn7eOq/bp5aAg1+0VGGp0ZV5PLAaYc/7NwbpT+Vj6icw0INnURpzGNkIQ2bxI/lxlcqADhki08QK4WEja2PE/amRU=; 24:IzVR/el6dNhVi6WFftuYvC7uYUebBOWmIkg7aBasX6RSl5ylUZvM7RzT/nN8VG+GmKER2ai7XjZH1+eQC879jhO8y80oFUXC0Yv/iPI5psY=; 7:4mmNCwwXxU5KrCH9C4xX/YzYXOV/hLXG29v+mIN1ruJqPvirLdiXhwUyTzsyHLr7HnKFzhy5NRlYo9/pNQERFU9yE7XtpFIwWic7s6obQYRZJvb6WPbNY2khm9gE1hfjyn21z5o9UmB5gVMTYKgI40/rbr8ubd+PaTR8rNvrHl3X61EfLbG89/NiL1yb93OhI4bw2WslPST8W6T6AfnY08vdqMI/e2LfLoWsjeZikFHnCwqsu6LBHmyc8vT1jVtC SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: quantenna.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2018 12:47:12.2322 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3c3a5c37-78ea-4aec-fb26-08d561964298 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a355dbce-62b4-4789-9446-c1d5582180ff X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR05MB1931 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Igor Mitsyanko Events processing requires locking of bus mutex, which is also used by cfg80211 layer before calling several of cfg80211 callbacks. Since all cfg80211 callbacks in qtnfmac driver also lock bus mutex, this potentially may lead to a deadlock. Do not use bus lock for event processing. Use RTNL lock instead to serialize events and commands processing threads. Signed-off-by: Igor Mitsyanko --- drivers/net/wireless/quantenna/qtnfmac/event.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/quantenna/qtnfmac/event.c b/drivers/net/wireless/quantenna/qtnfmac/event.c index 8a3d2b1194e4..bcd415f96412 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/event.c +++ b/drivers/net/wireless/quantenna/qtnfmac/event.c @@ -541,9 +541,9 @@ static int qtnf_event_process_skb(struct qtnf_bus *bus, if (unlikely(!mac)) return -ENXIO; - qtnf_bus_lock(bus); + rtnl_lock(); res = qtnf_event_parse(mac, skb); - qtnf_bus_unlock(bus); + rtnl_unlock(); return res; }