]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: stmmac: dwmac4: fix PTP message type field extraction
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Thu, 8 Jan 2026 17:36:19 +0000 (17:36 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 13 Jan 2026 02:02:11 +0000 (18:02 -0800)
In dwmac4_wrback_get_rx_status(), the code extracts the PTP message
type from receive descriptor 1 using the dwmac enhanced descriptor
definitions:

message_type = (rdes1 & ERDES4_MSG_TYPE_MASK) >> 8;

This is defined as:

 #define ERDES4_MSG_TYPE_MASK            GENMASK(11, 8)

The correct definition is RDES1_PTP_MSG_TYPE_MASK, which is also
defined as:

 #define RDES1_PTP_MSG_TYPE_MASK         GENMASK(11, 8)

Use the correct definition, converting to use FIELD_GET() to extract
it without needing an open-coded shift right that is dependent on the
mask definition.

As this change has no effect on the generated code, there is no need
to treat this as a bug fix.

Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1vdtvn-00000002GtV-1wCS@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c

index aac68dc28dc1973429fa96aaa709b02ee39cd01a..c84b26d5176043a882a59fc1aecc749c552ed85a 100644 (file)
@@ -108,7 +108,7 @@ static int dwmac4_wrback_get_rx_status(struct stmmac_extra_stats *x,
                ret = discard_frame;
        }
 
-       message_type = (rdes1 & ERDES4_MSG_TYPE_MASK) >> 8;
+       message_type = FIELD_GET(RDES1_PTP_MSG_TYPE_MASK, rdes1);
 
        if (rdes1 & RDES1_IP_HDR_ERROR) {
                x->ip_hdr_err++;