diff options
author | Cristian Marussi <cristian.marussi@arm.com> | 2020-04-20 16:23:14 +0100 |
---|---|---|
committer | Sudeep Holla <sudeep.holla@arm.com> | 2020-04-20 17:25:26 +0100 |
commit | d04fb2b2ddefad7c00edd29c1ed40188ce8f12a2 (patch) | |
tree | 3a69fd9696f0447c5e64f0bd4e0718fdd2d6dcdf /drivers/firmware/arm_scmi/driver.c | |
parent | b37f5cc8d243479d7572445010fb6c9a4dff6dc4 (diff) |
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 <cristian.marussi@arm.com>
(sudeep.holla: Updated commit log to reflect that channel is now free for
platform to use)
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Diffstat (limited to 'drivers/firmware/arm_scmi/driver.c')
-rw-r--r-- | drivers/firmware/arm_scmi/driver.c | 6 |
1 files changed, 4 insertions, 2 deletions
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); + } } /** |