Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp2404238rwd; Fri, 26 May 2023 06:14:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5QVuSH4iroU8QR+vQpZgsjFzIl7ICFpahLp3mRiT+uMdCt5f2/RFB3L66B8DTdOAoHqAmP X-Received: by 2002:a05:6a20:1590:b0:ef:205f:8184 with SMTP id h16-20020a056a20159000b000ef205f8184mr2891957pzj.13.1685106894715; Fri, 26 May 2023 06:14:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685106894; cv=none; d=google.com; s=arc-20160816; b=I5+Vf/WKnata+WNy+78EFvcaMlNR3db5+XJsXxPOxjDF6YdoxynJ03oYC5aRJ7NKYw Smo7ESuVa/J4GJjvfin4OBCrVagZvgnHr+ITanLDgFuYYULbCUPw87bxb5poEmXIRZYJ j9xXLhAijoNzSDouCqYPVkimi3spjz5x7+yH5I0tQ9BVVuxrXm24B5T3qQbjpz3rvmb6 bx4BT+GyFFzcnyBxtwrEPJ4dCXQguneXGZtIGoADG7EkJkoQmA/N+UkHRNbkLRWxoI/u Zn+iMy/P9OA15fWliPYYGTLW/jQRpfNkm2Pm9tRC2Voz+lHkH/pRhDzZ6eCxIFJiEp1Y qTMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=8Ehmbo/9JYt1lCkVSL99oekFqIjUFbJATCkffp/yKxk=; b=cdS8U/2xu7cdb0v2c5PhGrxlpsxjR11C3Lv2vRtzmloWo7+qUAndg4MsZ58u5dT6dx ABeGMhViKxFWCsjQ0z2RMJOzhUdWTP4b8cEfy1rUxEl6fvnM2Xf5mCxdGwcpWP6pQy/P HUUJbwkG7/bDAUYtZ1tN65LvzdyuB5O2P2pv9WAariXAtjkZ7EW5eAnPyPKw+GmF0BtA CfGb/1qGGrml2BephmYTCdb3hrWA4gVOe4cr9MNIa66DlooDHfmeBlT5aJ2tB6bZcvwx IApcy69Wvk2YSUl1VUwyPLiPCfG8bFy3sYT29B1i9nfR3XXi5WsHGjwoqnXwJp69DsI2 FeXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="e6O1GH/h"; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b16-20020a637150000000b005346be4ead7si1532610pgn.766.2023.05.26.06.14.42; Fri, 26 May 2023 06:14:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-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=@linaro.org header.s=google header.b="e6O1GH/h"; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237307AbjEZNMD (ORCPT + 62 others); Fri, 26 May 2023 09:12:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52432 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229747AbjEZNMC (ORCPT ); Fri, 26 May 2023 09:12:02 -0400 Received: from mail-yb1-xb35.google.com (mail-yb1-xb35.google.com [IPv6:2607:f8b0:4864:20::b35]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3D646119 for ; Fri, 26 May 2023 06:12:01 -0700 (PDT) Received: by mail-yb1-xb35.google.com with SMTP id 3f1490d57ef6-b9e6ec482b3so1207216276.3 for ; Fri, 26 May 2023 06:12:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1685106720; x=1687698720; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=8Ehmbo/9JYt1lCkVSL99oekFqIjUFbJATCkffp/yKxk=; b=e6O1GH/hxnOBXiLdaGwz5N5cGwjwp61mv1HGy5CSpAunWdYfkVclEiQyxp7TumIBcQ xggHt1obtjJy08WmY646kjNIQHz4/51ceoOC8QBOdwHSSqMcRpe5rmMhLyuq5+abjORG 7QssuDIzcGXs8cpzdT3gQ7x2IoR4yhXZ31y3mehaLP6hfcCiqT41wDKgU7wyews1SBZL jg9TzaObWhhRWSJB/vzQ/UBMSzeiVU79QheKw0Fi3hit7GIygGqpdp9FO4FQbIG6SDDP kXM5UnBIVuB/cT9APKwV0c4F7Z/MBRxpZR7leQV//sH4Vfz32/pIxuaxQNS5Qpp7hfgW HlHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685106720; x=1687698720; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=8Ehmbo/9JYt1lCkVSL99oekFqIjUFbJATCkffp/yKxk=; b=DJrpBo4YwK0SK9WXxlICr4qPMftKslmT0ihcAvKKGDRz9ZHz4cEu7bxmkHnAkgskeg ok/oqdnqhoDBz14A6ZzTkOBbcPdUTy+dRdbnbeleOScl2Y9/cgxCituQ1jFYA2zBNLEh NY4FONil8q6XwaQSfSbLjKmNNJI1ygi/+LIgeJNw3l6AfqUqdJNpkrlH8KB1Is53fp3N kaE2+KjJL4ewwxkn+CjUZgTJTp2KG6CtMgOm0Owt2kAb/go4Wjx7NebUekJkjDzIHyaC VRkOq7faYYOLxQhbVr4WeG+NdBHQkQoSeY9WlG3h0FrnaK9dcepiI71px6gRNi8i2w6D gE5w== X-Gm-Message-State: AC+VfDz0atcxELUGkWOi014CZcI4INbZ1PoKz44oO9JuJigauXqvb7o7 gYHoDS784OMGehYlCqKkC6Lj8mqvNCrtuVEIE3PKpojfugdCgkggLxxTQA== X-Received: by 2002:a81:5290:0:b0:561:d21d:8ce3 with SMTP id g138-20020a815290000000b00561d21d8ce3mr2470807ywb.3.1685106720443; Fri, 26 May 2023 06:12:00 -0700 (PDT) MIME-Version: 1.0 References: <20230522202425.1827005-2-martin.blumenstingl@googlemail.com> <168503099830.22756.1444846830853755949.kvalo@kernel.org> In-Reply-To: <168503099830.22756.1444846830853755949.kvalo@kernel.org> From: Ulf Hansson Date: Fri, 26 May 2023 15:11:24 +0200 Message-ID: Subject: Re: [PATCH wireless-next v2 1/4] wifi: rtw88: sdio: Check the HISR RX_REQUEST bit in rtw_sdio_rx_isr() To: Kalle Valo Cc: Martin Blumenstingl , linux-wireless@vger.kernel.org, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, tony0620emma@gmail.com, Peter Robinson , Ping-Ke Shih , jernej.skrabec@gmail.com, Larry Finger Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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-wireless@vger.kernel.org On Thu, 25 May 2023 at 18:10, Kalle Valo wrote: > > Martin Blumenstingl wrote: > > > rtw_sdio_rx_isr() is responsible for receiving data from the wifi chip > > and is called from the SDIO interrupt handler when the interrupt status > > register (HISR) has the RX_REQUEST bit set. After the first batch of > > data has been processed by the driver the wifi chip may have more data > > ready to be read, which is managed by a loop in rtw_sdio_rx_isr(). > > > > It turns out that there are cases where the RX buffer length (from the > > REG_SDIO_RX0_REQ_LEN register) does not match the data we receive. The > > following two cases were observed with a RTL8723DS card: > > - RX length is smaller than the total packet length including overhead > > and actual data bytes (whose length is part of the buffer we read from > > the wifi chip and is stored in rtw_rx_pkt_stat.pkt_len). This can > > result in errors like: > > skbuff: skb_over_panic: text:ffff8000011924ac len:3341 put:3341 > > (one case observed was: RX buffer length = 1536 bytes but > > rtw_rx_pkt_stat.pkt_len = 1546 bytes, this is not valid as it means > > we need to read beyond the end of the buffer) > > - RX length looks valid but rtw_rx_pkt_stat.pkt_len is zero > > > > Check if the RX_REQUEST is set in the HISR register for each iteration > > inside rtw_sdio_rx_isr(). This mimics what the RTL8723DS vendor driver > > does and makes the driver only read more data if the RX_REQUEST bit is > > set (which seems to be a way for the card's hardware or firmware to > > tell the host that data is ready to be processed). > > > > For RTW_WCPU_11AC chips this check is not needed. The RTL8822BS vendor > > driver for example states that this check is unnecessary (but still uses > > it) and the RTL8822CS drops this check entirely. > > > > Reviewed-by: Ping-Ke Shih > > Signed-off-by: Martin Blumenstingl > > 4 patches applied to wireless-next.git, thanks. > > e967229ead0e wifi: rtw88: sdio: Check the HISR RX_REQUEST bit in rtw_sdio_rx_isr() > 9be20a822327 wifi: rtw88: rtw8723d: Implement RTL8723DS (SDIO) efuse parsing > 09fcdbd28404 mmc: sdio: Add/rename SDIO ID of the RTL8723DS SDIO wifi cards > a3b125ceb45e wifi: rtw88: Add support for the SDIO based RTL8723DS chipset If it's not too late, feel free to add my ack for patch3. Nevermind, if it adds additional work for you. Kind regards Uffe