Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3f890bc authored by Andrzej Pietrasiewicz's avatar Andrzej Pietrasiewicz Committed by Nicholas Bellinger
Browse files

usb: gadget: f_tcm: remove redundant singleton



The only instance is guaranteed with TPG_INSTANCES defined to 1.

Signed-off-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Acked-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent e5587ea1
Loading
Loading
Loading
Loading
+0 −9
Original line number Original line Diff line number Diff line
@@ -1371,8 +1371,6 @@ static int usbg_init_nodeacl(struct se_node_acl *se_nacl, const char *name)
	return 0;
	return 0;
}
}


struct usbg_tpg *the_only_tpg_I_currently_have;

static struct se_portal_group *usbg_make_tpg(
static struct se_portal_group *usbg_make_tpg(
	struct se_wwn *wwn,
	struct se_wwn *wwn,
	struct config_group *group,
	struct config_group *group,
@@ -1390,11 +1388,6 @@ static struct se_portal_group *usbg_make_tpg(
		return ERR_PTR(-EINVAL);
		return ERR_PTR(-EINVAL);
	if (kstrtoul(name + 5, 0, &tpgt) || tpgt > UINT_MAX)
	if (kstrtoul(name + 5, 0, &tpgt) || tpgt > UINT_MAX)
		return ERR_PTR(-EINVAL);
		return ERR_PTR(-EINVAL);
	if (the_only_tpg_I_currently_have) {
		pr_err("Until the gadget framework can't handle multiple\n");
		pr_err("gadgets, you can't do this here.\n");
		return ERR_PTR(-EBUSY);
	}
	ret = -ENODEV;
	ret = -ENODEV;
	mutex_lock(&tpg_instances_lock);
	mutex_lock(&tpg_instances_lock);
	for (i = 0; i < TPG_INSTANCES; ++i)
	for (i = 0; i < TPG_INSTANCES; ++i)
@@ -1437,7 +1430,6 @@ static struct se_portal_group *usbg_make_tpg(
	tpg->fi = tpg_instances[i].func_inst;
	tpg->fi = tpg_instances[i].func_inst;
	mutex_unlock(&opts->dep_lock);
	mutex_unlock(&opts->dep_lock);
	mutex_unlock(&tpg_instances_lock);
	mutex_unlock(&tpg_instances_lock);
	the_only_tpg_I_currently_have = tpg;
	return &tpg->se_tpg;
	return &tpg->se_tpg;


free_workqueue:
free_workqueue:
@@ -1481,7 +1473,6 @@ static void usbg_drop_tpg(struct se_portal_group *se_tpg)
	mutex_unlock(&tpg_instances_lock);
	mutex_unlock(&tpg_instances_lock);


	kfree(tpg);
	kfree(tpg);
	the_only_tpg_I_currently_have = NULL;
}
}


static struct se_wwn *usbg_make_tport(
static struct se_wwn *usbg_make_tport(
+0 −2
Original line number Original line Diff line number Diff line
@@ -129,6 +129,4 @@ struct f_uas {
	struct usb_request	*bot_req_out;
	struct usb_request	*bot_req_out;
};
};


extern struct usbg_tpg *the_only_tpg_I_currently_have;

#endif /* __TARGET_USB_GADGET_H__ */
#endif /* __TARGET_USB_GADGET_H__ */