Received: by 2002:ac0:aed5:0:0:0:0:0 with SMTP id t21csp2280202imb; Mon, 4 Mar 2019 00:38:15 -0800 (PST) X-Google-Smtp-Source: APXvYqy7/tkXUa4gEcUhbzzcFtfrIynyIaOP44ePcAEx4FFupWawf7fWTSDC26D/ABniZY2Pf6VV X-Received: by 2002:a63:6e02:: with SMTP id j2mr16928845pgc.229.1551688695004; Mon, 04 Mar 2019 00:38:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551688694; cv=none; d=google.com; s=arc-20160816; b=ktHyJ9NP9imoUbR6HSgVc2Ff2oVIxntbLFHnDeBextsGzmuIscjqpD86T18xDp0bku qRcmg0Vr3j3fuXFuGoUt1NBLtzq7lQvtIZwL5CgZ1cxAQ0leb7QPBLq3f+PcqYTmvk1z CgK/6xZA0PtOPnBtBUCbPpAQi7xjY78s5SVBt0IYcGQuwlXQoC67krxHB3tA/YKbqyPn Q1qrWgqKIEZO6wp75RhzmKiotV5JfxClkgMDamMxG1wdiRBq04BQNiNWgF1FqvpBuD2w NHV519Ve633GPPoF2bJlj7qLsL1WUbz2Kl7yQQ7xbrbXwUQx4lmHgPhi6xFMhZLJ+wSL yUYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=y1SiiuoPkHdFFFaflmd+JNpLzSo4AvIwKkCnEPc1p6o=; b=Vo9EfdvE7BoHwLT8Hih2RNyvFj8sJRnhAvC7zRvM3IKpGt24uE35WcDASHkRMx2EBn GuY8DlcIIsuQWoYJ+82O+8OhKzTYXbSmuG64PHzW/ypiW/H0nOEJ4NoPFu0zE5l5+P74 jHu+EBsi3dPAsZbL1jRWslWR+UVRVrAzQhQWQ3ujVVqc/BbUdjhlLz5mWJG6De3OGP+w umffNAUjnxPrQlZ56OxdRtIlvcQNZd9+sns/D9a2H838NlY9NYFBPvc7dnvpVNae+Uwr ewq6q9B9mK4zm4frNG51JPXnjDqfyhBSesA4Ch5F7y9zxYQDUhnbIznr3yqdqlIyMclf giRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=h9e2j9V4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z15si4598439pgv.209.2019.03.04.00.37.57; Mon, 04 Mar 2019 00:38:14 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=h9e2j9V4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728551AbfCDIgE (ORCPT + 99 others); Mon, 4 Mar 2019 03:36:04 -0500 Received: from mail.kernel.org ([198.145.29.99]:44462 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728521AbfCDIf5 (ORCPT ); Mon, 4 Mar 2019 03:35:57 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B3715208E4; Mon, 4 Mar 2019 08:35:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551688556; bh=seBuSFC00fhvBqysKSKrdgzG5+sC53P+FuGB3qHzQec=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=h9e2j9V4KiZJ68u7dqWeN/05Oez2FkVX7z39Gl94lnd24J3oFAbBy1JvROIN/oArA 2jtl7fCelKRceHIlKJhuOiGnbpIwhIKmFGXzatix+acmAs8KFMUOUneMO4Oc2DVKd9 ZnCzbN6TE1rmpAPSpYiXueS0ocz29hAfe3hVt2uM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jonas Gorski , Christoph Hellwig , Florian Fainelli , Paul Burton , linux-mips@linux-mips.org, Ralf Baechle , James Hogan Subject: [PATCH 4.20 80/88] MIPS: BCM63XX: provide DMA masks for ethernet devices Date: Mon, 4 Mar 2019 09:23:03 +0100 Message-Id: <20190304081633.843674814@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190304081630.610632175@linuxfoundation.org> References: <20190304081630.610632175@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.20-stable review patch. If anyone has any objections, please let me know. ------------------ From: Jonas Gorski commit 18836b48ebae20850631ee2916d0cdbb86df813d upstream. The switch to the generic dma ops made dma masks mandatory, breaking devices having them not set. In case of bcm63xx, it broke ethernet with the following warning when trying to up the device: [ 2.633123] ------------[ cut here ]------------ [ 2.637949] WARNING: CPU: 0 PID: 325 at ./include/linux/dma-mapping.h:516 bcm_enetsw_open+0x160/0xbbc [ 2.647423] Modules linked in: gpio_button_hotplug [ 2.652361] CPU: 0 PID: 325 Comm: ip Not tainted 4.19.16 #0 [ 2.658080] Stack : 80520000 804cd3ec 00000000 00000000 804ccc00 87085bdc 87d3f9d4 804f9a17 [ 2.666707] 8049cf18 00000145 80a942a0 00000204 80ac0000 10008400 87085b90 eb3d5ab7 [ 2.675325] 00000000 00000000 80ac0000 000022b0 00000000 00000000 00000007 00000000 [ 2.683954] 0000007a 80500000 0013b381 00000000 80000000 00000000 804a1664 80289878 [ 2.692572] 00000009 00000204 80ac0000 00000200 00000002 00000000 00000000 80a90000 [ 2.701191] ... [ 2.703701] Call Trace: [ 2.706244] [<8001f3c8>] show_stack+0x58/0x100 [ 2.710840] [<800336e4>] __warn+0xe4/0x118 [ 2.715049] [<800337d4>] warn_slowpath_null+0x48/0x64 [ 2.720237] [<80289878>] bcm_enetsw_open+0x160/0xbbc [ 2.725347] [<802d1d4c>] __dev_open+0xf8/0x16c [ 2.729913] [<802d20cc>] __dev_change_flags+0x100/0x1c4 [ 2.735290] [<802d21b8>] dev_change_flags+0x28/0x70 [ 2.740326] [<803539e0>] devinet_ioctl+0x310/0x7b0 [ 2.745250] [<80355fd8>] inet_ioctl+0x1f8/0x224 [ 2.749939] [<802af290>] sock_ioctl+0x30c/0x488 [ 2.754632] [<80112b34>] do_vfs_ioctl+0x740/0x7dc [ 2.759459] [<80112c20>] ksys_ioctl+0x50/0x94 [ 2.763955] [<800240b8>] syscall_common+0x34/0x58 [ 2.768782] ---[ end trace fb1a6b14d74e28b6 ]--- [ 2.773544] bcm63xx_enetsw bcm63xx_enetsw.0: cannot allocate rx ring 512 Fix this by adding appropriate DMA masks for the platform devices. Fixes: f8c55dc6e828 ("MIPS: use generic dma noncoherent ops for simple noncoherent platforms") Signed-off-by: Jonas Gorski Reviewed-by: Christoph Hellwig Reviewed-by: Florian Fainelli Signed-off-by: Paul Burton Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Cc: Ralf Baechle Cc: James Hogan Cc: stable@vger.kernel.org # v4.19+ Signed-off-by: Greg Kroah-Hartman --- arch/mips/bcm63xx/dev-enet.c | 8 ++++++++ 1 file changed, 8 insertions(+) --- a/arch/mips/bcm63xx/dev-enet.c +++ b/arch/mips/bcm63xx/dev-enet.c @@ -70,6 +70,8 @@ static struct platform_device bcm63xx_en static int shared_device_registered; +static u64 enet_dmamask = DMA_BIT_MASK(32); + static struct resource enet0_res[] = { { .start = -1, /* filled at runtime */ @@ -99,6 +101,8 @@ static struct platform_device bcm63xx_en .resource = enet0_res, .dev = { .platform_data = &enet0_pd, + .dma_mask = &enet_dmamask, + .coherent_dma_mask = DMA_BIT_MASK(32), }, }; @@ -131,6 +135,8 @@ static struct platform_device bcm63xx_en .resource = enet1_res, .dev = { .platform_data = &enet1_pd, + .dma_mask = &enet_dmamask, + .coherent_dma_mask = DMA_BIT_MASK(32), }, }; @@ -157,6 +163,8 @@ static struct platform_device bcm63xx_en .resource = enetsw_res, .dev = { .platform_data = &enetsw_pd, + .dma_mask = &enet_dmamask, + .coherent_dma_mask = DMA_BIT_MASK(32), }, };