diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-05-15 11:26:03 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-05-15 11:26:03 -0400 |
commit | 5006ecc2d5073d4e52f54381fd0fee1575d4ce22 (patch) | |
tree | bedfff6f96118771b809de30e559cc370f94c7be /drivers/infiniband/hw/ipath/ipath_driver.c | |
parent | acc696d93dcf993dec123d69d599979e1456ffec (diff) | |
parent | 9be2f7c38e0bd64e8a0f74ea68df1e73e2ddfcc3 (diff) |
Merge branch 'master' into upstream
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_driver.c')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_driver.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c index e7617c3982ea..3697edafd6d2 100644 --- a/drivers/infiniband/hw/ipath/ipath_driver.c +++ b/drivers/infiniband/hw/ipath/ipath_driver.c | |||
@@ -116,10 +116,9 @@ static int __devinit ipath_init_one(struct pci_dev *, | |||
116 | #define PCI_DEVICE_ID_INFINIPATH_PE800 0x10 | 116 | #define PCI_DEVICE_ID_INFINIPATH_PE800 0x10 |
117 | 117 | ||
118 | static const struct pci_device_id ipath_pci_tbl[] = { | 118 | static const struct pci_device_id ipath_pci_tbl[] = { |
119 | {PCI_DEVICE(PCI_VENDOR_ID_PATHSCALE, | 119 | { PCI_DEVICE(PCI_VENDOR_ID_PATHSCALE, PCI_DEVICE_ID_INFINIPATH_HT) }, |
120 | PCI_DEVICE_ID_INFINIPATH_HT)}, | 120 | { PCI_DEVICE(PCI_VENDOR_ID_PATHSCALE, PCI_DEVICE_ID_INFINIPATH_PE800) }, |
121 | {PCI_DEVICE(PCI_VENDOR_ID_PATHSCALE, | 121 | { 0, } |
122 | PCI_DEVICE_ID_INFINIPATH_PE800)}, | ||
123 | }; | 122 | }; |
124 | 123 | ||
125 | MODULE_DEVICE_TABLE(pci, ipath_pci_tbl); | 124 | MODULE_DEVICE_TABLE(pci, ipath_pci_tbl); |
@@ -418,9 +417,19 @@ static int __devinit ipath_init_one(struct pci_dev *pdev, | |||
418 | 417 | ||
419 | ret = pci_set_dma_mask(pdev, DMA_64BIT_MASK); | 418 | ret = pci_set_dma_mask(pdev, DMA_64BIT_MASK); |
420 | if (ret) { | 419 | if (ret) { |
421 | dev_info(&pdev->dev, "pci_set_dma_mask unit %u " | 420 | /* |
422 | "fails: %d\n", dd->ipath_unit, ret); | 421 | * if the 64 bit setup fails, try 32 bit. Some systems |
423 | goto bail_regions; | 422 | * do not setup 64 bit maps on systems with 2GB or less |
423 | * memory installed. | ||
424 | */ | ||
425 | ret = pci_set_dma_mask(pdev, DMA_32BIT_MASK); | ||
426 | if (ret) { | ||
427 | dev_info(&pdev->dev, "pci_set_dma_mask unit %u " | ||
428 | "fails: %d\n", dd->ipath_unit, ret); | ||
429 | goto bail_regions; | ||
430 | } | ||
431 | else | ||
432 | ipath_dbg("No 64bit DMA mask, used 32 bit mask\n"); | ||
424 | } | 433 | } |
425 | 434 | ||
426 | pci_set_master(pdev); | 435 | pci_set_master(pdev); |
@@ -1949,7 +1958,7 @@ int ipath_reset_device(int unit) | |||
1949 | } | 1958 | } |
1950 | 1959 | ||
1951 | if (dd->ipath_pd) | 1960 | if (dd->ipath_pd) |
1952 | for (i = 1; i < dd->ipath_portcnt; i++) { | 1961 | for (i = 1; i < dd->ipath_cfgports; i++) { |
1953 | if (dd->ipath_pd[i] && dd->ipath_pd[i]->port_cnt) { | 1962 | if (dd->ipath_pd[i] && dd->ipath_pd[i]->port_cnt) { |
1954 | ipath_dbg("unit %u port %d is in use " | 1963 | ipath_dbg("unit %u port %d is in use " |
1955 | "(PID %u cmd %s), can't reset\n", | 1964 | "(PID %u cmd %s), can't reset\n", |