Re: [PATCH v2] [media] rc: ite-cir: Initialise ite_dev::rdev earlier

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 20, 2012 at 12:32:27AM +0100, Ben Hutchings wrote:
> ite_dev::rdev is currently initialised in ite_probe() after
> rc_register_device() returns.  If a newly registered device is opened
> quickly enough, we may enable interrupts and try to use ite_dev::rdev
> before it has been initialised.  Move it up to the earliest point we
> can, right after calling rc_allocate_device().

I believe this is the same bug:

https://bugzilla.kernel.org/show_bug.cgi?id=46391

And the bug is present in other IR devices as well.

I've sent a proposed fix:

http://marc.info/?l=linux-kernel&m=134590803109050&w=2

Cheers,
--
Luis

> 
> References: http://bugs.debian.org/684441 Reported-and-tested-by:
> YunQiang Su <wzssyqa@xxxxxxxxx> Signed-off-by: Ben Hutchings
> <ben@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx --- Unlike the
> previous version, this will apply cleanly to the media
> staging/for_v3.6 branch.
> 
> Ben.
> 
>  drivers/media/rc/ite-cir.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c
> index 36fe5a3..24c77a4 100644
> --- a/drivers/media/rc/ite-cir.c
> +++ b/drivers/media/rc/ite-cir.c
> @@ -1473,6 +1473,7 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
>  	rdev = rc_allocate_device();
>  	if (!rdev)
>  		goto failure;
> +	itdev->rdev = rdev;
>  
>  	ret = -ENODEV;
>  
> @@ -1604,7 +1605,6 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
>  	if (ret)
>  		goto failure3;
>  
> -	itdev->rdev = rdev;
>  	ite_pr(KERN_NOTICE, "driver has been successfully loaded\n");
>  
>  	return 0;
> 
--
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


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux