drivers/scsi/ips.c: fix scsi_add_host warning
Subsystems (3)
PATCH 1/1 drivers/scsi/ips.c: fix scsi_add_host warning
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(-)
drivers/scsi/ips.c +12 -4
@@ -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; }/*---------------------------------------------------------------------------*/