Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp1065942pxy; Thu, 22 Apr 2021 22:22:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxdE2y3bOK1kedSTEInis5568QacFNjJcn2bxapF9HlUDWWQJWYbYrjFTchKsPIGdZRUDI+ X-Received: by 2002:a62:55c6:0:b029:21c:4dfc:d6e2 with SMTP id j189-20020a6255c60000b029021c4dfcd6e2mr2061796pfb.60.1619155329490; Thu, 22 Apr 2021 22:22:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619155329; cv=none; d=google.com; s=arc-20160816; b=GkNhFJFojLt6r+FO/dhsvfO6veJMdZNMwwIIEl4hRPuGNAeRoemll4MsKie5hVS7Hh P+gmYVDPrumDkeDcs0vH+62BUqQI8Zq8toZHFlt5E3oSv4h4ehpT8WnxXp8KW7m5rGMI PA/qGPJb/app0jxZEriGfJrLPq36weQm2EXKWQb6wgxqafr+VpGIUjloH8b+37mVMHgm pufp37Iw99+fhShR1jsGyF2PuC8x/mt/v5t5OzMp62ucGaZXlZjQEhHETFVjE2JVYqrP 3WrLXWYCPUDQa6eIL/PJhtDuDZ87KKB9bZv1Fjq+vC13PYl4uaUY9KO6Wkco8MkBQ03L Gong== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=IhMuV7pk/e6sV7VUIyv8mgUtfEot/XwuLzvlzQOD9tE=; b=guvjAWPULjRCh42xQ+hlJ0hbFktDbNDfUJaiv2axfNx6f5feSJEVfj6bcI+fP1BxtO SD8egswIDNlIOUQB+bRFuigRc8CvQlYoeua7hjYZdd6IpoHGtScqbrgGZSNW0SCKxPo4 Dj6tDu+yO12+atj8pobbojeKDNpJrvh9GUqyJV8bzEpnxKVn0HjB3JKislxKnCZIU0rj fujTcL+4DBX9OZf0rMtihmlULmnyC7vrsWciUmUG7HLuNZPNKMXQEL4Ork5E9Vb32JeL zNo0Q5+XQrvmIDPw0Yc7RnzegsjfpT6SnnCrj+DI6oN+jOqlNgY0oBQkOnhz9CoBzBiJ qE/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=lmLheeEP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id me12si8342412pjb.143.2021.04.22.22.21.57; Thu, 22 Apr 2021 22:22:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=lmLheeEP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240463AbhDWFV6 (ORCPT + 99 others); Fri, 23 Apr 2021 01:21:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34512 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240403AbhDWFVz (ORCPT ); Fri, 23 Apr 2021 01:21:55 -0400 Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com [IPv6:2607:f8b0:4864:20::1036]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2B49FC06174A; Thu, 22 Apr 2021 22:21:19 -0700 (PDT) Received: by mail-pj1-x1036.google.com with SMTP id y22-20020a17090a8b16b0290150ae1a6d2bso645966pjn.0; Thu, 22 Apr 2021 22:21:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IhMuV7pk/e6sV7VUIyv8mgUtfEot/XwuLzvlzQOD9tE=; b=lmLheeEPGFQgitLGJY+wsWubJP+ggaguhY3vmRN+E82W0DBWsuLaZKiNy3fmbngytR Pp3iI++8Zg3h+6LP2O7TM9U1qa+026qhc6tLnH/B76oY9dZ02r9FCb2Zdi0VkY/mINPV XiFhil4oCVGQtkdjqIz79VZbID0LOje6s0D9WYcyR9Ht4ZbEVZV4O3RIqqiksMenfRRJ Q45783Y63qzCXFiC9RwC0E3mZOUAl9ivHiYjzA71FySr0PGEnJzkTLaWbDsR8VReLrcy wQjwpYjSr3/N0cfiOuDlQfvt/CsgreHvG4Uaii1WWbKNVVIV34jKa7BJVuztyA23YTAy MYjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IhMuV7pk/e6sV7VUIyv8mgUtfEot/XwuLzvlzQOD9tE=; b=lq3kXnPBJEvDzaK7KoR4+eOgHg8zKOm7O0QR1W8Lhg55QTYXb2EolqtWlhyvuCUHo1 O2hk8LWbJg3YF2UmrrKykBqRcBvcFYvzXdjpLs2jNEgG4SzG2a/RyOaL6B5vIEPO5lhS 0XO8Xz940PPG9t2JB8tQukQCfuDuDXBejOJJ5He8yju1nZgc+tuhicw+7geKMc4sO9K+ PqANgGyuW50ryBBG4qj1sPvDgGWjWNiyKID5puFjz4UXespeV5+P3Lh2OYVThLLK7Cgg N4L0lBdYSn0DZRNba7GkHUJH8ld8PlxI5+10UYldRMIWwB3I4fZh25MUk6x3vx6grQYI EFng== X-Gm-Message-State: AOAM5314AJFg+hqkWmseobs5D7V0Y5NmheK4jYnD7qX0WkKcEsUewRjC iwWMWlVzumT5eV/ki6wqNBAi972e98Isv02M X-Received: by 2002:a17:90a:1190:: with SMTP id e16mr2497504pja.110.1619155278782; Thu, 22 Apr 2021 22:21:18 -0700 (PDT) Received: from z640-arch.lan ([2602:61:7344:f100::678]) by smtp.gmail.com with ESMTPSA id y24sm6238825pjp.26.2021.04.22.22.21.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Apr 2021 22:21:18 -0700 (PDT) From: Ilya Lipnitskiy To: Felix Fietkau , John Crispin , Sean Wang , Mark Lee , "David S. Miller" , Jakub Kicinski , Matthias Brugger , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Cc: Ilya Lipnitskiy Subject: [PATCH net-next v2 02/15] net: ethernet: mtk_eth_soc: unmap RX data before calling build_skb Date: Thu, 22 Apr 2021 22:20:55 -0700 Message-Id: <20210423052108.423853-3-ilya.lipnitskiy@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210423052108.423853-1-ilya.lipnitskiy@gmail.com> References: <20210423052108.423853-1-ilya.lipnitskiy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Felix Fietkau Since build_skb accesses the data area (for initializing shinfo), dma unmap needs to happen before that call Signed-off-by: Felix Fietkau [Ilya: split build_skb cleanup fix into a separate commit] Signed-off-by: Ilya Lipnitskiy --- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c index b2175ec451ab..540003f3fcb8 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -1298,6 +1298,9 @@ static int mtk_poll_rx(struct napi_struct *napi, int budget, goto release_desc; } + dma_unmap_single(eth->dev, trxd.rxd1, + ring->buf_size, DMA_FROM_DEVICE); + /* receive data */ skb = build_skb(data, ring->frag_size); if (unlikely(!skb)) { @@ -1307,8 +1310,6 @@ static int mtk_poll_rx(struct napi_struct *napi, int budget, } skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN); - dma_unmap_single(eth->dev, trxd.rxd1, - ring->buf_size, DMA_FROM_DEVICE); pktlen = RX_DMA_GET_PLEN0(trxd.rxd2); skb->dev = netdev; skb_put(skb, pktlen); -- 2.31.1