Skip to content

Commit

Permalink
[PATCH 2/2] cciss: remove calls to pci_disable_device
Browse files Browse the repository at this point in the history
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.

Signed-off-by: Mike Miller <mike.miller@hp.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
  • Loading branch information
mike.miller@hp.com authored and Jens Axboe committed Dec 13, 2006
1 parent 9804001 commit c4977f5
Showing 1 changed file with 1 addition and 5 deletions.
6 changes: 1 addition & 5 deletions drivers/block/cciss.c
Original file line number Diff line number Diff line change
Expand Up @@ -3006,10 +3006,8 @@ static int cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev)

err_out_free_res:
pci_release_regions(pdev);

err_out_disable_pdev:
pci_disable_device(pdev);
return err;

}

/*
Expand Down Expand Up @@ -3383,7 +3381,6 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
blk_cleanup_queue(drv->queue);
}
pci_release_regions(pdev);
pci_disable_device(pdev);
pci_set_drvdata(pdev, NULL);
free_hba(i);
return -1;
Expand Down Expand Up @@ -3453,7 +3450,6 @@ static void __devexit cciss_remove_one(struct pci_dev *pdev)
kfree(hba[i]->scsi_rejects.complete);
#endif
pci_release_regions(pdev);
pci_disable_device(pdev);
pci_set_drvdata(pdev, NULL);
free_hba(i);
}
Expand Down

0 comments on commit c4977f5

Please sign in to comment.