aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/usbip/stub_rx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/usbip/stub_rx.c')
-rw-r--r--drivers/staging/usbip/stub_rx.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/staging/usbip/stub_rx.c b/drivers/staging/usbip/stub_rx.c
index ae6ac82754a..6445f12cb4f 100644
--- a/drivers/staging/usbip/stub_rx.c
+++ b/drivers/staging/usbip/stub_rx.c
@@ -18,6 +18,7 @@
*/
#include <linux/slab.h>
+#include <linux/kthread.h>
#include "usbip_common.h"
#include "stub.h"
@@ -616,19 +617,15 @@ static void stub_rx_pdu(struct usbip_device *ud)
}
-void stub_rx_loop(struct usbip_task *ut)
+int stub_rx_loop(void *data)
{
- struct usbip_device *ud = container_of(ut, struct usbip_device, tcp_rx);
-
- while (1) {
- if (signal_pending(current)) {
- usbip_dbg_stub_rx("signal caught!\n");
- break;
- }
+ struct usbip_device *ud = data;
+ while (!kthread_should_stop()) {
if (usbip_event_happened(ud))
break;
stub_rx_pdu(ud);
}
+ return 0;
}