Staging: usbip: usbip_start_threads(): handle kernel_thread failure
kernel_thread may fail, notice this. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
e48d94dac7
commit
05d6d677ab
1 changed files with 14 additions and 2 deletions
|
@ -406,8 +406,20 @@ void usbip_start_threads(struct usbip_device *ud)
|
||||||
/*
|
/*
|
||||||
* threads are invoked per one device (per one connection).
|
* threads are invoked per one device (per one connection).
|
||||||
*/
|
*/
|
||||||
kernel_thread(usbip_thread, (void *)&ud->tcp_rx, 0);
|
int retval;
|
||||||
kernel_thread(usbip_thread, (void *)&ud->tcp_tx, 0);
|
|
||||||
|
retval = kernel_thread(usbip_thread, (void *)&ud->tcp_rx, 0);
|
||||||
|
if (retval < 0) {
|
||||||
|
printk(KERN_ERR "Creating tcp_rx thread for ud %p failed.\n",
|
||||||
|
ud);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
retval = kernel_thread(usbip_thread, (void *)&ud->tcp_tx, 0);
|
||||||
|
if (retval < 0) {
|
||||||
|
printk(KERN_ERR "Creating tcp_tx thread for ud %p failed.\n",
|
||||||
|
ud);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* confirm threads are starting */
|
/* confirm threads are starting */
|
||||||
wait_for_completion(&ud->tcp_rx.thread_done);
|
wait_for_completion(&ud->tcp_rx.thread_done);
|
||||||
|
|
Loading…
Add table
Reference in a new issue