Thanks for your reply :)
Yes, you are right. Sorry for this false positive.
Thanks,
Jia-Ju Bai
On 2017/10/9 14:43, Takashi Iwai wrote:
On Mon, 09 Oct 2017 04:13:16 +0200,
Jia-Ju Bai wrote:
The riptide driver may sleep under a spinlock, and the function call path is:
snd_riptide_prepare (acquire the spinlock)
setsampleformat
sendcmd
riptide_reset
try_to_load_firmware
request_firmware
_request_firmware (drivers/base/firmware_class.c)
_request_firmware_prepare
kzalloc(GFP_KERNEL) --> may sleep
To fix it, GFP_KERNEL is replaced with GFP_ATOMIC in _request_firmware_prepare.
This bug is found by my static analysis tool and my code review.
Signed-off-by: Jia-Ju Bai<baijiaju1990@xxxxxxx>
This doesn't happen. try_to_load_firmware() aborts before the
request_firmware() call when chip == NULL, which is the case from
sendcmd().
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel