PATCH 2/2

This patch removes calls to pci_disable_device except in fail_all_cmds. The 
pci_disable_device function does something nasty to Smart Array controllers 
that pci_enable_device does not undo. So if the driver is unloaded it cannot be 
reloaded.
Also, customers can disable any pci device via the ROM Based Setup Utility 
(RBSU). If the customer has disabled the controller we should not try to 
blindly enable the card from the driver.
Please consider this for inclusion.

Thanks,
mikem

Signed-off-by: Mike Miller <[EMAIL PROTECTED]>

 drivers/block/cciss.c |    6 +-----
 1 files changed, 1 insertion(+), 5 deletions(-)
--------------------------------------------------------------------------------
diff -puN drivers/block/cciss.c~cciss_remove_pci_disable_device 
drivers/block/cciss.c
--- linux-2.6-work/drivers/block/cciss.c~cciss_remove_pci_disable_device        
2006-12-11 15:28:37.000000000 -0600
+++ linux-2.6-work-mikem/drivers/block/cciss.c  2006-12-11 15:29:52.000000000 
-0600
@@ -3006,10 +3006,8 @@ static int cciss_pci_init(ctlr_info_t *c
 
       err_out_free_res:
        pci_release_regions(pdev);
-
-      err_out_disable_pdev:
-       pci_disable_device(pdev);
        return err;
+
 }
 
 /*
@@ -3383,7 +3381,6 @@ static int __devinit cciss_init_one(stru
                        blk_cleanup_queue(drv->queue);
        }
        pci_release_regions(pdev);
-       pci_disable_device(pdev);
        pci_set_drvdata(pdev, NULL);
        free_hba(i);
        return -1;
@@ -3453,7 +3450,6 @@ static void __devexit cciss_remove_one(s
        kfree(hba[i]->scsi_rejects.complete);
 #endif
        pci_release_regions(pdev);
-       pci_disable_device(pdev);
        pci_set_drvdata(pdev, NULL);
        free_hba(i);
 }
_
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to