The driver may sleep in an interrupt handler.
The function call paths (from bottom to top) in Linux-4.17 are:

[FUNC] mutex_lock_nested
drivers/mfd/ezx-pcap.c, 272:
    mutex_lock_nested in pcap_adc_irq (interrupt handler)

[FUNC] mutex_lock_nested
drivers/mfd/ezx-pcap.c, 100:
    mutex_lock_nested in ezx_pcap_read
drivers/mfd/ezx-pcap.c, 281:
    ezx_pcap_read in pcap_adc_irq (interrupt handler)

[FUNC] mutex_lock_nested
drivers/mfd/ezx-pcap.c, 85:
    mutex_lock_nested in ezx_pcap_write
drivers/mfd/ezx-pcap.c, 285:
    ezx_pcap_write in pcap_adc_irq (interrupt handler)

[FUNC] mutex_lock_nested
drivers/mfd/ezx-pcap.c, 244:
    mutex_lock_nested in pcap_adc_trigger
drivers/mfd/ezx-pcap.c, 299:
    pcap_adc_trigger in pcap_adc_irq (interrupt handler)

These bugs are found by my static analysis tool DSAC.


Best wishes,
Jia-Ju Bai

Reply via email to