tcm_usb_gadget: Fix nexus leak

This patch adds the missing tcm_usbg_drop_nexus() to properly
release tcm_usbg_nexus memory during typical ->fabric_drop_tpg()
callback shutdown.

Reported-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
Nicholas Bellinger 2015-12-11 16:06:14 +01:00
parent a0841d447c
commit 4fef4e4355
1 changed files with 3 additions and 0 deletions

View File

@ -1423,11 +1423,14 @@ static struct se_portal_group *usbg_make_tpg(
return &tpg->se_tpg;
}
static int tcm_usbg_drop_nexus(struct usbg_tpg *);
static void usbg_drop_tpg(struct se_portal_group *se_tpg)
{
struct usbg_tpg *tpg = container_of(se_tpg,
struct usbg_tpg, se_tpg);
tcm_usbg_drop_nexus(tpg);
core_tpg_deregister(se_tpg);
destroy_workqueue(tpg->workqueue);
kfree(tpg);