fsi: occ: Improve response status checking
authorEddie James <eajames@linux.ibm.com>
Tue, 8 Feb 2022 15:22:35 +0000 (09:22 -0600)
committerJoel Stanley <joel@jms.id.au>
Mon, 21 Feb 2022 09:07:03 +0000 (19:37 +1030)
commit3dcf3c84f5832c55d456819fe3cfbe1642b73ca8
tree26e9388d73f18c3a7cb101d933c86d0106ce170e
parentab1b79159ad5a6dc4e4994b49737f7feb13b7155
fsi: occ: Improve response status checking

If the driver sequence number coincidentally equals the previous
command response sequence number, the driver may proceed with
fetching the entire buffer before the OCC has processed the current
command. To be sure the correct response is obtained, check the
command type and also retry if any of the response parameters have
changed when the rest of the buffer is fetched. Also initialize the
driver with a random sequence number in order to reduce the chances
of this happening.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20220208152235.19686-1-eajames@linux.ibm.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
drivers/fsi/fsi-occ.c