OSDN Git Service

usb: cdc-acm: Decrement tty port's refcount if probe() fail
authorJaejoong Kim <climbbb.kim@gmail.com>
Thu, 21 Jun 2018 08:45:05 +0000 (17:45 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Jun 2018 13:58:26 +0000 (21:58 +0800)
commitcae2bc768d176bfbdad7035bbcc3cdc973eb7984
tree09cd58c17e3575c3a4698271c0f9e403591cc050
parent61ef4b90793b3c1905ed8cbec228ff63ecb1a5c5
usb: cdc-acm: Decrement tty port's refcount if probe() fail

The cdc-acm driver does not have a refcount of itself, but uses a
tty_port's refcount. That is, if the refcount of tty_port is '0', we
can clean up the cdc-acm driver by calling the .destruct()
callback function of struct tty_port_operations.

The problem is the destruct() callback function is not called if
the probe() fails, because tty_port's refcount is not zero. So,
add tty_port_put() when probe() fails.

Signed-off-by: Jaejoong Kim <climbbb.kim@gmail.com>
Acked-by: Oliver Neukum <oneukum@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/class/cdc-acm.c