Commit a9c7de0e authored by Christoph Hellwig's avatar Christoph Hellwig Committed by James Bottomley

[PATCH] cciss: handle scsi_add_host failure

Signed-off-by: default avatarMike Miller <mike.miller@hp.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 44f1aa71
......@@ -691,14 +691,13 @@ static int
cciss_scsi_detect(int ctlr)
{
struct Scsi_Host *sh;
int error;
sh = scsi_host_alloc(&cciss_driver_template, sizeof(struct ctlr_info *));
if (sh == NULL)
return 0;
goto fail;
sh->io_port = 0; // good enough? FIXME,
sh->n_io_port = 0; // I don't think we use these two...
sh->this_id = SELF_SCSI_ID;
((struct cciss_scsi_adapter_data_t *)
......@@ -706,10 +705,16 @@ cciss_scsi_detect(int ctlr)
sh->hostdata[0] = (unsigned long) hba[ctlr];
sh->irq = hba[ctlr]->intr;
sh->unique_id = sh->irq;
scsi_add_host(sh, &hba[ctlr]->pdev->dev); /* XXX handle failure */
error = scsi_add_host(sh, &hba[ctlr]->pdev->dev);
if (error)
goto fail_host_put;
scsi_scan_host(sh);
return 1;
fail_host_put:
scsi_host_put(sh);
fail:
return 0;
}
static void __exit cleanup_cciss_module(void);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment