diff options
author | Govindarajulu Varadarajan <gvaradar@cisco.com> | 2018-05-23 14:17:39 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-05-24 23:05:30 -0400 |
commit | 322eaa06d55ebc1402a4a8d140945cff536638b4 (patch) | |
tree | a3a98a7a9ac074f84f46a8edaf40c96c65c55ee0 | |
parent | af8d3c7c001ae7df1ed2b2715f058113efc86187 (diff) |
enic: set DMA mask to 47 bit
In commit 624dbf55a359b ("driver/net: enic: Try DMA 64 first, then
failover to DMA") DMA mask was changed from 40 bits to 64 bits.
Hardware actually supports only 47 bits.
Fixes: 624dbf55a359b ("driver/net: enic: Try DMA 64 first, then failover to DMA")
Signed-off-by: Govindarajulu Varadarajan <gvaradar@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/cisco/enic/enic_main.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c index 81684acf52af..8a8b12b720ef 100644 --- a/drivers/net/ethernet/cisco/enic/enic_main.c +++ b/drivers/net/ethernet/cisco/enic/enic_main.c | |||
@@ -2747,11 +2747,11 @@ static int enic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
2747 | pci_set_master(pdev); | 2747 | pci_set_master(pdev); |
2748 | 2748 | ||
2749 | /* Query PCI controller on system for DMA addressing | 2749 | /* Query PCI controller on system for DMA addressing |
2750 | * limitation for the device. Try 64-bit first, and | 2750 | * limitation for the device. Try 47-bit first, and |
2751 | * fail to 32-bit. | 2751 | * fail to 32-bit. |
2752 | */ | 2752 | */ |
2753 | 2753 | ||
2754 | err = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); | 2754 | err = pci_set_dma_mask(pdev, DMA_BIT_MASK(47)); |
2755 | if (err) { | 2755 | if (err) { |
2756 | err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); | 2756 | err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); |
2757 | if (err) { | 2757 | if (err) { |
@@ -2765,10 +2765,10 @@ static int enic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
2765 | goto err_out_release_regions; | 2765 | goto err_out_release_regions; |
2766 | } | 2766 | } |
2767 | } else { | 2767 | } else { |
2768 | err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); | 2768 | err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(47)); |
2769 | if (err) { | 2769 | if (err) { |
2770 | dev_err(dev, "Unable to obtain %u-bit DMA " | 2770 | dev_err(dev, "Unable to obtain %u-bit DMA " |
2771 | "for consistent allocations, aborting\n", 64); | 2771 | "for consistent allocations, aborting\n", 47); |
2772 | goto err_out_release_regions; | 2772 | goto err_out_release_regions; |
2773 | } | 2773 | } |
2774 | using_dac = 1; | 2774 | using_dac = 1; |