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

Commit 17ba8a08 authored by Tomas Winkler's avatar Tomas Winkler Committed by Greg Kroah-Hartman
Browse files

mei: consolidate repeating code in mei_cl_irq_read_msg



A cb is always placed on the completion queue
during discarding queue. Hence this can be performed
upon discard.

Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c836790a
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -118,7 +118,6 @@ int mei_cl_irq_read_msg(struct mei_cl *cl,

	if (!mei_cl_is_connected(cl)) {
		cl_dbg(dev, cl, "not connected\n");
		list_move_tail(&cb->list, &complete_list->list);
		cb->status = -ENODEV;
		goto discard;
	}
@@ -128,8 +127,6 @@ int mei_cl_irq_read_msg(struct mei_cl *cl,
	if (buf_sz < cb->buf_idx) {
		cl_err(dev, cl, "message is too big len %d idx %zu\n",
		       mei_hdr->length, cb->buf_idx);

		list_move_tail(&cb->list, &complete_list->list);
		cb->status = -EMSGSIZE;
		goto discard;
	}
@@ -137,8 +134,6 @@ int mei_cl_irq_read_msg(struct mei_cl *cl,
	if (cb->buf.size < buf_sz) {
		cl_dbg(dev, cl, "message overflow. size %zu len %d idx %zu\n",
			cb->buf.size, mei_hdr->length, cb->buf_idx);

		list_move_tail(&cb->list, &complete_list->list);
		cb->status = -EMSGSIZE;
		goto discard;
	}
@@ -158,6 +153,8 @@ int mei_cl_irq_read_msg(struct mei_cl *cl,
	return 0;

discard:
	if (cb)
		list_move_tail(&cb->list, &complete_list->list);
	mei_irq_discard_msg(dev, mei_hdr);
	return 0;
}