From patchwork Wed Oct 30 21:12:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11220077 X-Patchwork-Delegate: paulburton@kernel.org Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 973F2913 for ; Wed, 30 Oct 2019 21:12:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7379320862 for ; Wed, 30 Oct 2019 21:12:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="Y3WqtsUh" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727133AbfJ3VMq (ORCPT ); Wed, 30 Oct 2019 17:12:46 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:60312 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726261AbfJ3VMq (ORCPT ); Wed, 30 Oct 2019 17:12:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=dgAmSwK4jvd1xGgkV8CBauhdgy9Uw2ZyrAWjVkChYqk=; b=Y3WqtsUhX+EHo86VfpjPm9P9Ug 8Bf4/V2wzj47Nc/QwB3d8PnnK/xJU4VvyR7nUdFkYYHv4stVjC5bd8xb9vX+DdoAkioyDhsYBduY6 npAo1HJc/Hepat5uVDayJy1lZ5pGzEHZAbXHPXO7j398SK7ecKVLncK8LYMF+lNlXjdGdV9KJcWzb ZoQrsaobmcy671yXgGh6L6m42sdxDI78TGgW1CfnGn4DeanbWhH1SYPntF+v3HfXqY0ao/ZkQBz48 VwfiuA/RWpjEM+WlRt6JoDKZfQyqjZgU3/MaA5eqQtmV0i/Bd7R5JNJHkg0YF/Y3a7e2Sy6Bzkfe4 pelMG4Kw==; Received: from [199.255.44.128] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1iPvGn-0007dH-UW; Wed, 30 Oct 2019 21:12:45 +0000 From: Christoph Hellwig To: "David S. Miller" , Thomas Bogendoerfer Cc: linux-mips@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/4] net: sgi: ioc3-eth: don't abuse dma_direct_* calls Date: Wed, 30 Oct 2019 14:12:30 -0700 Message-Id: <20191030211233.30157-2-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191030211233.30157-1-hch@lst.de> References: <20191030211233.30157-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-mips-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mips@vger.kernel.org dma_direct_ is a low-level API that must never be used by drivers directly. Switch to use the proper DMA API instead. Fixes: ed870f6a7aa2 ("net: sgi: ioc3-eth: use dma-direct for dma allocations") Signed-off-by: Christoph Hellwig --- drivers/net/ethernet/sgi/ioc3-eth.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/drivers/net/ethernet/sgi/ioc3-eth.c b/drivers/net/ethernet/sgi/ioc3-eth.c index deb636d653f3..477af82bf8a9 100644 --- a/drivers/net/ethernet/sgi/ioc3-eth.c +++ b/drivers/net/ethernet/sgi/ioc3-eth.c @@ -48,7 +48,7 @@ #include #include #include -#include +#include #include @@ -1242,8 +1242,8 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ioc3_stop(ip); /* Allocate rx ring. 4kb = 512 entries, must be 4kb aligned */ - ip->rxr = dma_direct_alloc_pages(ip->dma_dev, RX_RING_SIZE, - &ip->rxr_dma, GFP_ATOMIC, 0); + ip->rxr = dma_alloc_coherent(ip->dma_dev, RX_RING_SIZE, &ip->rxr_dma, + GFP_ATOMIC); if (!ip->rxr) { pr_err("ioc3-eth: rx ring allocation failed\n"); err = -ENOMEM; @@ -1251,9 +1251,8 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *ent) } /* Allocate tx rings. 16kb = 128 bufs, must be 16kb aligned */ - ip->txr = dma_direct_alloc_pages(ip->dma_dev, TX_RING_SIZE, - &ip->txr_dma, - GFP_KERNEL | __GFP_ZERO, 0); + ip->txr = dma_alloc_coherent(ip->dma_dev, TX_RING_SIZE, &ip->txr_dma, + GFP_KERNEL | __GFP_ZERO); if (!ip->txr) { pr_err("ioc3-eth: tx ring allocation failed\n"); err = -ENOMEM; @@ -1313,11 +1312,11 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *ent) out_stop: del_timer_sync(&ip->ioc3_timer); if (ip->rxr) - dma_direct_free_pages(ip->dma_dev, RX_RING_SIZE, ip->rxr, - ip->rxr_dma, 0); + dma_free_coherent(ip->dma_dev, RX_RING_SIZE, ip->rxr, + ip->rxr_dma); if (ip->txr) - dma_direct_free_pages(ip->dma_dev, TX_RING_SIZE, ip->txr, - ip->txr_dma, 0); + dma_free_coherent(ip->dma_dev, TX_RING_SIZE, ip->txr, + ip->txr_dma); out_res: pci_release_regions(pdev); out_free: @@ -1335,10 +1334,8 @@ static void ioc3_remove_one(struct pci_dev *pdev) struct net_device *dev = pci_get_drvdata(pdev); struct ioc3_private *ip = netdev_priv(dev); - dma_direct_free_pages(ip->dma_dev, RX_RING_SIZE, ip->rxr, - ip->rxr_dma, 0); - dma_direct_free_pages(ip->dma_dev, TX_RING_SIZE, ip->txr, - ip->txr_dma, 0); + dma_free_coherent(ip->dma_dev, RX_RING_SIZE, ip->rxr, ip->rxr_dma); + dma_free_coherent(ip->dma_dev, TX_RING_SIZE, ip->txr, ip->txr_dma); unregister_netdev(dev); del_timer_sync(&ip->ioc3_timer); From patchwork Wed Oct 30 21:12:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11220079 X-Patchwork-Delegate: paulburton@kernel.org Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5A1C9913 for ; Wed, 30 Oct 2019 21:12:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3701D20873 for ; Wed, 30 Oct 2019 21:12:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="PxUAV0zR" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727090AbfJ3VMx (ORCPT ); Wed, 30 Oct 2019 17:12:53 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:60340 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726261AbfJ3VMv (ORCPT ); Wed, 30 Oct 2019 17:12:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=22kvHD/hWcG2cO4hLMYG7wA29ncL+V047iuVK+xMpB8=; b=PxUAV0zR014r4JtQn3kEUh3skF OSH/O3wRztTyKKFOwkKC8wwbhmvwccT769gvh8iHfHErNt6JmCLhRnHpvYofxzJWrH33klMacDyNq VbcG0zjvx/9xCwc5FbxW6nB8yt9moF7cAjMNki/FWumSvUwbXkSCuSX8dWQ6LH7jKdc4PXLuh/vFY I6D1WUPnKgT1EjV8AqCMzD5rGgc0ojORPaH0cD1XoVcjTUgZOJUMJkG2aT3acmlvMaGeAcSRVpb0A WWUbsw66sxeGMJJFv3Ty+1jL6Gf+4anfkDbrCTDBtRIfbxAI1dJsC2qOEPcWw4ynbMujLmxKVZ64Q m2OmiN5Q==; Received: from [199.255.44.128] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1iPvGt-0007ez-9y; Wed, 30 Oct 2019 21:12:51 +0000 From: Christoph Hellwig To: "David S. Miller" , Thomas Bogendoerfer Cc: linux-mips@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/4] net: sgi: ioc3-eth: fix usage of GFP_* flags Date: Wed, 30 Oct 2019 14:12:31 -0700 Message-Id: <20191030211233.30157-3-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191030211233.30157-1-hch@lst.de> References: <20191030211233.30157-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-mips-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mips@vger.kernel.org dma_alloc_coherent always zeroes memory, there is no need for __GFP_ZERO. Also doing a GFP_ATOMIC allocation just before a GFP_KERNEL one is clearly bogus. Fixes: ed870f6a7aa2 ("net: sgi: ioc3-eth: use dma-direct for dma allocations") Signed-off-by: Christoph Hellwig --- drivers/net/ethernet/sgi/ioc3-eth.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/sgi/ioc3-eth.c b/drivers/net/ethernet/sgi/ioc3-eth.c index 477af82bf8a9..8a684d882e63 100644 --- a/drivers/net/ethernet/sgi/ioc3-eth.c +++ b/drivers/net/ethernet/sgi/ioc3-eth.c @@ -1243,7 +1243,7 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *ent) /* Allocate rx ring. 4kb = 512 entries, must be 4kb aligned */ ip->rxr = dma_alloc_coherent(ip->dma_dev, RX_RING_SIZE, &ip->rxr_dma, - GFP_ATOMIC); + GFP_KERNEL); if (!ip->rxr) { pr_err("ioc3-eth: rx ring allocation failed\n"); err = -ENOMEM; @@ -1252,7 +1252,7 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *ent) /* Allocate tx rings. 16kb = 128 bufs, must be 16kb aligned */ ip->txr = dma_alloc_coherent(ip->dma_dev, TX_RING_SIZE, &ip->txr_dma, - GFP_KERNEL | __GFP_ZERO); + GFP_KERNEL); if (!ip->txr) { pr_err("ioc3-eth: tx ring allocation failed\n"); err = -ENOMEM; From patchwork Wed Oct 30 21:12:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11220081 X-Patchwork-Delegate: paulburton@kernel.org Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A88B2139A for ; Wed, 30 Oct 2019 21:13:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8604620856 for ; Wed, 30 Oct 2019 21:13:03 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="TQ0TRt8u" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727191AbfJ3VM6 (ORCPT ); Wed, 30 Oct 2019 17:12:58 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:60346 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726261AbfJ3VM4 (ORCPT ); Wed, 30 Oct 2019 17:12:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=LXvtBXEVpwFWBBrDenmZhZZJyqaYLLSNmXotvCjOTBQ=; b=TQ0TRt8uKHWLXzjE99A1+Qkknq p8bYarvtyw7D4Pd1tYv9qAQcWdg5m8ehqHWR302n53EeAh00GdsQwFV99BPFHiYHRMDmmC+O7vYif S8QSRDVknXiTVgTDUmnigxCzdYpIoWFrGZ+6Y+FPu39UlbbdhXXgdRbHMkGOkyhgR+OK1okCHi4rs ypKTjUOrvHQ+GMkIURYE6cdlqQxf299hOuq//gJyCnurtJ1V61isawq3U/o9BjO3o57BYjEYv3qu0 F6p3hidYVJ0q5Vq6l7FgZhdvfsfxFuZmrOIG57cxDnN6RTGHwj1GFTuVPTr372ir8LX069E/NRUAd tOxYhqMg==; Received: from [199.255.44.128] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1iPvGy-0007fi-Hp; Wed, 30 Oct 2019 21:12:56 +0000 From: Christoph Hellwig To: "David S. Miller" , Thomas Bogendoerfer Cc: linux-mips@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/4] net: sgi: ioc3-eth: simplify setting the DMA mask Date: Wed, 30 Oct 2019 14:12:32 -0700 Message-Id: <20191030211233.30157-4-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191030211233.30157-1-hch@lst.de> References: <20191030211233.30157-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-mips-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mips@vger.kernel.org There is no need to fall back to a lower mask these days, the DMA mask just communictes the hardware supported features. Signed-off-by: Christoph Hellwig --- drivers/net/ethernet/sgi/ioc3-eth.c | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/drivers/net/ethernet/sgi/ioc3-eth.c b/drivers/net/ethernet/sgi/ioc3-eth.c index 8a684d882e63..dc2e22652b55 100644 --- a/drivers/net/ethernet/sgi/ioc3-eth.c +++ b/drivers/net/ethernet/sgi/ioc3-eth.c @@ -1173,26 +1173,14 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *ent) struct ioc3 *ioc3; unsigned long ioc3_base, ioc3_size; u32 vendor, model, rev; - int err, pci_using_dac; + int err; /* Configure DMA attributes. */ - err = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); - if (!err) { - pci_using_dac = 1; - err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); - if (err < 0) { - pr_err("%s: Unable to obtain 64 bit DMA for consistent allocations\n", - pci_name(pdev)); - goto out; - } - } else { - err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); - if (err) { - pr_err("%s: No usable DMA configuration, aborting.\n", - pci_name(pdev)); - goto out; - } - pci_using_dac = 0; + err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); + if (err) { + pr_err("%s: No usable DMA configuration, aborting.\n", + pci_name(pdev)); + goto out; } if (pci_enable_device(pdev)) @@ -1204,8 +1192,7 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *ent) goto out_disable; } - if (pci_using_dac) - dev->features |= NETIF_F_HIGHDMA; + dev->features |= NETIF_F_HIGHDMA; err = pci_request_regions(pdev, "ioc3"); if (err) From patchwork Wed Oct 30 21:12:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11220083 X-Patchwork-Delegate: paulburton@kernel.org Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 202AB139A for ; Wed, 30 Oct 2019 21:13:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id F22CA20856 for ; Wed, 30 Oct 2019 21:13:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="Oqch6uLD" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727223AbfJ3VNC (ORCPT ); Wed, 30 Oct 2019 17:13:02 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:60360 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726261AbfJ3VNC (ORCPT ); Wed, 30 Oct 2019 17:13:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=o8QfUcMnS8gUqdR9fcwA2U7OZTwxBYhfTAbhIYY+zu4=; b=Oqch6uLD557DcBUZjgvWwwMX4l Xe8fOdomS+HhHcCbKcIdk1C6JWUJeEoAiTL47GZFFbWIeTAOS+NrbZql1Vy1VRYb1a0UTHq7hDS40 VPga50HTic0DuL3sDepHWITdnLB8Ln0qe/Z/rIuWvQGSa/a8htWX8Ow1bpobltTesY8+yDeV7FJFJ jzvU7sMRNXByvRbd4qM91DxiIMj3uQ4fRezQvwflh31XX82UJCaXaiDjlTgGSrZPmieLP1Tbnchiz 9Bl0+0lTQoHDSfVYMMorsOJjW4duVTdpL+jN1dUJI9UTEHA6tr7v3FJI5tt3C7m/MfdAxi4FYKDFm 8mthse8A==; Received: from [199.255.44.128] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1iPvH3-0007gs-Pf; Wed, 30 Oct 2019 21:13:01 +0000 From: Christoph Hellwig To: "David S. Miller" , Thomas Bogendoerfer Cc: linux-mips@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/4] net: sgi: ioc3-eth: fix setting NETIF_F_HIGHDMA Date: Wed, 30 Oct 2019 14:12:33 -0700 Message-Id: <20191030211233.30157-5-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191030211233.30157-1-hch@lst.de> References: <20191030211233.30157-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-mips-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mips@vger.kernel.org Set NETIF_F_HIGHDMA together with the NETIF_F_IP_CSUM flag insted of letting the second assignment overwrite it. Probably doesn't matter in practice as none of the systems a IOC3 is usually found in has highmem to start with. Signed-off-by: Christoph Hellwig --- drivers/net/ethernet/sgi/ioc3-eth.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/ethernet/sgi/ioc3-eth.c b/drivers/net/ethernet/sgi/ioc3-eth.c index dc2e22652b55..1af68826810a 100644 --- a/drivers/net/ethernet/sgi/ioc3-eth.c +++ b/drivers/net/ethernet/sgi/ioc3-eth.c @@ -1192,8 +1192,6 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *ent) goto out_disable; } - dev->features |= NETIF_F_HIGHDMA; - err = pci_request_regions(pdev, "ioc3"); if (err) goto out_free; @@ -1274,7 +1272,7 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *ent) dev->netdev_ops = &ioc3_netdev_ops; dev->ethtool_ops = &ioc3_ethtool_ops; dev->hw_features = NETIF_F_IP_CSUM | NETIF_F_RXCSUM; - dev->features = NETIF_F_IP_CSUM; + dev->features = NETIF_F_IP_CSUM | NETIF_F_HIGHDMA; sw_physid1 = ioc3_mdio_read(dev, ip->mii.phy_id, MII_PHYSID1); sw_physid2 = ioc3_mdio_read(dev, ip->mii.phy_id, MII_PHYSID2);