On Wed, Jul 20, 2022 at 02:30:36PM -0500, Eddie James wrote: > 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> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> I assume this patch will be applied with the patch introducing the problem. If not, I'll apply it after the next commit window closes. Thanks, Guenter > --- > 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) {