aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorTatyana Nikolova <Tatyana.E.Nikolova@intel.com>2012-11-13 17:20:41 -0500
committerRoland Dreier <roland@purestorage.com>2012-11-22 03:49:14 -0500
commitcecdcd5f24be8c532ad8dcbbd93c7b477cfd3413 (patch)
tree00612a0b7cdfca71ed264d67051fa77a35ddf5f7 /drivers/infiniband
parentfc8d7547b1e19e1bb8f3206837ee0c7c6538e2e5 (diff)
RDMA/nes: Fix for incorrect multicast address in the perfect filter table
Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/hw/nes/nes_nic.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c
index 0564be757d82..9542e1644a5c 100644
--- a/drivers/infiniband/hw/nes/nes_nic.c
+++ b/drivers/infiniband/hw/nes/nes_nic.c
@@ -944,12 +944,13 @@ static void nes_netdev_set_multicast_list(struct net_device *netdev)
944 addr, 944 addr,
945 perfect_filter_register_address+(mc_index * 8), 945 perfect_filter_register_address+(mc_index * 8),
946 mc_nic_index); 946 mc_nic_index);
947 macaddr_high = ((u16) addr[0]) << 8; 947 macaddr_high = ((u8) addr[0]) << 8;
948 macaddr_high += (u16) addr[1]; 948 macaddr_high += (u8) addr[1];
949 macaddr_low = ((u32) addr[2]) << 24; 949 macaddr_low = ((u8) addr[2]) << 24;
950 macaddr_low += ((u32) addr[3]) << 16; 950 macaddr_low += ((u8) addr[3]) << 16;
951 macaddr_low += ((u32) addr[4]) << 8; 951 macaddr_low += ((u8) addr[4]) << 8;
952 macaddr_low += (u32) addr[5]; 952 macaddr_low += (u8) addr[5];
953
953 nes_write_indexed(nesdev, 954 nes_write_indexed(nesdev,
954 perfect_filter_register_address+(mc_index * 8), 955 perfect_filter_register_address+(mc_index * 8),
955 macaddr_low); 956 macaddr_low);