2020-04-20 15:25:37

by Cristian Marussi

[permalink] [raw]
Subject: [PATCH 0/4] SCMI various fixes to Response handling code

Hi

This serie bring a few fixes related to handling of responses in some
corner cases; renaming also .clear_notification() into clear_channel(),
being indeed a method of general utility not strictly related to
notifications. (and needed by these same fixes)

Based on scmi-next 5.7 [1], on top of:

commit a2fe63248225 ("firmware: arm_scmi: Fix return error code in
smc_send_message")

[1] git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git


Cristian Marussi (4):
firmware: arm_scmi: Rename .clear_notification() transport_ops
firmware: arm_scmi: Clear channel on reception of unexpected responses
firmware: arm_scmi: Clear channel for delayed responses
firmware: arm_scmi: Fix handling of unexpected delayed responses

drivers/firmware/arm_scmi/common.h | 6 +++---
drivers/firmware/arm_scmi/driver.c | 26 ++++++++++++++++++++++----
drivers/firmware/arm_scmi/mailbox.c | 6 +++---
drivers/firmware/arm_scmi/shmem.c | 2 +-
4 files changed, 29 insertions(+), 11 deletions(-)

--
2.17.1


2020-04-20 15:27:35

by Cristian Marussi

[permalink] [raw]
Subject: [PATCH 3/4] firmware: arm_scmi: Clear channel for delayed responses

Clear channel properly when done processing a delayed response.

Signed-off-by: Cristian Marussi <[email protected]>
---
drivers/firmware/arm_scmi/driver.c | 6 ++++--
1 file 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);
+ }
}

/**
--
2.17.1

2020-04-20 16:48:09

by Sudeep Holla

[permalink] [raw]
Subject: Re: [PATCH 0/4] SCMI various fixes to Response handling code

On Mon, 20 Apr 2020 16:23:11 +0100, Cristian Marussi wrote:
> Hi
>
> This serie bring a few fixes related to handling of responses in some
> corner cases; renaming also .clear_notification() into clear_channel(),
> being indeed a method of general utility not strictly related to
> notifications. (and needed by these same fixes)
>
> [...]

Applied, thanks!

[1/4] firmware: arm_scmi: Rename .clear_notification() transport_ops
commit: 87dff4e63cf2910f2e4a32d1cb3e4a1a25406eb7
[2/4] firmware: arm_scmi: Clear channel on reception of unexpected responses
commit: b37f5cc8d243479d7572445010fb6c9a4dff6dc4
[3/4] firmware: arm_scmi: Clear channel for delayed responses
commit: d04fb2b2ddefad7c00edd29c1ed40188ce8f12a2
[4/4] firmware: arm_scmi: Fix handling of unexpected delayed responses
commit: c5bceb98ce0e4ae8057a386c5171a868213fe226

--
Regards,
Sudeep