Re: [PATCH]Add scsi_add_host() failure handling for nsp32

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Jesper,

At Tue, 10 Jan 2006 14:11:52 +0100,
Jesper Juhl wrote:
> Add scsi_add_host() failure handling for nsp32
> and silence warning.
>   drivers/scsi/nsp32.c:2888: warning: ignoring return value of csi_add_host', declared with attribute warn_unused_result

Thanks for your report and patch.  However, I think your patch is not
complete because the error route needs some additional clean up code.

>  #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73))
> -	scsi_add_host (host, &PCIDEV->dev);
> +	ret = scsi_add_host (host, &PCIDEV->dev);
> +	if (ret) {
> +		printk(KERN_WARNING "nsp32: scsi_add_host failed\n");
> +		scsi_host_put(host);
> +		return ret;
> +	}

How about this patch instead?

-- gotom

Signed-off-by: GOTO Masanori <gotom@xxxxxxxxxx>

--- drivers/scsi/nsp32.c.gotom	2006-01-13 00:41:09.000000000 +0900
+++ drivers/scsi/nsp32.c	2006-01-13 00:54:26.661567144 +0900
@@ -2885,12 +2885,19 @@
         }
 
 #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,73))
-	scsi_add_host (host, &PCIDEV->dev);
+	ret = scsi_add_host(host, &PCIDEV->dev);
+	if (ret) {
+		nsp32_msg(KERN_ERR, "failed to add scsi host");
+		goto free_region;
+	}
 	scsi_scan_host(host);
 #endif
 	pci_set_drvdata(PCIDEV, host);
 	return DETECT_OK;
 
+ free_region:
+	release_region(host->io_port, host->n_io_port);
+
  free_irq:
 	free_irq(host->irq, data);
 
-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux