According to device_main.c, 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

A possible fix is to replace msleep with mdelay in __pci_start_power_transition in drivers/pci/pci.c.

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


Thanks,
Jia-Ju Bai

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to