firmware: arm_scmi: Clear channel on reception of unexpected responses
authorCristian Marussi <cristian.marussi@arm.com>
Mon, 20 Apr 2020 15:23:13 +0000 (16:23 +0100)
committerSudeep Holla <sudeep.holla@arm.com>
Mon, 20 Apr 2020 16:25:26 +0000 (17:25 +0100)
When an unexpected response message is received we currently warn the user
and bail-out, ensure to also free the channel by invoking the transport
independent operation .clear_channel()

Link: https://lore.kernel.org/r/20200420152315.21008-3-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_scmi/driver.c

index 90c7a0bb62ef220950beb07488960fce399e87e8..31c6a89a6eddff9076c379bf45a752b645e7249d 100644 (file)
@@ -242,6 +242,7 @@ static void scmi_handle_response(struct scmi_chan_info *cinfo,
        /* Are we even expecting this? */
        if (!test_bit(xfer_id, minfo->xfer_alloc_table)) {
                dev_err(dev, "message for %d is not expected!\n", xfer_id);
+               info->desc->ops->clear_channel(cinfo);
                return;
        }