Hi,
if you are already on a waitqueue you must use GFP_ATOMIC.
Regards
Oliver
--- iforce.c.alt Tue Feb 5 19:26:13 2002
+++ iforce.c Tue Feb 5 19:27:28 2002
@@ -204,7 +204,7 @@
set_current_state(TASK_INTERRUPTIBLE);
add_wait_queue(&iforce->wait, &wait);
- if (usb_submit_urb(iforce->out)) {
+ if (usb_submit_urb(iforce->out, GFP_ATOMIC)) {
set_current_state(TASK_RUNNING);
remove_wait_queue(&iforce->wait, &wait);
return;
@@ -289,7 +289,7 @@
set_current_state(TASK_INTERRUPTIBLE);
add_wait_queue(&iforce->wait, &wait);
- if (usb_submit_urb(iforce->ctrl)) {
+ if (usb_submit_urb(iforce->ctrl, GFP_ATOMIC)) {
set_current_state(TASK_RUNNING);
remove_wait_queue(&iforce->wait, &wait);
return -1;
@@ -345,7 +345,7 @@
if (iforce->open++)
break;
iforce->irq->dev = iforce->usbdev;
- if (usb_submit_urb(iforce->irq))
+ if (usb_submit_urb(iforce->irq, GFP_KERNEL))
return -EIO;
break;
#endif
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel