diff options
author | Alan Cox <alan@linux.intel.com> | 2009-07-09 14:36:22 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-11 04:17:22 +0200 |
commit | 24a15a62dcb1968bf4ffdae55c88fa934d971180 (patch) | |
tree | 39a2231da07c6a47a4b66baf0158591a9739ac8f /include | |
parent | tty: Sort out the USB sysrq changes that wrecked performance (diff) | |
download | linux-24a15a62dcb1968bf4ffdae55c88fa934d971180.tar.xz linux-24a15a62dcb1968bf4ffdae55c88fa934d971180.zip |
tty: Fix USB kref leak
The sysrq code acquired a kref leak. Fix it by passing the tty separately
from the caller (thus effectively using the callers kref which all the
callers hold anyway)
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/usb/serial.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h index 44801d26a37a..0ec50ba62139 100644 --- a/include/linux/usb/serial.h +++ b/include/linux/usb/serial.h @@ -317,7 +317,8 @@ extern int usb_serial_generic_register(int debug); extern void usb_serial_generic_deregister(void); extern void usb_serial_generic_resubmit_read_urb(struct usb_serial_port *port, gfp_t mem_flags); -extern int usb_serial_handle_sysrq_char(struct usb_serial_port *port, +extern int usb_serial_handle_sysrq_char(struct tty_struct *tty, + struct usb_serial_port *port, unsigned int ch); extern int usb_serial_handle_break(struct usb_serial_port *port); |