1 From foo@baz Tue Jun 12 11:38:32 CEST 2018
2 From: Govindarajulu Varadarajan <gvaradar@cisco.com>
3 Date: Wed, 23 May 2018 11:17:39 -0700
4 Subject: enic: set DMA mask to 47 bit
6 From: Govindarajulu Varadarajan <gvaradar@cisco.com>
8 [ Upstream commit 322eaa06d55ebc1402a4a8d140945cff536638b4 ]
10 In commit 624dbf55a359b ("driver/net: enic: Try DMA 64 first, then
11 failover to DMA") DMA mask was changed from 40 bits to 64 bits.
12 Hardware actually supports only 47 bits.
14 Fixes: 624dbf55a359b ("driver/net: enic: Try DMA 64 first, then failover to DMA")
15 Signed-off-by: Govindarajulu Varadarajan <gvaradar@cisco.com>
16 Signed-off-by: David S. Miller <davem@davemloft.net>
17 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
19 drivers/net/ethernet/cisco/enic/enic_main.c | 8 ++++----
20 1 file changed, 4 insertions(+), 4 deletions(-)
22 --- a/drivers/net/ethernet/cisco/enic/enic_main.c
23 +++ b/drivers/net/ethernet/cisco/enic/enic_main.c
24 @@ -2541,11 +2541,11 @@ static int enic_probe(struct pci_dev *pd
27 /* Query PCI controller on system for DMA addressing
28 - * limitation for the device. Try 64-bit first, and
29 + * limitation for the device. Try 47-bit first, and
33 - err = pci_set_dma_mask(pdev, DMA_BIT_MASK(64));
34 + err = pci_set_dma_mask(pdev, DMA_BIT_MASK(47));
36 err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
38 @@ -2559,10 +2559,10 @@ static int enic_probe(struct pci_dev *pd
39 goto err_out_release_regions;
42 - err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));
43 + err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(47));
45 dev_err(dev, "Unable to obtain %u-bit DMA "
46 - "for consistent allocations, aborting\n", 64);
47 + "for consistent allocations, aborting\n", 47);
48 goto err_out_release_regions;