tcm_usb_gadget: Fix enabled attribute failure

Fix up tcm_usbg_tpg_store_enable() return value to propagate
usbg_attach() failure up to user-space if no HDC is found.

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:15 +01:00
parent 4fef4e4355
commit 894a2556e7
1 changed files with 9 additions and 3 deletions

View File

@ -1505,10 +1505,14 @@ static ssize_t tcm_usbg_tpg_enable_store(struct config_item *item,
if (op > 1)
return -EINVAL;
if (op && tpg->gadget_connect)
if (op && tpg->gadget_connect) {
ret = -EINVAL;
goto out;
if (!op && !tpg->gadget_connect)
}
if (!op && !tpg->gadget_connect) {
ret = -EINVAL;
goto out;
}
if (op) {
ret = usbg_attach(tpg);
@ -1518,8 +1522,10 @@ static ssize_t tcm_usbg_tpg_enable_store(struct config_item *item,
usbg_detach(tpg);
}
tpg->gadget_connect = op;
out:
return count;
out:
return ret;
}
static ssize_t tcm_usbg_tpg_nexus_show(struct config_item *item, char *page)