USB: serial: mos7720: fix mos_parport refcount imbalance on error path
authorLin Yi <teroincn@163.com>
Wed, 20 Mar 2019 11:04:56 +0000 (19:04 +0800)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 13 Aug 2019 11:38:50 +0000 (12:38 +0100)
commit83ffc8b8e4e2713c929c356e76446bda0e9f50e2
treeb2363efc76784dc247bd3c9cf2c9e4fd94913ec8
parent919f4897748208d3f111e022bf23ce89e6088599
USB: serial: mos7720: fix mos_parport refcount imbalance on error path

commit 2908b076f5198d231de62713cb2b633a3a4b95ac upstream.

The write_parport_reg_nonblock() helper takes a reference to the struct
mos_parport, but failed to release it in a couple of error paths after
allocation failures, leading to a memory leak.

Johan said that move the kref_get() and mos_parport assignment to the
end of urbtrack initialisation is a better way, so move it. and
mos_parport do not used until urbtrack initialisation.

Signed-off-by: Lin Yi <teroincn@163.com>
Fixes: b69578df7e98 ("USB: usbserial: mos7720: add support for parallel port on moschip 7715")
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/usb/serial/mos7720.c