Re: [RESEND/PATCH] usb: gadget: goku_udc: Fix error path

From: Dan Carpenter
Date: Mon Oct 04 2010 - 10:10:49 EST


On Mon, Oct 04, 2010 at 06:54:00PM +0530, Rahul Ruikar wrote:
> Dan,
>
> Following things I tried to do with this change.
> there can be 3 cases where one need to handle device_register()
> 1) reaching error path but device_register() is never called..( ie,
> error occurred before calling device_register() function call, in this
> case "dev->reg_status" will have value "0" and in error handler
> device_unregister() or put_device() will not be called.
>

Good point. This is a bug in the original code.

> 2) error occurred at device_register() ( ie. it fails and calls error
> handler, this way "dev->reg_status" will have value "2" and in error
> handler, based on this value "put_device() will be called.
>

Yeah. But device_register() sucks. It shouldn't require such byzantine
error handling. Someone is working on this.

regards,
dan carpenter

> 3) error occured after device_register() success. ( ie, error occured
> due to some other function, ) in this case "dev->reg_status" will have
> value "1" and in error handler, based on this value
> "device_unregister" will be called.
>
> but anyways someone has now proposed to change it to new usb
> interface, so this patch is of no use now.
>
> Thanks
> Rahul Ruikar
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/