hso: don't change the state of a closed port
Subsystems (4)
PATCH 3/6 hso: don't change the state of a closed port
From: Jan Dumon <[email protected]>
Don't change the state of a port if it's not open. This fixes an issue where a port sometimes has to be opened twice before data can be received.
Signed-off-by Jan Dumon <[email protected]>
drivers/net/usb/hso.c +5 -5
@@ -1915,18 +1915,18 @@ static void intr_callback(struct urb *urif (serial !=NULL ) {D1 ("Pending read interrupt on port %d\n" , i);spin_lock (&serial->serial_lock); -if (serial->rx_state ==RX_IDLE ) { +if (serial->rx_state ==RX_IDLE && + serial->open_count >0 ) {/* Setup and send a ctrl req read on * port i */ -if (!serial->rx_urb_filled[0 ]) { +if (!serial->rx_urb_filled[0 ]) { serial->rx_state =RX_SENT ;hso_mux_serial_read (serial); }else serial->rx_state =RX_PENDING ; - }else { -D1 ("Already pending a read on " -"port %d\n" , i); +D1 ("Already a read pending on " +"port %d or port not open\n" , i); }spin_unlock (&serial->serial_lock); }
From: Jan Dumon <[email protected]>
Date: Tue, 5 Jan 2010 15:51:28 +0100
Quoted 6 lines
From: Jan Dumon <[email protected]>
Don't change the state of a port if it's not open. This fixes an issue where a port sometimes has to be opened twice before data can be received.
Signed-off-by Jan Dumon <[email protected]>
Applied.