Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6
[firefly-linux-kernel-4.4.55.git] / drivers / infiniband / hw / mlx4 / main.c
index bf3e20cd029859f2beb23e962fa2640e30faf44c..4c85224aeaa7ac91f230e3acf286420e3034b886 100644 (file)
@@ -219,7 +219,7 @@ static int eth_link_query_port(struct ib_device *ibdev, u8 port,
        struct net_device *ndev;
        enum ib_mtu tmp;
 
-       props->active_width     = IB_WIDTH_4X;
+       props->active_width     = IB_WIDTH_1X;
        props->active_speed     = 4;
        props->port_cap_flags   = IB_PORT_CM_SUP;
        props->gid_tbl_len      = to_mdev(ibdev)->dev->caps.gid_table_len[port];
@@ -242,7 +242,7 @@ static int eth_link_query_port(struct ib_device *ibdev, u8 port,
        tmp = iboe_get_mtu(ndev->mtu);
        props->active_mtu = tmp ? min(props->max_mtu, tmp) : IB_MTU_256;
 
-       props->state            = netif_running(ndev) &&  netif_oper_up(ndev) ?
+       props->state            = (netif_running(ndev) && netif_carrier_ok(ndev)) ?
                                        IB_PORT_ACTIVE : IB_PORT_DOWN;
        props->phys_state       = state_to_phys_state(props->state);
 
@@ -848,8 +848,8 @@ static int update_ipv6_gids(struct mlx4_ib_dev *dev, int port, int clear)
                goto out;
        }
 
-       read_lock(&dev_base_lock);
-       for_each_netdev(&init_net, tmp) {
+       rcu_read_lock();
+       for_each_netdev_rcu(&init_net, tmp) {
                if (ndev && (tmp == ndev || rdma_vlan_dev_real_dev(tmp) == ndev)) {
                        gid.global.subnet_prefix = cpu_to_be64(0xfe80000000000000LL);
                        vid = rdma_vlan_dev_vlan_id(tmp);
@@ -884,7 +884,7 @@ static int update_ipv6_gids(struct mlx4_ib_dev *dev, int port, int clear)
                        }
                }
        }
-       read_unlock(&dev_base_lock);
+       rcu_read_unlock();
 
        for (i = 0; i < 128; ++i)
                if (!hits[i]) {