Patch "platform/chrome: Use proper protocol transfer function" has been added to the 4.4-stable tree
This is a note to let you know that I've just added the patch titled
platform/chrome: Use proper protocol transfer function
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
platform-chrome-use-proper-protocol-transfer-function.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Thu Mar 22 14:57:33 CET 2018
From: Shawn Nematbakhsh <[email protected]>
Date: Fri, 8 Sep 2017 13:50:11 -0700
Subject: platform/chrome: Use proper protocol transfer function
From: Shawn Nematbakhsh <[email protected]>
[ Upstream commit d48b8c58c57f6edbe2965f0a5f62c5cf9593ca96 ]
pkt_xfer should be used for protocol v3, and cmd_xfer otherwise. We had one instance of these functions correct, but not the second, fall-back case. We use the fall-back only when the first command returns an IN_PROGRESS status, which is only used on some EC firmwares where we don't want to constantly poll the bus, but instead back off and sleep/retry for a little while.
--- drivers/platform/chrome/cros_ec_proto.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
drivers/platform/chrome/cros_ec_proto.c +5 -3
@@ -59,12 +59,14 @@ static int send_command(struct cros_ec_d struct cros_ec_command *msg) {int ret; +int (*xfer_fxn)(struct cros_ec_device *ec,struct cros_ec_command *msg);if (ec_dev->proto_version >2 ) - ret = ec_dev->pkt_xfer (ec_dev, msg); + xfer_fxn = ec_dev->pkt_xfer;else - ret = ec_dev->cmd_xfer (ec_dev, msg); + xfer_fxn = ec_dev->cmd_xfer; + ret = (*xfer_fxn)(ec_dev, msg);if (msg->result ==EC_RES_IN_PROGRESS ) {int i;struct cros_ec_command *status_msg;
@@ -87,7 +89,7 @@ static int send_command(struct cros_ec_dfor (i =0 ; i <EC_COMMAND_RETRIES ; i++) {usleep_range (10000 ,11000 ); - ret = ec_dev->cmd_xfer (ec_dev, status_msg); + ret = (*xfer_fxn)(ec_dev, status_msg);if (ret <0 )break ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/platform-chrome-use-proper-protocol-transfer-function.patch