summaryrefslogtreecommitdiffstats
path: root/drivers/media/pci/cx88/cx88-dvb.c
diff options
context:
space:
mode:
authorAlexey Khoroshilov <khoroshilov@ispras.ru>2013-04-13 23:52:04 +0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-04-22 15:08:30 +0200
commit5ddfbbb9ca2e74d4b392ccef675641babba6b7f8 (patch)
tree8e2be3b14c057112be5d5d9fb8a708df2f06cc1e /drivers/media/pci/cx88/cx88-dvb.c
parent[media] solo6x10: Update the encoder mode on VIDIOC_S_FMT (diff)
downloadlinux-5ddfbbb9ca2e74d4b392ccef675641babba6b7f8.tar.xz
linux-5ddfbbb9ca2e74d4b392ccef675641babba6b7f8.zip
[media] cx88: Fix unsafe locking in suspend-resume
Legacy PCI suspend-resume handlers are called with interrupts enabled. But cx8800_suspend/cx8800_resume and cx8802_suspend_common/cx8802_resume_common use spin_lock/spin_unlock functions to acquire dev->slock, while the same lock is acquired in the corresponding irq-handlers: cx8800_irq and cx8802_irq. That means a deadlock is possible if an interrupt happens while suspend or resume owns the lock. The patch replaces spin_lock/spin_unlock with spin_lock_irqsave/spin_unlock_irqrestore. Found by Linux Driver Verification project (linuxtesting.org). [mchehab@redhat.com: Fix CodingStyle] Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/pci/cx88/cx88-dvb.c')
0 files changed, 0 insertions, 0 deletions