84a13aebf7
[ Upstream commit 7717cbec172c3554d470023b4020d5781961187e ] i2400mu_bus_bm_wait_for_ack() invokes usb_get_urb(), which increases the refcount of the "notif_urb". When i2400mu_bus_bm_wait_for_ack() returns, local variable "notif_urb" becomes invalid, so the refcount should be decreased to keep refcount balanced. The issue happens in all paths of i2400mu_bus_bm_wait_for_ack(), which forget to decrease the refcnt increased by usb_get_urb(), causing a refcnt leak. Fix this issue by calling usb_put_urb() before the i2400mu_bus_bm_wait_for_ack() returns. Signed-off-by: Xiyu Yang <xiyuyang19@fudan.edu.cn> Signed-off-by: Xin Tan <tanxin.ctf@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
---|---|---|
.. | ||
control.c | ||
debug-levels.h | ||
debugfs.c | ||
driver.c | ||
fw.c | ||
i2400m-usb.h | ||
i2400m.h | ||
Kconfig | ||
Makefile | ||
netdev.c | ||
op-rfkill.c | ||
rx.c | ||
sysfs.c | ||
tx.c | ||
usb-debug-levels.h | ||
usb-fw.c | ||
usb-notif.c | ||
usb-rx.c | ||
usb-tx.c | ||
usb.c |