[PATCH] hwmon (occ): Fix response length in checksum retry

From: Eddie James
Date: Wed Jul 20 2022 - 15:31:02 EST


Retrying for checksum failure doesn't work since the response length
gets zeroed out in the submit function. Fix this by resetting the
response length to its original value before the retry.

Fixes: c27b98ca0edb ("hwmon (occ): Retry for checksum failure")
Signed-off-by: Eddie James <eajames@xxxxxxxxxxxxx>
---
drivers/hwmon/occ/p9_sbe.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/hwmon/occ/p9_sbe.c b/drivers/hwmon/occ/p9_sbe.c
index 4a1fe4ee8e2c..f3791a589b01 100644
--- a/drivers/hwmon/occ/p9_sbe.c
+++ b/drivers/hwmon/occ/p9_sbe.c
@@ -82,6 +82,7 @@ static bool p9_sbe_occ_save_ffdc(struct p9_sbe_occ *ctx, const void *resp,
static int p9_sbe_occ_send_cmd(struct occ *occ, u8 *cmd, size_t len,
void *resp, size_t resp_len)
{
+ size_t original_resp_len = resp_len;
struct p9_sbe_occ *ctx = to_p9_sbe_occ(occ);
int rc, i;

@@ -97,6 +98,7 @@ static int p9_sbe_occ_send_cmd(struct occ *occ, u8 *cmd, size_t len,
}
if (rc != -EBADE)
return rc;
+ resp_len = original_resp_len;
}

switch (((struct occ_response *)resp)->return_status) {
--
2.31.1