compile warning cleanup - handle error return from scsi_add_host Signed-off-by: Stephen Biggs Signed-off-by: Domen Puncer --- kj-domen/drivers/usb/image/microtek.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff -puN drivers/usb/image/microtek.c~return_code-drivers_usb_image drivers/usb/image/microtek.c --- kj/drivers/usb/image/microtek.c~return_code-drivers_usb_image 2005-03-02 10:48:02.000000000 +0100 +++ kj-domen/drivers/usb/image/microtek.c 2005-03-02 10:48:02.000000000 +0100 @@ -703,6 +703,7 @@ static int mts_usb_probe(struct usb_inte int ep_in_set[3]; /* this will break if we have more than three endpoints which is why we check */ int *ep_in_current = ep_in_set; + int err_retval = -ENOMEM; struct mts_desc * new_desc; struct vendor_product const* p; @@ -809,7 +810,10 @@ static int mts_usb_probe(struct usb_inte goto out_free_urb; new_desc->host->hostdata[0] = (unsigned long)new_desc; - scsi_add_host(new_desc->host, NULL); /* XXX handle failure */ + if (scsi_add_host(new_desc->host, NULL)) { + err_retval = -EIO; + goto out_free_urb; + } scsi_scan_host(new_desc->host); usb_set_intfdata(intf, new_desc); @@ -820,7 +824,7 @@ static int mts_usb_probe(struct usb_inte out_kfree: kfree(new_desc); out: - return -ENOMEM; + return err_retval; } static void mts_usb_disconnect (struct usb_interface *intf) _