diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c index cc1bbfddebfe48a7e7448f9f113159c9a818f8a7..9629352fa5daa2876613c62b60feddb5a0ad07a6 100644 --- a/drivers/net/ethernet/rocker/rocker.c +++ b/drivers/net/ethernet/rocker/rocker.c @@ -2737,7 +2737,8 @@ static struct rocker_neigh_tbl_entry * { struct rocker_neigh_tbl_entry *found; - hash_for_each_possible(rocker->neigh_tbl, found, entry, (u32)ip_addr) + hash_for_each_possible(rocker->neigh_tbl, found, + entry, be32_to_cpu(ip_addr)) if (found->ip_addr == ip_addr) return found; @@ -2749,7 +2750,8 @@ static void _rocker_neigh_add(struct rocker *rocker, { entry->index = rocker->neigh_tbl_next_index++; entry->ref_count++; - hash_add(rocker->neigh_tbl, &entry->entry, (u32)entry->ip_addr); + hash_add(rocker->neigh_tbl, &entry->entry, + be32_to_cpu(entry->ip_addr)); } static void _rocker_neigh_del(struct rocker *rocker, @@ -2868,7 +2870,7 @@ static int rocker_port_ipv4_resolve(struct rocker_port *rocker_port, __be32 ip_addr) { struct net_device *dev = rocker_port->dev; - struct neighbour *n = __ipv4_neigh_lookup(dev, (u32)ip_addr); + struct neighbour *n = __ipv4_neigh_lookup(dev, (__force u32)ip_addr); int err = 0; if (!n)