Hello, > > > Ist there a reason you are replacing at least somewhat descriptive labels > > > with numbers? > > > > Yes. > > > > To me these numbers speak more than not really descriptive labels like > > out_kfree out_kfree2 etc. I look at the code and see the flow. The most > > important thing here is the order in which the resources are allocated and > > if something goes wrong deallocated. Hence the numbers. > > > > Anyway if that's a problem I can rewrite it. > > Please do so, otherwise it's a good catch.
Ok. Second try. Possible memleak fix on error path. The changes: - out_kfree2 and out_free_urb replaced - missing scsi_host_put() added Here it goes: Signed-off-by: Mariusz Kozlowski <[EMAIL PROTECTED]> drivers/usb/image/microtek.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) --- linux-2.6.19-rc5-mm2-a/drivers/usb/image/microtek.c 2006-11-08 03:24:20.000000000 +0100 +++ linux-2.6.19-rc5-mm2-b/drivers/usb/image/microtek.c 2006-11-17 11:45:21.000000000 +0100 @@ -796,7 +796,7 @@ static int mts_usb_probe(struct usb_inte new_desc->context.scsi_status = kmalloc(1, GFP_KERNEL); if (!new_desc->context.scsi_status) - goto out_kfree2; + goto out_free_urb; new_desc->usb_dev = dev; new_desc->usb_intf = intf; @@ -822,18 +822,20 @@ static int mts_usb_probe(struct usb_inte new_desc->host = scsi_host_alloc(&mts_scsi_host_template, sizeof(new_desc)); if (!new_desc->host) - goto out_free_urb; + goto out_kfree2; new_desc->host->hostdata[0] = (unsigned long)new_desc; if (scsi_add_host(new_desc->host, NULL)) { err_retval = -EIO; - goto out_free_urb; + goto out_host_put; } scsi_scan_host(new_desc->host); usb_set_intfdata(intf, new_desc); return 0; + out_host_put: + scsi_host_put(new_desc->host); out_kfree2: kfree(new_desc->context.scsi_status); out_free_urb: -- Regards, Mariusz Kozlowski ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel