[PATCH 10/11] input: Fix I-Force sleeping issues

From: Vojtech Pavlik
Date: Fri Sep 19 2003 - 05:31:26 EST


You can pull this changeset from:
bk://kernel.bkbits.net/vojtech/input

===================================================================

ChangeSet@xxxxxx, 2003-09-19 01:24:36-07:00, oliver@xxxxxxxxxx
iforce-usb.c, iforce-packets.c:
Fix I-Force sleeping issues.


iforce-packets.c | 5 ++---
iforce-usb.c | 6 ++----
2 files changed, 4 insertions(+), 7 deletions(-)

===================================================================

diff -Nru a/drivers/input/joystick/iforce/iforce-packets.c b/drivers/input/joystick/iforce/iforce-packets.c
--- a/drivers/input/joystick/iforce/iforce-packets.c Fri Sep 19 12:15:47 2003
+++ b/drivers/input/joystick/iforce/iforce-packets.c Fri Sep 19 12:15:47 2003
@@ -166,8 +166,7 @@
iforce->expect_packet = 0;
iforce->ecmd = cmd;
memcpy(iforce->edata, data, IFORCE_MAX_LENGTH);
- if (waitqueue_active(&iforce->wait))
- wake_up(&iforce->wait);
+ wake_up(&iforce->wait);
}
#endif

@@ -264,7 +263,7 @@
set_current_state(TASK_INTERRUPTIBLE);
add_wait_queue(&iforce->wait, &wait);

- if (usb_submit_urb(iforce->ctrl, GFP_KERNEL)) {
+ if (usb_submit_urb(iforce->ctrl, GFP_ATOMIC)) {
set_current_state(TASK_RUNNING);
remove_wait_queue(&iforce->wait, &wait);
return -1;
diff -Nru a/drivers/input/joystick/iforce/iforce-usb.c b/drivers/input/joystick/iforce/iforce-usb.c
--- a/drivers/input/joystick/iforce/iforce-usb.c Fri Sep 19 12:15:47 2003
+++ b/drivers/input/joystick/iforce/iforce-usb.c Fri Sep 19 12:15:47 2003
@@ -116,8 +116,7 @@

iforce_usb_xmit(iforce);

- if (waitqueue_active(&iforce->wait))
- wake_up(&iforce->wait);
+ wake_up(&iforce->wait);
}

static void iforce_usb_ctrl(struct urb *urb, struct pt_regs *regs)
@@ -125,8 +124,7 @@
struct iforce *iforce = urb->context;
if (urb->status) return;
iforce->ecmd = 0xff00 | urb->actual_length;
- if (waitqueue_active(&iforce->wait))
- wake_up(&iforce->wait);
+ wake_up(&iforce->wait);
}

static int iforce_usb_probe(struct usb_interface *intf,

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/