net: mscc: ocelot: access EtherType using __be16
authorVladimir Oltean <vladimir.oltean@nxp.com>
Sat, 20 Jun 2020 15:43:38 +0000 (18:43 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sun, 21 Jun 2020 00:25:23 +0000 (17:25 -0700)
Get rid of sparse "cast to restricted __be16" warnings.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mscc/ocelot_ace.c
drivers/net/ethernet/mscc/ocelot_flower.c

index 17b642e..1dd8813 100644 (file)
@@ -746,8 +746,8 @@ static bool ocelot_ace_is_problematic_mac_etype(struct ocelot_ace_rule *ace)
        if (ace->type != OCELOT_ACE_TYPE_ETYPE)
                return false;
 
-       proto = ntohs(*(u16 *)ace->frame.etype.etype.value);
-       mask = ntohs(*(u16 *)ace->frame.etype.etype.mask);
+       proto = ntohs(*(__be16 *)ace->frame.etype.etype.value);
+       mask = ntohs(*(__be16 *)ace->frame.etype.etype.mask);
 
        /* ETH_P_ALL match, so all protocols below are included */
        if (mask == 0)
index c90bafb..99338d2 100644 (file)
@@ -176,8 +176,8 @@ finished_key_parsing:
                if (proto < ETH_P_802_3_MIN)
                        return -EOPNOTSUPP;
                ace->type = OCELOT_ACE_TYPE_ETYPE;
-               *(u16 *)ace->frame.etype.etype.value = htons(proto);
-               *(u16 *)ace->frame.etype.etype.mask = 0xffff;
+               *(__be16 *)ace->frame.etype.etype.value = htons(proto);
+               *(__be16 *)ace->frame.etype.etype.mask = htons(0xffff);
        }
        /* else, a rule of type OCELOT_ACE_TYPE_ANY is implicitly added */