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

Commit 91b385b4 authored by Hannes Reinecke's avatar Hannes Reinecke Committed by Nicholas Bellinger
Browse files

target/tcm_fc: return detailed error in ft_sess_create()



Not every failure is due to out-of-memory; the ACLs might not be
set, too. So return a detailed error code in ft_sess_create()
instead of just a NULL pointer.

Signed-off-by: default avatarHannes Reinecke <hare@suse.com>
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent b04bf583
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -223,7 +223,7 @@ static struct ft_sess *ft_sess_create(struct ft_tport *tport, u32 port_id,


	sess = kzalloc(sizeof(*sess), GFP_KERNEL);
	sess = kzalloc(sizeof(*sess), GFP_KERNEL);
	if (!sess)
	if (!sess)
		return NULL;
		return ERR_PTR(-ENOMEM);


	kref_init(&sess->kref); /* ref for table entry */
	kref_init(&sess->kref); /* ref for table entry */
	sess->tport = tport;
	sess->tport = tport;
@@ -234,8 +234,9 @@ static struct ft_sess *ft_sess_create(struct ft_tport *tport, u32 port_id,
					     TARGET_PROT_NORMAL, &initiatorname[0],
					     TARGET_PROT_NORMAL, &initiatorname[0],
					     sess, ft_sess_alloc_cb);
					     sess, ft_sess_alloc_cb);
	if (IS_ERR(sess->se_sess)) {
	if (IS_ERR(sess->se_sess)) {
		int rc = PTR_ERR(sess->se_sess);
		kfree(sess);
		kfree(sess);
		return NULL;
		sess = ERR_PTR(rc);
	}
	}
	return sess;
	return sess;
}
}