public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] IR/imon: remove incorrect calls to input_free_device
@ 2010-07-26 14:13 Jarod Wilson
  2010-07-26 17:34 ` Dmitry Torokhov
  0 siblings, 1 reply; 3+ messages in thread
From: Jarod Wilson @ 2010-07-26 14:13 UTC (permalink / raw)
  To: linux-media; +Cc: Dmitry Torokhov

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@gmail.com>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
---
 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);
-- 
1.7.1.1


-- 
Jarod Wilson
jarod@redhat.com


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] IR/imon: remove incorrect calls to input_free_device
  2010-07-26 14:13 [PATCH] IR/imon: remove incorrect calls to input_free_device Jarod Wilson
@ 2010-07-26 17:34 ` Dmitry Torokhov
  2010-07-26 19:05   ` Jarod Wilson
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry Torokhov @ 2010-07-26 17:34 UTC (permalink / raw)
  To: Jarod Wilson; +Cc: linux-media

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

Acked-by: Dmitry Torokhov <dtor@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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] IR/imon: remove incorrect calls to input_free_device
  2010-07-26 17:34 ` Dmitry Torokhov
@ 2010-07-26 19:05   ` Jarod Wilson
  0 siblings, 0 replies; 3+ messages in thread
From: Jarod Wilson @ 2010-07-26 19:05 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Jarod Wilson, linux-media

On Mon, Jul 26, 2010 at 1:34 PM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
> 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@gmail.com>
>> Signed-off-by: Jarod Wilson <jarod@redhat.com>
>
> Acked-by: Dmitry Torokhov <dtor@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().

Hm, I'm overdue to give that driver another look (bz.k.o #16351), will
add looking at these to the TODO list... (have immortalized them in
the bz).


-- 
Jarod Wilson
jarod@wilsonet.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-07-26 19:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-26 14:13 [PATCH] IR/imon: remove incorrect calls to input_free_device Jarod Wilson
2010-07-26 17:34 ` Dmitry Torokhov
2010-07-26 19:05   ` Jarod Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox