Thanks for the review! I’ll send the v2 patch. Jian.
> 2026年3月3日 21:50,Corey Minyard <[email protected]> 写道: > > On Mon, Mar 02, 2026 at 02:17:46PM +0800, Jian Zhang wrote: >> A valid IPMI over SSIF response must contain at least three bytes >> (NetFn/LUN, Command and Completion Code). >> >> Some DMA-only I2C controllers may return short reads instead of a >> proper NACK when the response is not ready. Treat such short reads >> as incomplete and retry until a full response is received. > > Well that's unfriendly of them. > > Anyway, I see the issue. I would ask a couple of things: > > Can you add a comment before this "if" statement so people in the future > know why it's this way? Otherwise it's a bit mysterious. > > Wouldn't the i2c_smbus_read_block_data() in ipmi_ssif_thread() have the > same issue? We should fix all of these if so. > > Thanks, > > -corey > >> >> Signed-off-by: Jian Zhang <[email protected]> >> --- >> drivers/char/ipmi/ipmi_ssif.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c >> index 37a5cb5c53f1..64ee939a7a4b 100644 >> --- a/drivers/char/ipmi/ipmi_ssif.c >> +++ b/drivers/char/ipmi/ipmi_ssif.c >> @@ -1300,7 +1300,7 @@ static int read_response(struct i2c_client *client, >> unsigned char *resp) >> while (retry_cnt > 0) { >> ret = i2c_smbus_read_block_data(client, SSIF_IPMI_RESPONSE, >> resp); >> - if (ret > 0) >> + if (ret >= 3) >> break; >> msleep(SSIF_MSG_MSEC); >> retry_cnt--; >> -- >> 2.20.1 _______________________________________________ Openipmi-developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openipmi-developer
