diff options
| -rw-r--r-- | drivers/input/joystick/iforce/iforce-main.c | 3 | ||||
| -rw-r--r-- | drivers/input/joystick/iforce/iforce-usb.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/input/joystick/iforce/iforce-main.c b/drivers/input/joystick/iforce/iforce-main.c index acc3a9efb00f..b1edd778639c 100644 --- a/drivers/input/joystick/iforce/iforce-main.c +++ b/drivers/input/joystick/iforce/iforce-main.c | |||
| @@ -228,6 +228,9 @@ static void iforce_close(struct input_dev *dev) | |||
| 228 | 228 | ||
| 229 | /* Disable force feedback playback */ | 229 | /* Disable force feedback playback */ |
| 230 | iforce_send_packet(iforce, FF_CMD_ENABLE, "\001"); | 230 | iforce_send_packet(iforce, FF_CMD_ENABLE, "\001"); |
| 231 | /* Wait for the command to complete */ | ||
| 232 | wait_event_interruptible(iforce->wait, | ||
| 233 | !test_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags)); | ||
| 231 | } | 234 | } |
| 232 | 235 | ||
| 233 | switch (iforce->bus) { | 236 | switch (iforce->bus) { |
diff --git a/drivers/input/joystick/iforce/iforce-usb.c b/drivers/input/joystick/iforce/iforce-usb.c index c0ad88369442..b41303d3ec54 100644 --- a/drivers/input/joystick/iforce/iforce-usb.c +++ b/drivers/input/joystick/iforce/iforce-usb.c | |||
| @@ -109,6 +109,7 @@ static void iforce_usb_out(struct urb *urb) | |||
| 109 | struct iforce *iforce = urb->context; | 109 | struct iforce *iforce = urb->context; |
| 110 | 110 | ||
| 111 | if (urb->status) { | 111 | if (urb->status) { |
| 112 | clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); | ||
| 112 | dbg("urb->status %d, exiting", urb->status); | 113 | dbg("urb->status %d, exiting", urb->status); |
| 113 | return; | 114 | return; |
| 114 | } | 115 | } |
