-- 
Jeff Garzik              | Liberty is always dangerous, but
Building 1024            | it is the safest thing we have.
MandrakeSoft, Inc.       |      -- Harry Emerson Fosdick
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/3w-xxxx.c 
linux_2_3/drivers/scsi/3w-xxxx.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/3w-xxxx.c      Wed Mar  8 14:40:25 
2000
+++ linux_2_3/drivers/scsi/3w-xxxx.c    Thu May 25 06:19:25 2000
@@ -565,6 +565,8 @@
 
        dprintk(KERN_NOTICE "3w-xxxx: tw_findcards()\n");
        while ((tw_pci_dev = pci_find_device(TW_VENDOR_ID, TW_DEVICE_ID, tw_pci_dev))) 
{
+               if (pci_enable_device(tw_pci_dev))
+                       continue;
                /* Prepare temporary device extension */
                tw_dev=(TW_Device_Extension *)kmalloc(sizeof(TW_Device_Extension), 
GFP_ATOMIC);
                if (tw_dev == NULL) {
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/AM53C974.c 
linux_2_3/drivers/scsi/AM53C974.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/AM53C974.c     Fri Nov 19 14:30:54 
1999
+++ linux_2_3/drivers/scsi/AM53C974.c   Thu May 25 06:19:25 2000
@@ -616,27 +616,23 @@
 * 
 * Returns : number of host adapters detected
 **************************************************************************/
-static __inline__ int AM53C974_pci_detect(Scsi_Host_Template * tpnt)
+static inline int AM53C974_pci_detect(Scsi_Host_Template * tpnt)
 {
        int count = 0;          /* number of boards detected */
        struct pci_dev *pdev = NULL;
        unsigned short command;
 
        while ((pdev = pci_find_device(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_SCSI, 
pdev))) {
+               if (pci_enable_device(pdev))
+                       continue;
                pci_read_config_word(pdev, PCI_COMMAND, &command);
 
                /* check whether device is I/O mapped -- should be */
                if (!(command & PCI_COMMAND_IO))
                        continue;
 
-               /* PCI Spec 2.1 states that it is either the driver's or the PCI 
card's responsibility
-                  to set the PCI Master Enable Bit if needed. 
-                  (from Mark Stockton <[EMAIL PROTECTED]>) */
-               if (!(command & PCI_COMMAND_MASTER)) {
-                       command |= PCI_COMMAND_MASTER;
-                       printk("PCI Master Bit has not been set. Setting...\n");
-                       pci_write_config_word(pdev, PCI_COMMAND, command);
-               }
+               pci_set_master (pdev);
+
                /* everything seems OK now, so initialize */
                if (AM53C974_init(tpnt, pdev))
                        count++;
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/BusLogic.c 
linux_2_3/drivers/scsi/BusLogic.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/BusLogic.c     Sun May 21 14:38:47 
2000
+++ linux_2_3/drivers/scsi/BusLogic.c   Thu May 25 06:19:25 2000
@@ -775,6 +775,9 @@
       unsigned long BaseAddress1 = PCI_Device->resource[1].start;
       BusLogic_IO_Address_T IO_Address = BaseAddress0;
       BusLogic_PCI_Address_T PCI_Address = BaseAddress1;
+
+      if (pci_enable_device(PCI_Device))
+       continue;
       
       if (!(PCI_Device->resource[0].flags & PCI_BASE_ADDRESS_SPACE_IO))
        {
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/advansys.c 
linux_2_3/drivers/scsi/advansys.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/advansys.c     Sun Mar 19 21:19:35 
2000
+++ linux_2_3/drivers/scsi/advansys.c   Thu May 25 06:19:26 2000
@@ -4699,7 +4699,8 @@
                             NULL) {
                             pci_device_id_cnt++;
                         } else {
-                            pci_devicep[pci_card_cnt_max++] = pci_devp;
+                           if (pci_enable_device(pci_devp) == 0)
+                               pci_devicep[pci_card_cnt_max++] = pci_devp;
                         }
                     }
 
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/aic7xxx.c 
linux_2_3/drivers/scsi/aic7xxx.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/aic7xxx.c      Sat Apr 29 01:50:14 
2000
+++ linux_2_3/drivers/scsi/aic7xxx.c    Thu May 25 06:19:28 2000
@@ -9551,14 +9551,15 @@
       pdev = NULL;
       while ((pdev = pci_find_device(aic_pdevs[i].vendor_id,
                                      aic_pdevs[i].device_id,
-                                     pdev)))
+                                     pdev))) {
+       if (pci_enable_device(pdev))
+               continue;
 #else
       index = 0;
       while (!(pcibios_find_device(aic_pdevs[i].vendor_id,
                                    aic_pdevs[i].device_id,
-                                   index++, &pci_bus, &pci_devfn)) )
+                                   index++, &pci_bus, &pci_devfn)) ) {
 #endif
-      {
         if ( i == 0 ) /* We found one, but it's the 7810 RAID cont. */
         {
           if (aic7xxx_verbose & (VERBOSE_PROBE|VERBOSE_PROBE2))
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/atp870u.c 
linux_2_3/drivers/scsi/atp870u.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/atp870u.c      Sun Mar 12 22:39:48 
2000
+++ linux_2_3/drivers/scsi/atp870u.c    Thu May 25 06:19:30 2000
@@ -1615,7 +1615,7 @@
        h = 0;
        while (devid[h] != 0) {
                pdev[2] = pci_find_device(0x1191, devid[h], pdev[2]);
-               if (pdev[2] == NULL) {
+               if (pdev[2] == NULL || pci_enable_device(pdev[2])) {
                        h++;
                        index = 0;
                        continue;
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/dmx3191d.c 
linux_2_3/drivers/scsi/dmx3191d.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/dmx3191d.c     Mon Mar 27 12:48:11 
2000
+++ linux_2_3/drivers/scsi/dmx3191d.c   Thu May 25 06:19:30 2000
@@ -68,11 +68,10 @@
        while ((pdev = pci_find_device(PCI_VENDOR_ID_DOMEX,
                        PCI_DEVICE_ID_DOMEX_DMX3191D, pdev))) {
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,13)
-               unsigned long port = pdev->base_address[0] & PCI_IOADDRESS_MASK;
-#else
-               unsigned long port = pdev->resource[0].start;
-#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,3,13) */
+               unsigned long port = pci_resource_start (pdev, 0);
+
+               if (pci_enable_device(pdev))
+                       continue;
 
                if (check_region(port, DMX3191D_REGION)) {
                        dmx3191d_printk("region 0x%lx-0x%lx already reserved\n",
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/eata.c 
linux_2_3/drivers/scsi/eata.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/eata.c Tue Mar 21 17:43:39 2000
+++ linux_2_3/drivers/scsi/eata.c       Thu May 25 06:19:30 2000
@@ -829,7 +829,9 @@
 
       if (!(dev = pci_find_class(PCI_CLASS_STORAGE_SCSI << 8, dev))) break;
 
-      if (pci_read_config_dword(dev, PCI_BASE_ADDRESS_0, &addr)) continue;
+      addr = pci_resource_start (dev, 0);
+
+      pci_enable_device (dev); /* XXX handle error */
 
 #if defined(DEBUG_PCI_DETECT)
       printk("%s: tune_pci_port, bus %d, devfn 0x%x, addr 0x%x.\n",
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/eata_dma.c 
linux_2_3/drivers/scsi/eata_dma.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/eata_dma.c     Wed Feb  9 21:40:23 
2000
+++ linux_2_3/drivers/scsi/eata_dma.c   Thu May 25 06:19:30 2000
@@ -1388,13 +1388,15 @@
 #ifndef CONFIG_PCI
     printk("eata_dma: kernel PCI support not enabled. Skipping scan for PCI HBAs.\n");
 #else
-    struct pci_dev *dev; 
+    struct pci_dev *dev = NULL; 
     u32 base, x;
     u8 pal1, pal2, pal3;
 
-    for(dev=NULL; dev = pci_find_device(PCI_VENDOR_ID_DPT, PCI_DEVICE_ID_DPT, dev);) {
+    while ((dev = pci_find_device(PCI_VENDOR_ID_DPT, PCI_DEVICE_ID_DPT, dev)) != 
+NULL) {
            DBG(DBG_PROBE && DBG_PCI, 
                printk("eata_dma: find_PCI, HBA at %s\n", dev->name));
+           if (pci_enable_device(dev))
+               continue;
            pci_set_master(dev);
            base = dev->resource[0].flags;
            if (!(base & PCI_BASE_ADDRESS_SPACE_IO)) {
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/eata_pio.c 
linux_2_3/drivers/scsi/eata_pio.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/eata_pio.c     Fri Nov 19 14:30:54 
1999
+++ linux_2_3/drivers/scsi/eata_pio.c   Thu May 25 06:19:30 2000
@@ -878,12 +878,14 @@
 #ifndef CONFIG_PCI
     printk("eata_dma: kernel PCI support not enabled. Skipping scan for PCI HBAs.\n");
 #else
-    struct pci_dev *dev; 
+    struct pci_dev *dev = NULL; 
     u32 base, x;
 
-    for(dev=NULL; dev = pci_find_device(PCI_VENDOR_ID_DPT, PCI_DEVICE_ID_DPT, dev);) {
+    while ((dev = pci_find_device(PCI_VENDOR_ID_DPT, PCI_DEVICE_ID_DPT, dev)) != 
+NULL) {
            DBG(DBG_PROBE && DBG_PCI, 
                printk("eata_pio: find_PCI, HBA at %s\n", dev->name));
+           if (pci_enable_device(dev))
+               continue;
            pci_set_master(dev);
            base = dev->resource[0].flags;
            if (!(base & PCI_BASE_ADDRESS_SPACE_IO)) {
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/fdomain.c 
linux_2_3/drivers/scsi/fdomain.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/fdomain.c      Tue Feb 15 11:53:46 
2000
+++ linux_2_3/drivers/scsi/fdomain.c    Thu May 25 06:19:30 2000
@@ -828,6 +828,7 @@
                               PCI_DEVICE_ID_FD_36C70,
                               pdev)) == NULL)
      return 0;
+   if (pci_enable_device(pdev)) return 0;
        
 #if DEBUG_DETECT
    printk( "scsi: <fdomain> TMC-3260 detect:"
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/gdth.c 
linux_2_3/drivers/scsi/gdth.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/gdth.c Fri Jan 21 12:48:11 2000
+++ linux_2_3/drivers/scsi/gdth.c       Thu May 25 06:19:30 2000
@@ -533,6 +533,8 @@
         pdev = NULL;
         while ((pdev = pci_find_device(PCI_VENDOR_ID_VORTEX,device_id,pdev)) 
                != NULL) {
+           if (pci_enable_device(pdev))
+               continue;
             if (cnt >= MAXHA)
                 return cnt;
             /* GDT PCI controller found, resources are already in pdev */
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/ini9100u.c 
linux_2_3/drivers/scsi/ini9100u.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/ini9100u.c     Wed May 10 19:56:43 
2000
+++ linux_2_3/drivers/scsi/ini9100u.c   Thu May 25 06:19:31 2000
@@ -290,6 +290,8 @@
        for (i = 0; i < TULSZ(i91u_pci_devices); i++)
        {
                while ((pDev = pci_find_device(i91u_pci_devices[i].vendor_id, 
i91u_pci_devices[i].device_id, pDev)) != NULL) {
+                       if (pci_enable_device(pDev))
+                               continue;
                        pci_read_config_dword(pDev, 0x44, (u32 *) & dRegValue);
                        wBIOS = (UWORD) (dRegValue & 0xFF);
                        if (((dRegValue & 0xFF00) >> 8) == 0xFF)
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/inia100.c 
linux_2_3/drivers/scsi/inia100.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/inia100.c      Mon Dec 13 02:30:55 
1999
+++ linux_2_3/drivers/scsi/inia100.c    Thu May 25 08:57:26 2000
@@ -247,6 +247,8 @@
                                        inia100_pci_devices[i].device_id,
                                                       pdev)))
                        {
+                               if (pci_enable_device(pdev))
+                                       continue;
                                if (iAdapters >= MAX_SUPPORTED_ADAPTERS)
                                        break;  /* Never greater than maximum   */
 
@@ -261,23 +263,22 @@
                                         */
                                        bPCIBusNum = pdev->bus->number;
                                        bPCIDeviceNum = pdev->devfn;
-                                       dRegValue = pdev->resource[0].start;
+                                       dRegValue = pci_resource_start(pdev, 0);
                                        if (dRegValue == -1) {  /* Check return code   
         */
                                                printk("\n\rinia100: orchid read 
configuration error.\n");
                                                return (0);     /* Read configuration 
space error  */
                                        }
+
                                        /* <02> read from base address + 0x50 offset 
to get the wBIOS balue. */
                                        wBASE = (WORD) dRegValue;
 
-                                       /* Now read the interrupt line  */
+                                       /* Now read the interrupt line value */
                                        dRegValue = pdev->irq;
-                                       bInterrupt = dRegValue & 0xFF;  /* Assign 
interrupt line      */
-                                       pci_read_config_word(pdev, PCI_COMMAND, 
&command);
-                                       pci_write_config_word(pdev, PCI_COMMAND,
-                                                             command | 
PCI_COMMAND_MASTER | PCI_COMMAND_IO);
+                                       bInterrupt = dRegValue;         /* Assign 
+interrupt line      */
 
-                                       wBASE &= PCI_BASE_ADDRESS_IO_MASK;
                                        wBIOS = ORC_RDWORD(wBASE, 0x50);
+
+                                       pci_set_master(pdev);
 
 #ifdef MMAPIO
                                        base = wBASE & PAGE_MASK;
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/ips.c 
linux_2_3/drivers/scsi/ips.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/ips.c  Wed Feb  9 21:40:23 2000
+++ linux_2_3/drivers/scsi/ips.c        Thu May 25 06:19:31 2000
@@ -325,7 +325,8 @@
 
       if (!(dev = pci_find_device(IPS_VENDORID, IPS_DEVICEID, dev)))
          break;
-
+      if (pci_enable_device(dev))
+        break;
       /* stuff that we get in dev */
       irq = dev->irq;
       bus = dev->bus->number;
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/megaraid.c 
linux_2_3/drivers/scsi/megaraid.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/megaraid.c     Sun May 21 23:18:08 
2000
+++ linux_2_3/drivers/scsi/megaraid.c   Thu May 25 08:57:26 2000
@@ -1478,6 +1478,8 @@
   struct pci_dev *pdev = NULL;
   
   while ((pdev = pci_find_device (pciVendor, pciDev, pdev))) {
+    if (pci_enable_device(pdev))
+       continue;
     if ((flag & BOARD_QUARTZ) && (skip_id == -1)) {
       u16 magic;
       pci_read_config_word(pdev, PCI_CONF_AMISIG, &magic);
@@ -1505,18 +1507,13 @@
     }          
 
     /* Read the base port and IRQ from PCI */
-    megaBase = pdev->resource[0].start;
+    megaBase = pci_resource_start (pdev, 0);
     megaIrq  = pdev->irq;
 
-    if (flag & BOARD_QUARTZ) {
-
-      megaBase &= PCI_BASE_ADDRESS_MEM_MASK;
+    if (flag & BOARD_QUARTZ)
       megaBase = (long) ioremap (megaBase, 128);
-    }
-    else {
-      megaBase &= PCI_BASE_ADDRESS_IO_MASK;
+    else
       megaBase += 0x10;
-    }
 
     /* Initialize SCSI Host structure */
     host = scsi_register (pHostTmpl, sizeof (mega_host_config));
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/pci2000.c 
linux_2_3/drivers/scsi/pci2000.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/pci2000.c      Fri Apr 21 19:46:32 
2000
+++ linux_2_3/drivers/scsi/pci2000.c    Thu May 25 08:57:26 2000
@@ -679,10 +679,12 @@
 
        while ( (pdev = pci_find_device (VENDOR_PSI, DEVICE_ROY_1, pdev)) != NULL )
                {
+               if (pci_enable_device(pdev))
+                       continue;
                pshost = scsi_register (tpnt, sizeof(ADAPTER2000));
                padapter = HOSTDATA(pshost);
 
-               padapter->basePort = pdev->resource[1].start & 
PCI_BASE_ADDRESS_IO_MASK;
+               padapter->basePort = pci_resource_start (pdev, 1);
                DEB (printk ("\nBase Regs = %#04X", padapter->basePort));              
         // get the base I/O port address
                padapter->mb0   = padapter->basePort + RTR_MAILBOX;                    
                 // get the 32 bit mail boxes
                padapter->mb1   = padapter->basePort + RTR_MAILBOX + 4;
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/pci2220i.c 
linux_2_3/drivers/scsi/pci2220i.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/pci2220i.c     Fri Apr 21 19:46:32 
2000
+++ linux_2_3/drivers/scsi/pci2220i.c   Thu May 25 08:57:26 2000
@@ -2386,8 +2386,8 @@
        memset (&DaleSetup, 0, sizeof (DaleSetup));
        memset (DiskMirror, 0, sizeof (DiskMirror));
 
-       zr = pcidev->resource[1].start & PCI_BASE_ADDRESS_IO_MASK;
-       zl = pcidev->resource[2].start & PCI_BASE_ADDRESS_IO_MASK;
+       zr = pci_resource_start (pcidev, 1);
+       zl = pci_resource_start (pcidev, 2);
 
        padapter->basePort = zr;
        padapter->regRemap              = zr + RTR_LOCAL_REMAP;                        
         // 32 bit local space remap
@@ -2542,6 +2542,8 @@
 
        while ( (pcidev = pci_find_device (VENDOR_PSI, DEVICE_DALE_1, pcidev)) != NULL 
)
                {
+               if (pci_enable_device(pcidev))
+                       continue;
                pshost = scsi_register (tpnt, sizeof(ADAPTER2220I));
                padapter = HOSTDATA(pshost);
 
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/qla1280.c 
linux_2_3/drivers/scsi/qla1280.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/qla1280.c      Sat Feb 26 23:33:03 
2000
+++ linux_2_3/drivers/scsi/qla1280.c    Thu May 25 08:57:26 2000
@@ -801,13 +801,13 @@
        for( i=0; bdp->device_id != 0 && i < NUM_OF_ISP_DEVICES; i++, bdp++ ) {
 #if LINUX_VERSION_CODE > KERNEL_VERSION(2,1,95)
                while ((pdev = pci_find_device(QLA1280_VENDOR_ID,
-                       bdp->device_id, pdev ) ))  
+                       bdp->device_id, pdev ) ))  {
+               if (pci_enable_device(pdev)) continue;
 #else
                while (!(pcibios_find_device(QLA1280_VENDOR_ID,
                        bdp->device_id,
-                       index++, &pci_bus, &pci_devfn)) )  
+                       index++, &pci_bus, &pci_devfn)) )  {
 #endif
-                {
                 /* found a adapter */
                host = scsi_register(template, sizeof(scsi_qla_host_t));
                ha = (scsi_qla_host_t *) host->hostdata;
@@ -817,9 +817,7 @@
                /* Sanitize the information from PCI BIOS.  */
 #if LINUX_VERSION_CODE > KERNEL_VERSION(2,1,95)
                host->irq = pdev->irq;
-/* this depends on release 2.3.18 */
-               host->io_port = pdev->resource[0].start;
-/* MRS host->io_port = (unsigned int) pdev->base_address[0]; */
+               host->io_port = pci_resource_start(pdev, 0);
                ha->pci_bus = pdev->bus->number;
                ha->pci_device_fn = pdev->devfn;
                ha->pdev = pdev;
@@ -828,14 +826,13 @@
                pcibios_read_config_dword(pci_bus, pci_devfn, OFFSET(cfgp->base_port), 
&piobase);
                host->irq = pci_irq;
                host->io_port = (unsigned int) piobase;
+               host->io_port &= PCI_BASE_ADDRESS_IO_MASK;
                ha->pci_bus = pci_bus;
                ha->pci_device_fn = pci_devfn;
 #endif
                ha->device_id = bdp->device_id;
-               host->io_port &= PCI_BASE_ADDRESS_IO_MASK;
     
                 ha->devnum = i;
-                host->io_port &= PCI_BASE_ADDRESS_IO_MASK;
                if( qla1280_mem_alloc(ha) ) {
                        printk(KERN_INFO "qla1280: Failed to allocate memory for 
adapter\n");
                }
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/qlogicfc.c 
linux_2_3/drivers/scsi/qlogicfc.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/qlogicfc.c     Wed Feb 23 16:37:35 
2000
+++ linux_2_3/drivers/scsi/qlogicfc.c   Thu May 25 06:19:36 2000
@@ -746,6 +746,8 @@
 
        for (i=0; i<2; i++){
                while ((pdev = pci_find_device(PCI_VENDOR_ID_QLOGIC, device_ids[i], 
pdev))) {
+                       if (pci_enable_device(pdev))
+                               continue;
 
                        host = scsi_register(tmpt, sizeof(struct isp2x00_hostdata));
                        host->max_id = QLOGICFC_MAX_ID + 1;
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/qlogicisp.c 
linux_2_3/drivers/scsi/qlogicisp.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/qlogicisp.c    Mon Mar 27 13:35:56 
2000
+++ linux_2_3/drivers/scsi/qlogicisp.c  Thu May 25 06:19:36 2000
@@ -678,6 +678,9 @@
 
        while ((pdev = pci_find_device(PCI_VENDOR_ID_QLOGIC, 
PCI_DEVICE_ID_QLOGIC_ISP1020, pdev)))
        {
+               if (pci_enable_device(pdev))
+                       continue;
+
                host = scsi_register(tmpt, sizeof(struct isp1020_hostdata));
                hostdata = (struct isp1020_hostdata *) host->hostdata;
 
diff -urN vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/tmscsim.c 
linux_2_3/drivers/scsi/tmscsim.c
--- vanilla/linux-2.3.99-pre10-pre3/drivers/scsi/tmscsim.c      Fri Apr 21 19:08:45 
2000
+++ linux_2_3/drivers/scsi/tmscsim.c    Thu May 25 06:19:36 2000
@@ -2002,6 +2002,8 @@
     if ( PCI_PRESENT )
        while (PCI_FIND_DEVICE (PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD53C974))
        {
+               if (pci_enable_device(pdev))
+                       continue;
            DC390_LOCK_IO;              /* Remove this when going to new eh */
            PCI_GET_IO_AND_IRQ;
            DEBUG0(printk(KERN_INFO "DC390(%i): IO_PORT=%04x,IRQ=%x\n", 
dc390_adapterCnt, (UINT) io_port, irq);)

Reply via email to