Signed-off-by: Jiri Pirko <j...@resnulli.us>
---
 drivers/infiniband/hw/nes/nes.c    |    8 +++++---
 drivers/infiniband/hw/nes/nes_cm.c |    2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/infiniband/hw/nes/nes.c b/drivers/infiniband/hw/nes/nes.c
index 7140199..6686251 100644
--- a/drivers/infiniband/hw/nes/nes.c
+++ b/drivers/infiniband/hw/nes/nes.c
@@ -140,6 +140,7 @@ static int nes_inetaddr_event(struct notifier_block 
*notifier,
        struct net_device *event_netdev = ifa->ifa_dev->dev;
        struct nes_device *nesdev;
        struct net_device *netdev;
+       struct net_device *upper_dev;
        struct nes_vnic *nesvnic;
        unsigned int is_bonded;
 
@@ -150,8 +151,9 @@ static int nes_inetaddr_event(struct notifier_block 
*notifier,
                                nesdev, nesdev->netdev[0]->name);
                netdev = nesdev->netdev[0];
                nesvnic = netdev_priv(netdev);
+               upper_dev = netdev_master_upper_dev_get(netdev);
                is_bonded = netif_is_bond_slave(netdev) &&
-                           (netdev->master == event_netdev);
+                           (upper_dev == event_netdev);
                if ((netdev == event_netdev) || is_bonded) {
                        if (nesvnic->rdma_enabled == 0) {
                                nes_debug(NES_DBG_NETDEV, "Returning without 
processing event for %s since"
@@ -184,9 +186,9 @@ static int nes_inetaddr_event(struct notifier_block 
*notifier,
                                        /* fall through */
                                case NETDEV_CHANGEADDR:
                                        /* Add the address to the IP table */
-                                       if (netdev->master)
+                                       if (upper_dev)
                                                nesvnic->local_ipaddr =
-                                                       ((struct in_device 
*)netdev->master->ip_ptr)->ifa_list->ifa_address;
+                                                       ((struct in_device 
*)upper_dev->ip_ptr)->ifa_list->ifa_address;
                                        else
                                                nesvnic->local_ipaddr = 
ifa->ifa_address;
 
diff --git a/drivers/infiniband/hw/nes/nes_cm.c 
b/drivers/infiniband/hw/nes/nes_cm.c
index 020e95c..15e6340 100644
--- a/drivers/infiniband/hw/nes/nes_cm.c
+++ b/drivers/infiniband/hw/nes/nes_cm.c
@@ -1352,7 +1352,7 @@ static int nes_addr_resolve_neigh(struct nes_vnic 
*nesvnic, u32 dst_ip, int arpi
        }
 
        if (netif_is_bond_slave(nesvnic->netdev))
-               netdev = nesvnic->netdev->master;
+               netdev = netdev_unique_upper_dev_get(nesvnic->netdev);
        else
                netdev = nesvnic->netdev;
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to