Received: by 2002:a05:6602:2086:0:0:0:0 with SMTP id a6csp4598966ioa; Wed, 27 Apr 2022 07:14:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw39qduIowjXec9ilHsIoh3YsM0K47d0cRqNi4BRfCq01cIBgYWGagK8WjWiiUn4YBph7RE X-Received: by 2002:aa7:8094:0:b0:505:b544:d1ca with SMTP id v20-20020aa78094000000b00505b544d1camr30243739pff.26.1651068844259; Wed, 27 Apr 2022 07:14:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651068844; cv=none; d=google.com; s=arc-20160816; b=j7j/iiDvTro3YhzmoSGiBXtP5sCNiIhpDDc2QMuCgaXeIm3zr89Y3RToQsumovoVBs ICVev4cjqSJbUNNonthBgC9ZM1YA4Dy8To09fSzkDQFlKEUIikbqjEYDhixId+ldssMf L4d/L5qgiTzpm+tcXuczt02hzOs5Xu9prVaCQB+MmChVPwHXmXRS9t5O0PLL+ZO3OBpM 9Gs9txXq23pQldG9+BDrRigCW7RuudbALBl/j0RGUcMeIW+THjh8/Zw9ITShZPouI0um JUmhVk9UkzICsBGKC/a7Y50EQQt/5WT9zdCrYT5xGnEf43/m7FvlA+nuU7a+5XL8CKb7 CU3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:authorized-sender; bh=Mo0Z5htN7GRK9+PH2796oNNwFigTm+3Q0jSudO2sxRE=; b=UdP0KHPi22/PPio7bORJ0wk4keRNcGtQ3SLH08t/1ypdG+hGisXTuiJqzocwVDkzts 8sFCzqi/IewtinSa/8Aoo/Xm2/khn0AeG5vdohWwETbZWdL2DMGpl4IiJ6+q0lSxXUMD hU+ZEed5tjH3WNHWxb12G/+yERSPVwu2OZuOJtb0Hh+hEgR1gOHG0FMDLXW5YQXBDJoh VxUukpqY129DzuKXazgUs7rg8g8wpujyLIE7elRAzPv2r8m5DZaKf8WfM9wuDxnl3LLH dL8hrsytP9QNwTyDTtlGltgoEKusLKkb9Qkidcsyj0LI/4F66GbWWFAMm4AIsFGcXEzW LQTw== ARC-Authentication-Results: i=1; mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id oa12-20020a17090b1bcc00b001d2ab074879si6224271pjb.4.2022.04.27.07.14.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Apr 2022 07:14:04 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id BA4BB3BBF5B; Wed, 27 Apr 2022 06:43:46 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236340AbiD0Nqv (ORCPT + 99 others); Wed, 27 Apr 2022 09:46:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35376 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236307AbiD0Nqo (ORCPT ); Wed, 27 Apr 2022 09:46:44 -0400 Received: from vsp-unauthed02.binero.net (vsp-unauthed02.binero.net [195.74.38.227]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7A9443B436E for ; Wed, 27 Apr 2022 06:43:30 -0700 (PDT) X-Halon-ID: 043cdc90-c630-11ec-9627-0050569116f7 Authorized-sender: andreas@gaisler.com Received: from andreas.got.gaisler.com (h-98-128-223-123.na.cust.bahnhof.se [98.128.223.123]) by bin-vsp-out-03.atm.binero.net (Halon) with ESMTPA id 043cdc90-c630-11ec-9627-0050569116f7; Wed, 27 Apr 2022 15:43:28 +0200 (CEST) From: Andreas Larsson To: linux-can@vger.kernel.org Cc: Wolfgang Grandegger , Marc Kleine-Budde , Oliver Hartkopp , linux-kernel@vger.kernel.org, software@gaisler.com, Daniel Hellstrom Subject: [PATCH 1/3] can: grcan: Use ofdev->dev when allocating DMA memory Date: Wed, 27 Apr 2022 15:43:05 +0200 Message-Id: <20220427134307.22981-2-andreas@gaisler.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220427134307.22981-1-andreas@gaisler.com> References: <20220427134307.22981-1-andreas@gaisler.com> X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE autolearn=no 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 From: Daniel Hellstrom Use the device of the device tree node should be rather than the device of the struct net_device when allocating DMA buffers. Since commit 53b7670e5735 ("sparc: factor the dma coherent mapping into helper") the driver oopses when using the wrong device on sparc32. Signed-off-by: Daniel Hellstrom Signed-off-by: Andreas Larsson --- drivers/net/can/grcan.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/can/grcan.c b/drivers/net/can/grcan.c index d0c5a7a60daf..f7c3cf941f61 100644 --- a/drivers/net/can/grcan.c +++ b/drivers/net/can/grcan.c @@ -248,6 +248,7 @@ struct grcan_device_config { struct grcan_priv { struct can_priv can; /* must be the first member */ struct net_device *dev; + struct device *ofdev_dev; struct napi_struct napi; struct grcan_registers __iomem *regs; /* ioremap'ed registers */ @@ -921,7 +922,7 @@ static void grcan_free_dma_buffers(struct net_device *dev) struct grcan_priv *priv = netdev_priv(dev); struct grcan_dma *dma = &priv->dma; - dma_free_coherent(&dev->dev, dma->base_size, dma->base_buf, + dma_free_coherent(priv->ofdev_dev, dma->base_size, dma->base_buf, dma->base_handle); memset(dma, 0, sizeof(*dma)); } @@ -946,7 +947,8 @@ static int grcan_allocate_dma_buffers(struct net_device *dev, /* Extra GRCAN_BUFFER_ALIGNMENT to allow for alignment */ dma->base_size = lsize + ssize + GRCAN_BUFFER_ALIGNMENT; - dma->base_buf = dma_alloc_coherent(&dev->dev, + + dma->base_buf = dma_alloc_coherent(priv->ofdev_dev, dma->base_size, &dma->base_handle, GFP_KERNEL); @@ -1587,6 +1589,7 @@ static int grcan_setup_netdev(struct platform_device *ofdev, memcpy(&priv->config, &grcan_module_config, sizeof(struct grcan_device_config)); priv->dev = dev; + priv->ofdev_dev = &ofdev->dev; priv->regs = base; priv->can.bittiming_const = &grcan_bittiming_const; priv->can.do_set_bittiming = grcan_set_bittiming; -- 2.17.1