| From: Govindarajulu Varadarajan <gvaradar@cisco.com> |
| Date: Wed, 23 May 2018 11:17:39 -0700 |
| Subject: enic: set DMA mask to 47 bit |
| |
| commit 322eaa06d55ebc1402a4a8d140945cff536638b4 upstream. |
| |
| 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> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/net/ethernet/cisco/enic/enic_main.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| --- a/drivers/net/ethernet/cisco/enic/enic_main.c |
| +++ b/drivers/net/ethernet/cisco/enic/enic_main.c |
| @@ -2198,11 +2198,11 @@ static int enic_probe(struct pci_dev *pd |
| pci_set_master(pdev); |
| |
| /* Query PCI controller on system for DMA addressing |
| - * limitation for the device. Try 64-bit first, and |
| + * limitation for the device. Try 47-bit first, and |
| * fail to 32-bit. |
| */ |
| |
| - err = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); |
| + err = pci_set_dma_mask(pdev, DMA_BIT_MASK(47)); |
| if (err) { |
| err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); |
| if (err) { |
| @@ -2216,10 +2216,10 @@ static int enic_probe(struct pci_dev *pd |
| goto err_out_release_regions; |
| } |
| } else { |
| - err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); |
| + err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(47)); |
| if (err) { |
| dev_err(dev, "Unable to obtain %u-bit DMA " |
| - "for consistent allocations, aborting\n", 64); |
| + "for consistent allocations, aborting\n", 47); |
| goto err_out_release_regions; |
| } |
| using_dac = 1; |