On Mon, Jul 13, 2009 at 04:18:48PM +0200, Jiri Slaby wrote: > On 07/13/2009 12:45 AM, Greg KH wrote: > > From: Bill Pemberton <wfp5p at virginia.edu> > > > > The parameter list for qt_close() was from the old non usb-serial > > driver. > > > > Signed-off-by: Bill Pemberton <wfp5p at virginia.edu> > > Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de> > > --- > > drivers/staging/serqt_usb2/serqt_usb2.c | 6 ++++-- > > 1 files changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/staging/serqt_usb2/serqt_usb2.c b/drivers/staging/serqt_usb2/serqt_usb2.c > > index 90b29b5..4e5db19 100644 > > --- a/drivers/staging/serqt_usb2/serqt_usb2.c > > +++ b/drivers/staging/serqt_usb2/serqt_usb2.c > > @@ -1041,17 +1041,19 @@ static void qt_block_until_empty(struct tty_struct *tty, > > } > > } > > > > -static void qt_close(struct tty_struct *tty, struct usb_serial_port *port, > > - struct file *filp) > > +static void qt_close( struct usb_serial_port *port) > > { > > struct usb_serial *serial = port->serial; > > struct quatech_port *qt_port; > > struct quatech_port *port0; > > + struct tty_struct *tty; > > int status; > > unsigned int index; > > status = 0; > > > > dbg("%s - port %d\n", __func__, port->number); > > + > > + tty = tty_port_tty_get(&port->port); > > Hmm, smells like a reference leak due to missing put? Looks like it. Bill, care to send a patch to fix this? thanks, greg k-h