linux-stable/drivers/staging/vt6655
Jia-Ju Bai 28e006e14f vt6655: Fix a possible sleep-in-atomic bug in vt6655_suspend
[ Upstream commit 42c8eb3f6e ]

The driver may sleep under a spinlock, and the function call path is:
vt6655_suspend (acquire the spinlock)
  pci_set_power_state
    __pci_start_power_transition (drivers/pci/pci.c)
      msleep --> may sleep

To fix it, pci_set_power_state is called without having a spinlock.

This bug is found by my static analysis tool and my code review.

Signed-off-by: Jia-Ju Bai <baijiaju1990@163.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-12-20 10:07:33 +01:00
..
Kconfig
Makefile
TODO
baseband.c Staging: vt6655: baseband: Remove unnecessary space after a cast 2016-09-20 13:59:46 +02:00
baseband.h
card.c Staging: vt6655: card: Remove unnecessary space after a cast 2016-09-20 13:59:46 +02:00
card.h
channel.c
channel.h
desc.h
device.h
device_cfg.h
device_main.c vt6655: Fix a possible sleep-in-atomic bug in vt6655_suspend 2017-12-20 10:07:33 +01:00
dpc.c
dpc.h
key.c
key.h
mac.c
mac.h
power.c
power.h
rf.c
rf.h
rxtx.c Staging: vt6655: Remove explicit NULL comparison using Coccinelle 2016-10-02 17:29:11 +02:00
rxtx.h
srom.c
srom.h
test
tmacro.h
upc.h