On Mon, Jul 26, 2010 at 10:13:52AM -0400, Jarod Wilson wrote: > Per Dmitry Torokhov (in a completely unrelated thread on linux-input), > following input_unregister_device with an input_free_device is > forbidden, the former is sufficient alone. > > CC: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dtor@xxxxxxx> Random notes about irmon: imon_init_idev(): memcpy(&ir->dev, ictx->dev, sizeof(struct device)); This is... scary. Devices are refcounted and if you copy them around all hell may break loose. On an unrelated note you do not need memcpy to copy a structire, *it->dev = *ictx->dev will do. imon_init_idev(), imon_init_touch(): - consizer returning proper error codes via ERR_PTR() and check wit IS_ERR(). > --- > drivers/media/IR/imon.c | 5 +---- > 1 files changed, 1 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/IR/imon.c b/drivers/media/IR/imon.c > index 0195dd5..08dff8c 100644 > --- a/drivers/media/IR/imon.c > +++ b/drivers/media/IR/imon.c > @@ -1944,7 +1944,6 @@ static struct imon_context *imon_init_intf0(struct usb_interface *intf) > > urb_submit_failed: > ir_input_unregister(ictx->idev); > - input_free_device(ictx->idev); > idev_setup_failed: > find_endpoint_failed: > mutex_unlock(&ictx->lock); > @@ -2014,10 +2013,8 @@ static struct imon_context *imon_init_intf1(struct usb_interface *intf, > return ictx; > > urb_submit_failed: > - if (ictx->touch) { > + if (ictx->touch) > input_unregister_device(ictx->touch); > - input_free_device(ictx->touch); > - } > touch_setup_failed: > find_endpoint_failed: > mutex_unlock(&ictx->lock); Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html