]> err.no Git - linux-2.6/blobdiff - drivers/infiniband/hw/ipath/ipath_driver.c
IB/ipath: Fix IB_EVENT_PORT_ERR event
[linux-2.6] / drivers / infiniband / hw / ipath / ipath_driver.c
index 5248f57fe198b02a2da550eb1d7d4a4ddc8f0d6a..1f152ded1e3c48083840e8119aecea8738be1cd3 100644 (file)
@@ -382,8 +382,6 @@ static int __devinit ipath_init_one(struct pci_dev *pdev,
 
        ipath_cdbg(VERBOSE, "initializing unit #%u\n", dd->ipath_unit);
 
-       read_bars(dd, pdev, &bar0, &bar1);
-
        ret = pci_enable_device(pdev);
        if (ret) {
                /* This can happen iff:
@@ -529,9 +527,6 @@ static int __devinit ipath_init_one(struct pci_dev *pdev,
                goto bail_regions;
        }
 
-       dd->ipath_deviceid = ent->device;       /* save for later use */
-       dd->ipath_vendorid = ent->vendor;
-
        dd->ipath_pcirev = pdev->revision;
 
 #if defined(__powerpc__)
@@ -2091,6 +2086,8 @@ void ipath_shutdown_device(struct ipath_devdata *dd)
                            INFINIPATH_IBCC_LINKINITCMD_SHIFT);
        ipath_cancel_sends(dd, 0);
 
+       signal_ib_event(dd, IB_EVENT_PORT_ERR);
+
        /* disable IBC */
        dd->ipath_control &= ~INFINIPATH_C_LINKENABLE;
        ipath_write_kreg(dd, dd->ipath_kregs->kr_control,