diff options
author | Cristian Marussi <cristian.marussi@arm.com> | 2020-04-20 17:23:14 +0200 |
---|---|---|
committer | Sudeep Holla <sudeep.holla@arm.com> | 2020-04-20 18:25:26 +0200 |
commit | d04fb2b2ddefad7c00edd29c1ed40188ce8f12a2 (patch) | |
tree | 3a69fd9696f0447c5e64f0bd4e0718fdd2d6dcdf | |
parent | firmware: arm_scmi: Clear channel on reception of unexpected responses (diff) | |
download | linux-d04fb2b2ddefad7c00edd29c1ed40188ce8f12a2.tar.xz linux-d04fb2b2ddefad7c00edd29c1ed40188ce8f12a2.zip |
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>
-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); + } } /** |