Подробности
[В начало]
Проблема в реализации № L0041
Краткое описание
serqt_usb2: kmalloc(GFP_NOIO) вызывается при захваченном spinlock
Подробное описание
qt_break() вызывает usb_control_msg() с захваченным spinlock, тогда как usb_control_msg() вызывает kmalloc(GFP_NOIO) и usb_alloc_urb(GFP_NOIO). То же верно и для qt_tiocmget() и qt_tiocmset(). Также вызов wait_for_completion_timeout() в usb_control_msg() демонстрирует, что spinlock не самое лучшее решение в данном случае.
Способы устранения
Заменить spinlock на mutex.
Компонент
linux-kernel 3.1
Принято
https://lkml.org/lkml/2011/8/9/23
commit
Статус
Исправлено в kernel 3.2-rc1
[В начало]
»