]> git.openfabrics.org - ~tnikolova/compat-rdma/.git/commitdiff
RDMA/nes: Fix for incorrect multicast address
authorTatyana Nikolova <Tatyana.E.Nikolova@intel.com>
Tue, 13 Nov 2012 21:47:54 +0000 (15:47 -0600)
committerVladimir Sokolovsky <vlad@mellanox.com>
Thu, 15 Nov 2012 08:28:24 +0000 (10:28 +0200)
Fix for incorrect multicast address

Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
linux-next-pending/0026-RDMA-nes-Fix-for-multicast-addr.patch [new file with mode: 0644]

diff --git a/linux-next-pending/0026-RDMA-nes-Fix-for-multicast-addr.patch b/linux-next-pending/0026-RDMA-nes-Fix-for-multicast-addr.patch
new file mode 100644 (file)
index 0000000..441dbef
--- /dev/null
@@ -0,0 +1,34 @@
+RDMA/nes: Fix for incorrect multicast address in the perfect filter table
+
+Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
+---
+ drivers/infiniband/hw/nes/nes_nic.c |   13 +++++++------
+ 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 0564be7..9542e16 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)
+                                         addr,
+                                         perfect_filter_register_address+(mc_index * 8),
+                                         mc_nic_index);
+-                              macaddr_high  = ((u16) addr[0]) << 8;
+-                              macaddr_high += (u16) addr[1];
+-                              macaddr_low   = ((u32) addr[2]) << 24;
+-                              macaddr_low  += ((u32) addr[3]) << 16;
+-                              macaddr_low  += ((u32) addr[4]) << 8;
+-                              macaddr_low  += (u32) addr[5];
++                              macaddr_high  = ((u8) addr[0]) << 8;
++                              macaddr_high += (u8) addr[1];
++                              macaddr_low   = ((u8) addr[2]) << 24;
++                              macaddr_low  += ((u8) addr[3]) << 16;
++                              macaddr_low  += ((u8) addr[4]) << 8;
++                              macaddr_low  += (u8) addr[5];
++
+                               nes_write_indexed(nesdev,
+                                               perfect_filter_register_address+(mc_index * 8),
+                                               macaddr_low);
+-- 
+1.7.4.2
+