[PATCH] drivers/scsi/ips.c: fix scsi_add_host warning

2007-08-07 Thread Eugene Teo
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(_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/


[PATCH] drivers/scsi/ips.c: fix scsi_add_host warning

2007-08-07 Thread Eugene Teo
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/