diff options
author | Nishanth Aravamudan <nacc@us.ibm.com> | 2005-04-18 20:39:25 -0400 |
---|---|---|
committer | Greg K-H <gregkh@suse.de> | 2005-04-18 20:39:25 -0400 |
commit | 45f23f189ca66d98b1f8b7f3d30a194d3188039d (patch) | |
tree | 6fadab86aec4b6dd747ebfb316396842bf1501ab /drivers/usb/serial | |
parent | 6d5e8254bf488a40b7ae2faafbffa232ab19d541 (diff) |
[PATCH] USB: usb/digi_acceleport: correct wait-queue state
First patch incorrectly changed state of the wait-queue usage to
TASK_UNINTERRUPTIBLE. Reverted to TASK_INTERRUPTIBLE.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial')
-rw-r--r-- | drivers/usb/serial/digi_acceleport.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c index 25f92788a6d4..a19a47f6cf12 100644 --- a/drivers/usb/serial/digi_acceleport.c +++ b/drivers/usb/serial/digi_acceleport.c | |||
@@ -568,6 +568,9 @@ static struct usb_serial_device_type digi_acceleport_4_device = { | |||
568 | * and the sleep. In other words, spin_unlock_irqrestore and | 568 | * and the sleep. In other words, spin_unlock_irqrestore and |
569 | * interruptible_sleep_on_timeout are "atomic" with respect to | 569 | * interruptible_sleep_on_timeout are "atomic" with respect to |
570 | * wake ups. This is used to implement condition variables. | 570 | * wake ups. This is used to implement condition variables. |
571 | * | ||
572 | * interruptible_sleep_on_timeout is deprecated and has been replaced | ||
573 | * with the equivalent code. | ||
571 | */ | 574 | */ |
572 | 575 | ||
573 | static inline long cond_wait_interruptible_timeout_irqrestore( | 576 | static inline long cond_wait_interruptible_timeout_irqrestore( |
@@ -576,13 +579,12 @@ static inline long cond_wait_interruptible_timeout_irqrestore( | |||
576 | { | 579 | { |
577 | DEFINE_WAIT(wait); | 580 | DEFINE_WAIT(wait); |
578 | 581 | ||
579 | prepare_to_wait(q, &wait, TASK_UNINTERRUPTIBLE); | 582 | prepare_to_wait(q, &wait, TASK_INTERRUPTIBLE); |
580 | spin_unlock_irqrestore(lock, flags); | 583 | spin_unlock_irqrestore(lock, flags); |
581 | timeout = schedule_timeout(timeout); | 584 | timeout = schedule_timeout(timeout); |
582 | finish_wait(q, &wait); | 585 | finish_wait(q, &wait); |
583 | 586 | ||
584 | return timeout; | 587 | return timeout; |
585 | |||
586 | } | 588 | } |
587 | 589 | ||
588 | 590 | ||
@@ -1596,7 +1598,7 @@ dbg( "digi_close: TOP: port=%d, open_count=%d", priv->dp_port_num, port->open_co | |||
1596 | dbg( "digi_close: write oob failed, ret=%d", ret ); | 1598 | dbg( "digi_close: write oob failed, ret=%d", ret ); |
1597 | 1599 | ||
1598 | /* wait for final commands on oob port to complete */ | 1600 | /* wait for final commands on oob port to complete */ |
1599 | prepare_to_wait(&priv->dp_flush_wait, &wait, TASK_UNINTERRUPTIBLE); | 1601 | prepare_to_wait(&priv->dp_flush_wait, &wait, TASK_INTERRUPTIBLE); |
1600 | schedule_timeout(DIGI_CLOSE_TIMEOUT); | 1602 | schedule_timeout(DIGI_CLOSE_TIMEOUT); |
1601 | finish_wait(&priv->dp_flush_wait, &wait); | 1603 | finish_wait(&priv->dp_flush_wait, &wait); |
1602 | 1604 | ||
@@ -1995,7 +1997,7 @@ opcode, line, status, val ); | |||
1995 | 1997 | ||
1996 | } else if( opcode == DIGI_CMD_IFLUSH_FIFO ) { | 1998 | } else if( opcode == DIGI_CMD_IFLUSH_FIFO ) { |
1997 | 1999 | ||
1998 | wake_up( &priv->dp_flush_wait ); | 2000 | wake_up_interruptible( &priv->dp_flush_wait ); |
1999 | 2001 | ||
2000 | } | 2002 | } |
2001 | 2003 | ||