Fix for panic at USB controller attach failure during cold boot.
Reported by: Jan Henrik Sylvester, Xin LI and more. MFC after: 3 days
This commit is contained in:
parent
2614c5c47c
commit
87a133a7a5
@ -67,11 +67,13 @@ static int usb_pcount;
|
||||
#define USB_THREAD_CREATE(f, s, p, ...) \
|
||||
kproc_kthread_add((f), (s), &usbproc, (p), RFHIGHPID, \
|
||||
0, "usb", __VA_ARGS__)
|
||||
#define USB_THREAD_SUSPEND_CHECK() kthread_suspend_check()
|
||||
#define USB_THREAD_SUSPEND(p) kthread_suspend(p,0)
|
||||
#define USB_THREAD_EXIT(err) kthread_exit()
|
||||
#else
|
||||
#define USB_THREAD_CREATE(f, s, p, ...) \
|
||||
kthread_create((f), (s), (p), RFHIGHPID, 0, __VA_ARGS__)
|
||||
#define USB_THREAD_SUSPEND_CHECK() kthread_suspend_check()
|
||||
#define USB_THREAD_SUSPEND(p) kthread_suspend(p,0)
|
||||
#define USB_THREAD_EXIT(err) kthread_exit(err)
|
||||
#endif
|
||||
@ -98,6 +100,9 @@ usb_process(void *arg)
|
||||
struct usb_proc_msg *pm;
|
||||
struct thread *td;
|
||||
|
||||
/* in case of attach error, check for suspended */
|
||||
USB_THREAD_SUSPEND_CHECK();
|
||||
|
||||
/* adjust priority */
|
||||
td = curthread;
|
||||
thread_lock(td);
|
||||
|
Loading…
x
Reference in New Issue
Block a user