Received: by 2002:a05:7412:e794:b0:fa:551:50a7 with SMTP id o20csp2163289rdd; Fri, 12 Jan 2024 00:56:45 -0800 (PST) X-Google-Smtp-Source: AGHT+IGutR85FNeelF/Fd26NP54ncLmDqwSmzLnPPMjrD6Ves0IkmgEYLCMB8Lizf32pHYiUpT2Q X-Received: by 2002:a05:6808:144e:b0:3b9:dcf0:63b9 with SMTP id x14-20020a056808144e00b003b9dcf063b9mr836711oiv.23.1705049805106; Fri, 12 Jan 2024 00:56:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705049805; cv=none; d=google.com; s=arc-20160816; b=cK/O5wiDusIgQtPlPtyabcSvds7ecSmlYK9KRjyqfHoHZ9fH8lzdQIOwAb8ylRSMRs P/fHP+DmWLsxS5AnyzDi5RchpzhPiChK86myRxQC4odmGz+vOkPniTYihuw3QOpr/LbD viptDhlP+Mcwf/IuWb3Z9uGZTfgd2Saoj44FARBXlugGAOrbfjR7Ei0HOfjKmHHnJnBG FV8S1zcg6rgXaXc43yC1QFG2MlpUYkrJUz0oWU0sx7Iy3U6OItc5T6t7vcQ4LxwOeCUI tGAv3EuBw+icaOiVVFIHa/O243P6k/QR/wrCbzbSjy3ymt4wt/eWmn230BROA6sGdMVp IkGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id:dkim-signature :dkim-signature:dkim-signature:dkim-signature; bh=LkFGgBjC8CczIMntbkU12Hx1gXyfHUmfQ8gaFQ0MS70=; fh=KoO93oc+rh35Dse6E3I2zzS/l0F55BfqaB9nA0DuZv0=; b=uCuwCU//w24griGPFjai4iBvgNZ8QsbXei83obih3x5HyfwY2hVh/8iOoH+xts+05G xz9ik1Pkt4x+HKaqK2/8ZeiNoGPIS9MT7gWNp3xmaDZalQuJx5YgJ0lMon7ULiefN7CW y7z8v08IIbrwdFRTk/q+PJ/WtaLLUDJu+o+anjbBrVaUsoH8xRU6xewt7YB8KUuSYyw7 rz9vwcRlTO8/WKtN3aHYNDRibwsAXwtikapasQ8jUHnURz90TLRzRyj+bFBh4dPwL4q/ /fRP73Il4R+26NF9G6tnl0yegvOR6fFKO/AANDzTqb3iD/CH6D8xuptuTePY1oZUq7rr 95Dg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=hlVwruvH; dkim=neutral (no key) header.i=@suse.de; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=hlVwruvH; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; spf=pass (google.com: domain of linux-kernel+bounces-24439-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-24439-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id by41-20020a056a0205a900b005ce034f8414si3133690pgb.483.2024.01.12.00.56.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jan 2024 00:56:45 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-24439-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=hlVwruvH; dkim=neutral (no key) header.i=@suse.de; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=hlVwruvH; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; spf=pass (google.com: domain of linux-kernel+bounces-24439-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-24439-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 889D8287C79 for ; Fri, 12 Jan 2024 08:56:36 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E5D6955778; Fri, 12 Jan 2024 08:56:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="hlVwruvH"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="jrx+ewXj"; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="hlVwruvH"; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="jrx+ewXj" Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E3E854BC8; Fri, 12 Jan 2024 08:56:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.de Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 551CA1FC0D; Fri, 12 Jan 2024 08:56:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1705049784; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LkFGgBjC8CczIMntbkU12Hx1gXyfHUmfQ8gaFQ0MS70=; b=hlVwruvHF2eeUcJIqClHm4wu0Sr7OPH/Jl4rhDlQXXVvpYN0RhZOaHEAN8PduqmbSIUGR5 whUjmhBbeXI0Bvo8nlzIRVWeJgTvZl4M6Xu1nRf2Y6kgDoe3q8P3TTC+beDYCB6yY4Uz98 6qzf9DnnL33uoTMHCsHtyYqmV7e2i4o= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1705049784; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LkFGgBjC8CczIMntbkU12Hx1gXyfHUmfQ8gaFQ0MS70=; b=jrx+ewXjCJjxbL6cuRz+bpCe0N52FpY0X3jXRyL1rA1U2JdZoh11Ziq6KPeqzpLNC6XFBB o4iR0OmFpKhIXpDQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1705049784; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LkFGgBjC8CczIMntbkU12Hx1gXyfHUmfQ8gaFQ0MS70=; b=hlVwruvHF2eeUcJIqClHm4wu0Sr7OPH/Jl4rhDlQXXVvpYN0RhZOaHEAN8PduqmbSIUGR5 whUjmhBbeXI0Bvo8nlzIRVWeJgTvZl4M6Xu1nRf2Y6kgDoe3q8P3TTC+beDYCB6yY4Uz98 6qzf9DnnL33uoTMHCsHtyYqmV7e2i4o= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1705049784; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LkFGgBjC8CczIMntbkU12Hx1gXyfHUmfQ8gaFQ0MS70=; b=jrx+ewXjCJjxbL6cuRz+bpCe0N52FpY0X3jXRyL1rA1U2JdZoh11Ziq6KPeqzpLNC6XFBB o4iR0OmFpKhIXpDQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 9449B136A4; Fri, 12 Jan 2024 08:56:23 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id iUxkILf+oGXaKwAAD6G6ig (envelope-from ); Fri, 12 Jan 2024 08:56:23 +0000 Message-ID: <64deebbd-93d0-47dc-835e-f719655e076c@suse.de> Date: Fri, 12 Jan 2024 11:56:18 +0300 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] net: ethernet: ravb: fix dma mapping failure handling Content-Language: en-US To: Nikita Yushchenko , "David S. Miller" , Jakub Kicinski , Paolo Abeni Cc: Sergey Shtylyov , Claudiu Beznea , Yoshihiro Shimoda , Wolfram Sang , =?UTF-8?Q?Uwe_Kleine-K=C3=B6nig?= , netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org References: <20240112050639.405784-1-nikita.yoush@cogentembedded.com> From: Denis Kirjanov In-Reply-To: <20240112050639.405784-1-nikita.yoush@cogentembedded.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Level: Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=hlVwruvH; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=jrx+ewXj X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Spamd-Result: default: False [-2.00 / 50.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; XM_UA_NO_VERSION(0.01)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; TAGGED_RCPT(0.00)[renesas]; MIME_GOOD(-0.10)[text/plain]; NEURAL_HAM_LONG(-1.00)[-1.000]; DWL_DNSWL_MED(-2.00)[suse.de:dkim]; RCVD_COUNT_THREE(0.00)[3]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; DKIM_TRACE(0.00)[suse.de:+]; MX_GOOD(-0.01)[]; RCPT_COUNT_TWELVE(0.00)[12]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:dkim]; FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; NEURAL_HAM_SHORT(-0.20)[-1.000]; RCVD_TLS_ALL(0.00)[]; SUSPICIOUS_RECIPS(1.50)[] X-Spam-Score: -2.00 X-Rspamd-Queue-Id: 551CA1FC0D X-Spam-Flag: NO On 1/12/24 08:06, Nikita Yushchenko wrote: > dma_mapping_error() depends on getting full 64-bit dma_addr_t and does > not work correctly if 32-bit value is passed instead. > > Fix handling of dma_map_single() failures on Rx ring entries: > - do not store return value of dma_map_signle() in 32-bit variable, > - do not use dma_mapping_error() against 32-bit descriptor field when > checking if unmap is needed, check for zero size instead. Hmm, something is wrong here since you're mixing DMA api and forced 32bit values. if dma uses 32bit addresses then dma_addr_t need only be 32 bits wide > > Signed-off-by: Nikita Yushchenko > --- > drivers/net/ethernet/renesas/ravb_main.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c > index 8649b3e90edb..4d4b5d44c4e7 100644 > --- a/drivers/net/ethernet/renesas/ravb_main.c > +++ b/drivers/net/ethernet/renesas/ravb_main.c > @@ -256,8 +256,7 @@ static void ravb_rx_ring_free_gbeth(struct net_device *ndev, int q) > for (i = 0; i < priv->num_rx_ring[q]; i++) { > struct ravb_rx_desc *desc = &priv->gbeth_rx_ring[i]; > > - if (!dma_mapping_error(ndev->dev.parent, > - le32_to_cpu(desc->dptr))) > + if (le16_to_cpu(desc->ds_cc) != 0) > dma_unmap_single(ndev->dev.parent, > le32_to_cpu(desc->dptr), > GBETH_RX_BUFF_MAX, > @@ -281,8 +280,7 @@ static void ravb_rx_ring_free_rcar(struct net_device *ndev, int q) > for (i = 0; i < priv->num_rx_ring[q]; i++) { > struct ravb_ex_rx_desc *desc = &priv->rx_ring[q][i]; > > - if (!dma_mapping_error(ndev->dev.parent, > - le32_to_cpu(desc->dptr))) > + if (le16_to_cpu(desc->ds_cc) != 0) > dma_unmap_single(ndev->dev.parent, > le32_to_cpu(desc->dptr), > RX_BUF_SZ, > @@ -1949,7 +1947,7 @@ static netdev_tx_t ravb_start_xmit(struct sk_buff *skb, struct net_device *ndev) > struct ravb_tstamp_skb *ts_skb; > struct ravb_tx_desc *desc; > unsigned long flags; > - u32 dma_addr; > + dma_addr_t dma_addr; > void *buffer; > u32 entry; > u32 len;