firmware: arm_scmi: Avoid multiple initialisations of hdr->protocol_id
authorSudeep Holla <sudeep.holla@arm.com>
Tue, 8 Jun 2021 14:01:40 +0000 (15:01 +0100)
committerSudeep Holla <sudeep.holla@arm.com>
Tue, 8 Jun 2021 15:06:12 +0000 (16:06 +0100)
Since the hdr->protocol_id is set from the scmi_protocol_instance handle
just before the transfer, there is no need to initialise the same in
scmi_xfer_get_init. Remove the unnecessary initialisations.

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

index 80010d3..66e5e69 100644 (file)
@@ -432,9 +432,9 @@ static int do_xfer(const struct scmi_protocol_handle *ph,
        struct scmi_chan_info *cinfo;
 
        /*
-        * Re-instate protocol id here from protocol handle so that cannot be
+        * Initialise protocol id now from protocol handle to avoid it being
         * overridden by mistake (or malice) by the protocol code mangling with
-        * the scmi_xfer structure.
+        * the scmi_xfer structure prior to this.
         */
        xfer->hdr.protocol_id = pi->proto->id;
        reinit_completion(&xfer->done);
@@ -509,11 +509,8 @@ static int do_xfer_with_response(const struct scmi_protocol_handle *ph,
                                 struct scmi_xfer *xfer)
 {
        int ret, timeout = msecs_to_jiffies(SCMI_MAX_RESPONSE_TIMEOUT);
-       const struct scmi_protocol_instance *pi = ph_to_pi(ph);
        DECLARE_COMPLETION_ONSTACK(async_response);
 
-       xfer->hdr.protocol_id = pi->proto->id;
-
        xfer->async_done = &async_response;
 
        ret = do_xfer(ph, xfer);
@@ -569,7 +566,6 @@ static int xfer_get_init(const struct scmi_protocol_handle *ph,
        xfer->tx.len = tx_size;
        xfer->rx.len = rx_size ? : info->desc->max_msg_size;
        xfer->hdr.id = msg_id;
-       xfer->hdr.protocol_id = pi->proto->id;
        xfer->hdr.poll_completion = false;
 
        *p = xfer;