From patchwork Thu Dec 29 12:48:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Blumenstingl X-Patchwork-Id: 3382 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp2383363wrt; Thu, 29 Dec 2022 04:50:16 -0800 (PST) X-Google-Smtp-Source: AMrXdXvry9gCraZB6/YmWu4OsghLKuwCKiaClmuH12es+oSwK+XfvrAb35xzPnX7df6kbnl/cqBl X-Received: by 2002:a17:90a:f8b:b0:215:ddd1:d28f with SMTP id 11-20020a17090a0f8b00b00215ddd1d28fmr31327295pjz.9.1672318216137; Thu, 29 Dec 2022 04:50:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672318216; cv=none; d=google.com; s=arc-20160816; b=BeIbJiIjcYhM2W3S1iAsN4bIcv1o57BhrZszC7cq45lwM5IubKRNkkWfhlOFB7OFub m9mUwUaH6kBq7r9G1YhhMOrhde9YV2IiCHZ+h6a0vJCyAGcWQqtGFQBtJ+8z2FEYqwH0 8GSGXoTZsUE8PuejSnBhJEXsOk/2fLSRO0MzKOOBGQJsHbuP1Oj6j9iojsW6NsA9bzUn qFt+NapYfKYxNfd+AsadtP04/93qEtQxvkuU2r5c8iNQMkjQd9zKprtDoOPTg5sawsbe PrxPZj3QpQOpcuRtgbQyWMl2uByC12qvsQ5jLWovQAwjscIr6Fuo97l2TRMnFp3Rpetj 8ZeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=fVKNfEXwGcxUKChJbDDSuR/UJQgliUdMKqkK7jJXH+U=; b=NO8oMRNplRbJawI37ORBwjDiRkohiHB14TuYJUv7w9hvb4VYTabc0yomPeFLvOKLQ4 QxxIMTejgaSZIMvXHM9SxDnZybUhNi0kIT3JVbquhKbnrUtNE7vpVV1q1bUYqv4Yx1Kt 0GCew0US8LK+NKWJenjLaWJF3PoI72jioLJSPmE19PnjVpfXlpXOA+HXZXq0UwNf2057 8pghe+y2GdN7vWRMTiDxolmN21vMrdjljXwFAplH2jXP/V7FYozkK5gX5x0kla/QLKjp WGpsKn2kLJsgiYkLn18KTFTOfsjguAoGntbvM2s6Nor42dyBKx31c7Oe4KkVsgAyCVmN D3ag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@googlemail.com header.s=20210112 header.b="Tui/pCQH"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 18-20020a17090a031200b002238dff236esi18524172pje.148.2022.12.29.04.50.03; Thu, 29 Dec 2022 04:50:16 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@googlemail.com header.s=20210112 header.b="Tui/pCQH"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233158AbiL2MtR (ORCPT + 99 others); Thu, 29 Dec 2022 07:49:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38642 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229487AbiL2MtO (ORCPT ); Thu, 29 Dec 2022 07:49:14 -0500 Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3D47313DC8; Thu, 29 Dec 2022 04:49:13 -0800 (PST) Received: by mail-ed1-x533.google.com with SMTP id u28so21716320edd.10; Thu, 29 Dec 2022 04:49:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=fVKNfEXwGcxUKChJbDDSuR/UJQgliUdMKqkK7jJXH+U=; b=Tui/pCQHLBIRvY6EKMjcdGmm+8e/ZQPCcv7UOnO3rq1RXUyflHudQUG1QUbdmuxIOB ysNrXtZb4qNtnIpjgRBiLaFItKcoRm5B/DfWbeTyc0o/WLHTcpD658WvB2ErecE/iNfN I1RWEmS+Q2QD5mv7YR72CTh9OKWIPJOYkF+uq7xA/8RmEUcPcTnNC1ayPsH5Xsl4YWK2 LIXmPBw7F0LkpQrLVrKVAOwxJxt9h8pRP2iMaUzahiEmbqh8EgHxSEFIyKigRznBu/Ms RbmvtHaY1Gy4SPzwF4nj2AMmmrbW9cP/pBHGgww8enrcQNWSrOLLjHJxJDLPw6ETecIJ wdOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=fVKNfEXwGcxUKChJbDDSuR/UJQgliUdMKqkK7jJXH+U=; b=bvosCkNeSCOGZ4IWdMgYfbVz/KbmB+vTETPPuEi8sXxv10ILjUUhKw6HDsvAyLVrKd 3X2PWypep0qZdALIqGgJS92O2lfRGoVJZJO1xwPdTDe7LEFbf6O6bruEQtGn8Ex6UKan sITHg+bTntOVcZ/sNd5pfxN8qiEXF/TXK+WFiNACbPc9P8sg86qaDDJK8kWwuYBT88BF 9dIyfsYqWv900uikrt6ALHPiZi9vv5rSG3QuHXPlvklOpSw3i0HxHM2VLLMoBZx8dsbL 8LkyaV5ax8eIDWHpG2f/W4Lfca/nscQnZQAOPbYzz+muV+GAQdtGMFiORaMd+n5OJkJW YLRQ== X-Gm-Message-State: AFqh2kpaSDI7ELAjzl+nlWrov26UzGZlsrmFhK7YPQ0Afy9lVEwQ/eAC sHjyvhK33EvNKiJUkxGRYVziF7+wRPs= X-Received: by 2002:a05:6402:1759:b0:46c:f631:c0dc with SMTP id v25-20020a056402175900b0046cf631c0dcmr20929443edx.12.1672318150928; Thu, 29 Dec 2022 04:49:10 -0800 (PST) Received: from localhost.localdomain (dynamic-2a01-0c22-7789-6e00-0000-0000-0000-0e63.c22.pool.telefonica.de. [2a01:c22:7789:6e00::e63]) by smtp.googlemail.com with ESMTPSA id b12-20020aa7dc0c000000b0046892e493dcsm8166299edu.26.2022.12.29.04.49.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Dec 2022 04:49:10 -0800 (PST) From: Martin Blumenstingl To: linux-wireless@vger.kernel.org Cc: tony0620emma@gmail.com, kvalo@kernel.org, pkshih@realtek.com, s.hauer@pengutronix.de, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Martin Blumenstingl Subject: [PATCH 0/4] rtw88: Four fixes found while working on SDIO support Date: Thu, 29 Dec 2022 13:48:41 +0100 Message-Id: <20221229124845.1155429-1-martin.blumenstingl@googlemail.com> X-Mailer: git-send-email 2.39.0 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1753552745666205680?= X-GMAIL-MSGID: =?utf-8?q?1753552745666205680?= This series consists of three patches which are fixing existing behavior (meaning: it either affects PCIe or USB or both) in the rtw88 driver. The first change adds the packed attribute to the eFuse structs. This was spotted by Ping-Ke while reviewing the SDIO support patches from [0]. The remaining three changes relate to locking (barrier hold) problems. We previously had discussed patches for this for SDIO support, but the problem never ocurred while testing USB cards. It turns out that these are still needed and I think that they also fix the same problems for USB users (it's not clear how often it happens there though). The issue fixed by the second and third patches have been spotted by a user who tested rtw88 SDIO support. Everything is working fine for him but there are warnings [1] and [2] in the kernel log stating "Voluntary context switch within RCU read-side critical section!". The solution in the third and fourth patch was actually suggested by Ping-Ke in [3]. Thanks again! These fixes are indepdent of my other series adding SDIO support to the rtw88 driver, meaning they can be added to the wireless driver tree on top of Linux 6.2-rc1 or linux-next. Changes since v1 at [4]: - Keep the u8 bitfields in patch 1 but split the res2 field into res2_1 and res2_2 as suggested by Ping-Ke - Added Ping-Ke's reviewed-by to patches 2-4 - thank you! - Added a paragraph in the cover-letter to avoid confusion whether these patches depend on the rtw88 SDIO support series [0] https://lore.kernel.org/linux-wireless/695c976e02ed44a2b2345a3ceb226fc4@realtek.com/ [1] https://github.com/LibreELEC/LibreELEC.tv/pull/7301#issuecomment-1366421445 [2] https://github.com/LibreELEC/LibreELEC.tv/pull/7301#issuecomment-1366610249 [3] https://lore.kernel.org/lkml/e0aa1ba4336ab130712e1fcb425e6fd0adca4145.camel@realtek.com/ Martin Blumenstingl (4): rtw88: Add packed attribute to the eFuse structs rtw88: Configure the registers from rtw_bf_assoc() outside the RCU lock rtw88: Use rtw_iterate_vifs() for rtw_vif_watch_dog_iter() rtw88: Use non-atomic rtw_iterate_stas() in rtw_ra_mask_info_update() drivers/net/wireless/realtek/rtw88/bf.c | 13 +++++++------ drivers/net/wireless/realtek/rtw88/mac80211.c | 4 +++- drivers/net/wireless/realtek/rtw88/main.c | 6 ++++-- drivers/net/wireless/realtek/rtw88/main.h | 6 +++--- drivers/net/wireless/realtek/rtw88/rtw8723d.h | 6 +++--- drivers/net/wireless/realtek/rtw88/rtw8821c.h | 9 +++++---- drivers/net/wireless/realtek/rtw88/rtw8822b.h | 9 +++++---- drivers/net/wireless/realtek/rtw88/rtw8822c.h | 9 +++++---- 8 files changed, 35 insertions(+), 27 deletions(-) Tested-by: Sascha Hauer