forked from Minki/linux
media: rc: nuvoton: Tweak the interrupt enabling dance
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 commit cb84343fce
("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(). Since
nvt_open() is broken, the device doesn't seem to work as expected.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199597
Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Cc: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
f620d1d7af
commit
70c30b1ea7
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user