This patch fixes the following warning:

drivers/scsi/ips.c: In function 'ips_register_scsi':
drivers/scsi/ips.c:6867: warning: ignoring return value of
        'scsi_add_host', declared with attribute warn_unused_result

Signed-off-by: Eugene Teo <[EMAIL PROTECTED]>
---
 drivers/scsi/ips.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c
index 492a51b..b04c42f 100644
--- a/drivers/scsi/ips.c
+++ b/drivers/scsi/ips.c
@@ -6824,13 +6824,14 @@ ips_order_controllers(void)
 static int
 ips_register_scsi(int index)
 {
+       int rc = -1;
        struct Scsi_Host *sh;
        ips_ha_t *ha, *oldha = ips_ha[index];
        sh = scsi_host_alloc(&ips_driver_template, sizeof (ips_ha_t));
        if (!sh) {
                IPS_PRINTK(KERN_WARNING, oldha->pcidev,
                           "Unable to register controller with SCSI 
subsystem\n");
-               return -1;
+               return rc;
        }
        ha = IPS_HA(sh);
        memcpy(ha, oldha, sizeof (ips_ha_t));
@@ -6839,8 +6840,7 @@ ips_register_scsi(int index)
        if (request_irq(ha->irq, do_ipsintr, IRQF_SHARED, ips_name, ha)) {
                IPS_PRINTK(KERN_WARNING, ha->pcidev,
                           "Unable to install interrupt handler\n");
-               scsi_host_put(sh);
-               return -1;
+               goto err_put_sh;
        }
 
        kfree(oldha);
@@ -6864,10 +6864,18 @@ ips_register_scsi(int index)
        sh->max_channel = ha->nbus - 1;
        sh->can_queue = ha->max_cmds - 1;
 
-       scsi_add_host(sh, NULL);
+       rc = scsi_add_host(sh, NULL);
+       if (rc)
+               goto err_free_irq;
        scsi_scan_host(sh);
 
        return 0;
+
+err_free_irq:
+       free_irq(ha->irq);
+err_put_sh:
+       scsi_host_put(sh);
+       return rc;
 }
 
 /*---------------------------------------------------------------------------*/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to