--- /dev/null
+From 681aab993638393808cc62cf6baa1aa6ab6cf36d Mon Sep 17 00:00:00 2001
+From: Vladimir Sokolovsky <vlad@mellanox.com>
+Date: Thu, 12 Jul 2012 22:31:24 +0300
+Subject: [PATCH] Backport mlx4_ib
+
+Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
+---
+ drivers/infiniband/hw/mlx4/main.c | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
+index 3530c41..765bf3b 100644
+--- a/drivers/infiniband/hw/mlx4/main.c
++++ b/drivers/infiniband/hw/mlx4/main.c
+@@ -709,7 +709,11 @@ int mlx4_ib_add_mc(struct mlx4_ib_dev *mdev, struct mlx4_ib_qp *mqp,
+ if (ndev) {
+ rdma_get_mcast_mac((struct in6_addr *)gid, mac);
+ rtnl_lock();
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35))
++ dev_mc_add(mdev->iboe.netdevs[mqp->port - 1], mac, 6, 0);
++#else
+ dev_mc_add(mdev->iboe.netdevs[mqp->port - 1], mac);
++#endif
+ ret = 1;
+ rtnl_unlock();
+ dev_put(ndev);
+@@ -782,7 +786,11 @@ static int mlx4_ib_mcg_detach(struct ib_qp *ibqp, union ib_gid *gid, u16 lid)
+ rdma_get_mcast_mac((struct in6_addr *)gid, mac);
+ if (ndev) {
+ rtnl_lock();
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35))
++ dev_mc_delete(mdev->iboe.netdevs[ge->port - 1], mac, 6, 0);
++#else
+ dev_mc_del(mdev->iboe.netdevs[ge->port - 1], mac);
++#endif
+ rtnl_unlock();
+ dev_put(ndev);
+ }
+--
+1.7.1
+