Ack: Re: [PATCH 1/1] [media] ene_ir: Fix driver initialisation

Herton Ronaldo Krzesinski herton.krzesinski at canonical.com
Tue Jun 19 15:16:46 UTC 2012


On Tue, Jun 19, 2012 at 04:03:36PM +0100, Luis Henriques wrote:
> commit 9ef449c6b31bb6a8e6dedc24de475a3b8c79be20 ("[media] rc: Postpone ISR
> registration") fixed an early ISR registration on several drivers.  It did
> however also introduced a bug by moving the invocation of pnp_port_start()
> to the end of the probe function.
> 
> This patch fixes this issue by moving the invocation of pnp_port_start() to
> an earlier stage in the probe function.
> 
> Cc: stable at vger.kernel.org
> Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
> ---
>  drivers/media/rc/ene_ir.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/media/rc/ene_ir.c b/drivers/media/rc/ene_ir.c
> index ed77c6d..5327061 100644
> --- a/drivers/media/rc/ene_ir.c
> +++ b/drivers/media/rc/ene_ir.c
> @@ -1018,6 +1018,8 @@ static int ene_probe(struct pnp_dev *pnp_dev, const struct pnp_device_id *id)
>  
>  	spin_lock_init(&dev->hw_lock);
>  
> +	dev->hw_io = pnp_port_start(pnp_dev, 0);
> +

Ack, dev->hw_io needs to be set early for hardware initialization
functions to work. And reporter confirmed the fix.

>  	pnp_set_drvdata(pnp_dev, dev);
>  	dev->pnp_dev = pnp_dev;
>  
> @@ -1072,7 +1074,6 @@ static int ene_probe(struct pnp_dev *pnp_dev, const struct pnp_device_id *id)
>  
>  	/* claim the resources */
>  	error = -EBUSY;
> -	dev->hw_io = pnp_port_start(pnp_dev, 0);
>  	if (!request_region(dev->hw_io, ENE_IO_SIZE, ENE_DRIVER_NAME)) {
>  		dev->hw_io = -1;
>  		dev->irq = -1;
> -- 
> 1.7.9.5
> 
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
> 

-- 
[]'s
Herton




More information about the kernel-team mailing list