ftdi-sio regression patch for jaunty

Tim Gardner tim.gardner at canonical.com
Fri Jul 24 13:31:19 BST 2009


Stefan Bader wrote:
> Jim Paris wrote:
>> Hi,
>>
>> 2.6.28 kernels (only) have a reference counting bug in ftdi_sio that
>> frequently renders /dev/ttyUSBn devices useless when they're closed,
>> fixed only by a reboot.  The bug was fixed in 2.6.29 by a9fec7102f.
>> Please consider applying it to your 2.6.28 kernels.
>>
>> (Should fix Ubuntu bugs #376128, #397499)
>>
> 
> Hi Jim,
> 
> thanks for the patch and the info. ACK from me as I think the change is 
> sensible and confined enough to be sure this won't cause hidden regressions and 
> the bug(s) (though not critical) is/are worth fixing.
> 
> -Stefan
> 
>> -jim
>>
>> commit a9fec7102f01f6464b19e13ffd9d8c48663379ad
>> Author: Jim Paris <jim at jtan.com>
>> Date:   Thu Jan 15 13:31:07 2009 +0000
>>
>>     ftdi_sio: fix kref leak
>>     
>>     Commit 4a90f09b20f4622dcbff1f0e1e6bae1704f8ad8c added kref stuff to
>>     ftdi_sio, but missed tty_kref_put at one exit point in
>>     ftdi_process_read.
>>     
>>     Signed-off-by: Jim Paris <jim at jtan.com>
>>     Signed-off-by: Alan Cox <alan at redhat.com>
>>     Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
>>
>> diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
>> index ef6cfa5..c70a8f6 100644
>> --- a/drivers/usb/serial/ftdi_sio.c
>> +++ b/drivers/usb/serial/ftdi_sio.c
>> @@ -2030,7 +2030,7 @@ static void ftdi_process_read(struct work_struct *work)
>>  			spin_unlock_irqrestore(&priv->rx_lock, flags);
>>  			dbg("%s - deferring remainder until unthrottled",
>>  					__func__);
>> -			return;
>> +			goto out;
>>  		}
>>  		spin_unlock_irqrestore(&priv->rx_lock, flags);
>>  		/* if the port is closed stop trying to read */
>>
>>
> 
> 

ACK
-- 
Tim Gardner tim.gardner at canonical.com



More information about the kernel-team mailing list