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.torok...@gmail.com>
> Signed-off-by: Jarod Wilson <ja...@redhat.com>

Acked-by: Dmitry Torokhov <d...@mail.ru>

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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to