From: Cristian Marussi Date: Mon, 20 Apr 2020 15:23:14 +0000 (+0100) Subject: firmware: arm_scmi: Clear channel for delayed responses X-Git-Tag: v5.8-rc1~138^2~26^2~3 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=d04fb2b2ddefad7c00edd29c1ed40188ce8f12a2;p=linux.git firmware: arm_scmi: Clear channel for delayed responses Clear channel properly when done processing a delayed response. This will let the platform firmware know that the channel is now free to use it for any new delayed response or notification. Link: https://lore.kernel.org/r/20200420152315.21008-4-cristian.marussi@arm.com Signed-off-by: Cristian Marussi (sudeep.holla: Updated commit log to reflect that channel is now free for platform to use) Signed-off-by: Sudeep Holla --- diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c index 31c6a89a6edd..07de196f15aa 100644 --- a/drivers/firmware/arm_scmi/driver.c +++ b/drivers/firmware/arm_scmi/driver.c @@ -256,10 +256,12 @@ static void scmi_handle_response(struct scmi_chan_info *cinfo, xfer->hdr.protocol_id, xfer->hdr.seq, msg_type); - if (msg_type == MSG_TYPE_DELAYED_RESP) + if (msg_type == MSG_TYPE_DELAYED_RESP) { + info->desc->ops->clear_channel(cinfo); complete(xfer->async_done); - else + } else { complete(&xfer->done); + } } /**