diff options
author | Mark Haverkamp <markh@osdl.org> | 2005-09-20 12:56:36 -0700 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-09-26 17:46:18 -0500 |
commit | 08efb7b6116927c8b6e0af5064448e3aa13300e6 (patch) | |
tree | 55d9a30b8fdd669e12866250000425bef6fc00e0 | |
parent | 131256cf203d0df62014dda8453a70cb6af0d0bb (diff) | |
download | kernel_samsung_tuna-08efb7b6116927c8b6e0af5064448e3aa13300e6.zip kernel_samsung_tuna-08efb7b6116927c8b6e0af5064448e3aa13300e6.tar.gz kernel_samsung_tuna-08efb7b6116927c8b6e0af5064448e3aa13300e6.tar.bz2 |
[SCSI] aacraid: error return checking
This patch adds some additional error return checking and error return
value propagation during initialization. Also, the deprecation of
pci_module_init with pci_register_driver along with the change in return
values.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-rw-r--r-- | drivers/scsi/aacraid/linit.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index 31d96b9..de8490a 100644 --- a/drivers/scsi/aacraid/linit.c +++ b/drivers/scsi/aacraid/linit.c @@ -748,7 +748,8 @@ static int __devinit aac_probe_one(struct pci_dev *pdev, unique_id++; } - if (pci_enable_device(pdev)) + error = pci_enable_device(pdev); + if (error) goto out; if (pci_set_dma_mask(pdev, 0xFFFFFFFFULL) || @@ -800,7 +801,9 @@ static int __devinit aac_probe_one(struct pci_dev *pdev, goto out_free_fibs; aac->maximum_num_channels = aac_drivers[index].channels; - aac_get_adapter_info(aac); + error = aac_get_adapter_info(aac); + if (error < 0) + goto out_deinit; /* * Lets override negotiations and drop the maximum SG limit to 34 @@ -928,8 +931,8 @@ static int __init aac_init(void) printk(KERN_INFO "Adaptec %s driver (%s)\n", AAC_DRIVERNAME, aac_driver_version); - error = pci_module_init(&aac_pci_driver); - if (error) + error = pci_register_driver(&aac_pci_driver); + if (error < 0) return error; aac_cfg_major = register_chrdev( 0, "aac", &aac_cfg_fops); |