diff options
author | Shawn Nematbakhsh <shawnn@chromium.org> | 2017-09-27 14:35:27 -0700 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2017-11-29 16:29:46 +0000 |
commit | 001dde9400d5c3e9e2ce2abe06c1efa70a25dfde (patch) | |
tree | a317ce7d796cb9896ebf94b1bfc51a832c156e68 /kernel/workqueue.c | |
parent | 85e9b13cbb130a3209f21bd7933933399c389ffe (diff) | |
download | op-kernel-dev-001dde9400d5c3e9e2ce2abe06c1efa70a25dfde.zip op-kernel-dev-001dde9400d5c3e9e2ce2abe06c1efa70a25dfde.tar.gz |
mfd: cros ec: spi: Fix "in progress" error signaling
For host commands that take a long time to process, cros ec can return
early by signaling a EC_RES_IN_PROGRESS result. The host must then poll
status with EC_CMD_GET_COMMS_STATUS until completion of the command.
None of the above applies when data link errors are encountered. When
errors such as EC_SPI_PAST_END are encountered during command
transmission, it usually means the command was not received by the EC.
Treating such errors as if they were 'EC_RES_IN_PROGRESS' results is
almost always the wrong decision, and can result in host commands
silently being lost.
Reported-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org>
Reviewed-by: Brian Norris <briannorris@chromium.org>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'kernel/workqueue.c')
0 files changed, 0 insertions, 0 deletions