OSDN Git Service

staging: vt6655: Fix interrupt race condition on device start up.
authorMalcolm Priestley <tvboxspy@gmail.com>
Sun, 24 Mar 2019 18:53:49 +0000 (18:53 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Apr 2019 04:23:27 +0000 (06:23 +0200)
commit2e7c2f25e902579fc81636c0f5c9f856f4428d7c
treed8a0d0d414b5f0766100767cd6bed4148770a423
parent17400647682ac54e88e97b28ee0df85f9305a0dc
staging: vt6655: Fix interrupt race condition on device start up.

commit 3b9c2f2e0e99bb67c96abcb659b3465efe3bee1f upstream.

It appears on some slower systems that the driver can find its way
out of the workqueue while the interrupt is disabled by continuous polling
by it.

Move MACvIntEnable to vnt_interrupt_work so that it is always enabled
on all routes out of vnt_interrupt_process.

Move MACvIntDisable so that the device doesn't keep polling the system
while the workqueue is being processed.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
CC: stable@vger.kernel.org # v4.2+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6655/device_main.c