On 5/10/2017 2:52 PM, Christoph Hellwig wrote:
On Wed, May 10, 2017 at 01:48:13PM -0500, Steven L. Roberts wrote:
From: "Steven L. Roberts" <robers97@xxxxxxxxx>
The Ominpath adapter driver fails to load the ppc64le platform
due to invalid PCI setup.
This patch makes the PCI configuration more robust and will
fixes 64 bit addressing for ppc64le.
Signed-off-by: Steven L Roberts <robers97@xxxxxxxxx>
---
drivers/infiniband/hw/hfi1/pcie.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/hfi1/pcie.c b/drivers/infiniband/hw/hfi1/pcie.c
index 93faf86..6a9f6f9 100644
--- a/drivers/infiniband/hw/hfi1/pcie.c
+++ b/drivers/infiniband/hw/hfi1/pcie.c
@@ -207,8 +207,8 @@ int hfi1_pcie_ddinit(struct hfi1_devdata *dd, struct pci_dev *pdev)
/*
* Save BARs and command to rewrite after device reset.
*/
- dd->pcibar0 = addr;
- dd->pcibar1 = addr >> 32;
+ pci_read_config_dword(dd->pcidev, PCI_BASE_ADDRESS_0, &dd->pcibar0);
+ pci_read_config_dword(dd->pcidev, PCI_BASE_ADDRESS_1, &dd->pcibar1);
Why do you even read / re-write them? Thjis isn't the drivers job.
We save them off so we can restore after a reset wipes them out. See
restore_pci_variables().
The restore function already uses the PCI_BASE_ADDRESS_* values so the
only change was needed here.
-Denny
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html