aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial
diff options
context:
space:
mode:
authorNishanth Aravamudan <nacc@us.ibm.com>2005-04-18 20:39:25 -0400
committerGreg K-H <gregkh@suse.de>2005-04-18 20:39:25 -0400
commit45f23f189ca66d98b1f8b7f3d30a194d3188039d (patch)
tree6fadab86aec4b6dd747ebfb316396842bf1501ab /drivers/usb/serial
parent6d5e8254bf488a40b7ae2faafbffa232ab19d541 (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.c10
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
573static inline long cond_wait_interruptible_timeout_irqrestore( 576static 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