ftdi-sio regression patch for jaunty

Stefan Bader stefan.bader at canonical.com
Fri Jul 24 09:57:43 UTC 2009


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 */
> 
> 


-- 

When all other means of communication fail, try words!






More information about the kernel-team mailing list