ntohs() expects to be passed a __be16. Correct the type of the
variable holding the sequence ID.

Cc: Richard Cochran <richardcoch...@gmail.com>
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
 drivers/net/phy/dp83640.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c
index ecbd5e0d685c..da31756f5a70 100644
--- a/drivers/net/phy/dp83640.c
+++ b/drivers/net/phy/dp83640.c
@@ -803,9 +803,10 @@ static int decode_evnt(struct dp83640_private *dp83640,
 
 static int match(struct sk_buff *skb, unsigned int type, struct rxts *rxts)
 {
-       u16 *seqid, hash;
        unsigned int offset = 0;
        u8 *msgtype, *data = skb_mac_header(skb);
+       __be16 *seqid;
+       u16 hash;
 
        /* check sequenceID, messageType, 12 bit hash of offset 20-29 */
 
@@ -836,7 +837,7 @@ static int match(struct sk_buff *skb, unsigned int type, 
struct rxts *rxts)
        if (rxts->msgtype != (*msgtype & 0xf))
                return 0;
 
-       seqid = (u16 *)(data + offset + OFF_PTP_SEQUENCE_ID);
+       seqid = (__be16 *)(data + offset + OFF_PTP_SEQUENCE_ID);
        if (rxts->seqid != ntohs(*seqid))
                return 0;
 
-- 
2.27.0.rc2

Reply via email to