be2net: convert dest field in udp-hdr to host-endian
authorVenkat Duvvuru <VenkatKumar.Duvvuru@Emulex.com>
Fri, 10 Jul 2015 09:32:47 +0000 (05:32 -0400)
committerDavid S. Miller <davem@davemloft.net>
Sat, 11 Jul 2015 06:24:29 +0000 (23:24 -0700)
The "dest" field in the UDP-hdr of a TX skb is in network endian format.
Convert it to host endian before accessing it. The os2bmc patch,
mentioned below introduced this code.

Fixes: 760c295e0e8d ("be2net: Support for OS2BMC")
Signed-off-by: Venkat Duvvuru <VenkatKumar.Duvvuru@Emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@avagotech.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be_main.c

index 8ef7ea5d8f4a1dedede7061495024abb0537c3f5..c996dd76f5461253dc841ebf2fe539f813954b2b 100644 (file)
@@ -1254,7 +1254,7 @@ static bool be_send_pkt_to_bmc(struct be_adapter *adapter,
        if (is_udp_pkt((*skb))) {
                struct udphdr *udp = udp_hdr((*skb));
 
-               switch (udp->dest) {
+               switch (ntohs(udp->dest)) {
                case DHCP_CLIENT_PORT:
                        os2bmc = is_dhcp_client_filt_enabled(adapter);
                        goto done;