Re: [PATCH 1/3] media: rc: nuvoton: Tweak the interrupt enabling dance

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

 



On Mon, May 21, 2018 at 04:38:01PM +0200, Michał Winiarski wrote:
> It appears that we need to enable CIR device before attempting to touch
> some of the registers. Previously, this was not a big issue, since we
> were rarely seeing nvt_close() getting called.
> 
> Unfortunately, since:
> cb84343fced1 ("media: lirc: do not call close() or open() on unregistered devices")
> 
> The initial open() during probe from rc_setup_rx_device() is no longer
> successful, which means that userspace clients will actually end up
> calling nvt_open()/nvt_close().
> And since nvt_open() is broken, the device doesn't seem to work as
> expected.

Since that commit was in v4.16, should we have the following:

Cc: stable@xxxxxxxxxxxxxxx # v4.16+

On this commit (and not the other two, if I understand them correctly)?

Thanks,
Sean

> 
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199597
> Signed-off-by: Michał Winiarski <michal.winiarski@xxxxxxxxx>
> Cc: Jarod Wilson <jarod@xxxxxxxxxx>
> Cc: Sean Young <sean@xxxxxxxx>
> ---
>  drivers/media/rc/nuvoton-cir.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/rc/nuvoton-cir.c b/drivers/media/rc/nuvoton-cir.c
> index 5e1d866a61a5..ce8949b6549d 100644
> --- a/drivers/media/rc/nuvoton-cir.c
> +++ b/drivers/media/rc/nuvoton-cir.c
> @@ -922,6 +922,9 @@ static int nvt_open(struct rc_dev *dev)
>  	struct nvt_dev *nvt = dev->priv;
>  	unsigned long flags;
>  
> +	/* enable the CIR logical device */
> +	nvt_enable_logical_dev(nvt, LOGICAL_DEV_CIR);
> +
>  	spin_lock_irqsave(&nvt->lock, flags);
>  
>  	/* set function enable flags */
> @@ -937,9 +940,6 @@ static int nvt_open(struct rc_dev *dev)
>  
>  	spin_unlock_irqrestore(&nvt->lock, flags);
>  
> -	/* enable the CIR logical device */
> -	nvt_enable_logical_dev(nvt, LOGICAL_DEV_CIR);
> -
>  	return 0;
>  }
>  
> -- 
> 2.17.0



[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