Message ID | 20220720201558.11337-2-eajames@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | [linux,dev-5.15,1/2] hwmon: (occ) Prevent power cap command overwriting poll response | expand |
diff --git a/drivers/hwmon/occ/p9_sbe.c b/drivers/hwmon/occ/p9_sbe.c index ad2fcc31db78..037046c3921d 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; @@ -98,6 +99,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) {
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: fe6200e9c8be ("hwmon (occ): Retry for checksum failure") Signed-off-by: Eddie James <eajames@linux.ibm.com> --- drivers/hwmon/occ/p9_sbe.c | 2 ++ 1 file changed, 2 insertions(+)