Message ID | 20250325081008.3372960-1-Daniel-Hsu@quantatw.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 70facbf978ac90c6da17a3de2a8dd111b06f1bac |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | mctp: Fix incorrect tx flow invalidation condition in mctp-i2c | expand |
Hi Daniel, > Previously, the condition for invalidating the tx flow in > mctp_i2c_invalidate_tx_flow() checked if `rc` was nonzero. > However, this could incorrectly trigger the invalidation > even when `rc > 0` was returned as a success status. Yes, and we should be seeing rc > 0 in normal behaviour... > This patch updates the condition to explicitly check for `rc < 0`, > ensuring that only error cases trigger the invalidation. Looks good to me. I'll do some testing in my environment here, but in the meantime: Reviewed-by: Jeremy Kerr <jk@codeconstruct.com.au> I figure you'll want to target the net (not net-next) tree, in which case you'll probably need this: Fixes: 338a93cf4a18 ("net: mctp-i2c: invalidate flows immediately on TX errors") Thanks for the contribution. Cheers, Jeremy
Hello: This patch was applied to netdev/net.git (main) by David S. Miller <davem@davemloft.net>: On Tue, 25 Mar 2025 16:10:08 +0800 you wrote: > Previously, the condition for invalidating the tx flow in > mctp_i2c_invalidate_tx_flow() checked if `rc` was nonzero. > However, this could incorrectly trigger the invalidation > even when `rc > 0` was returned as a success status. > > This patch updates the condition to explicitly check for `rc < 0`, > ensuring that only error cases trigger the invalidation. > > [...] Here is the summary with links: - mctp: Fix incorrect tx flow invalidation condition in mctp-i2c https://git.kernel.org/netdev/net/c/70facbf978ac You are awesome, thank you!
diff --git a/drivers/net/mctp/mctp-i2c.c b/drivers/net/mctp/mctp-i2c.c index d74d47dd6e04..f782d93f826e 100644 --- a/drivers/net/mctp/mctp-i2c.c +++ b/drivers/net/mctp/mctp-i2c.c @@ -537,7 +537,7 @@ static void mctp_i2c_xmit(struct mctp_i2c_dev *midev, struct sk_buff *skb) rc = __i2c_transfer(midev->adapter, &msg, 1); /* on tx errors, the flow can no longer be considered valid */ - if (rc) + if (rc < 0) mctp_i2c_invalidate_tx_flow(midev, skb); break;
Previously, the condition for invalidating the tx flow in mctp_i2c_invalidate_tx_flow() checked if `rc` was nonzero. However, this could incorrectly trigger the invalidation even when `rc > 0` was returned as a success status. This patch updates the condition to explicitly check for `rc < 0`, ensuring that only error cases trigger the invalidation. Signed-off-by: Daniel Hsu <Daniel-Hsu@quantatw.com> --- drivers/net/mctp/mctp-i2c.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)