Merge remote-tracking branches 'asoc/fix/wm8960' and 'asoc/fix/wm8962' into asoc...
[firefly-linux-kernel-4.4.55.git] / include / net / bonding.h
index 20defc0353d1353c02f1d778e3f53809cae6c0bb..c1740a2794a37bce9dc9d48739a766a93ff4f743 100644 (file)
@@ -310,6 +310,13 @@ static inline bool bond_uses_primary(struct bonding *bond)
        return bond_mode_uses_primary(BOND_MODE(bond));
 }
 
+static inline struct net_device *bond_option_active_slave_get_rcu(struct bonding *bond)
+{
+       struct slave *slave = rcu_dereference(bond->curr_active_slave);
+
+       return bond_uses_primary(bond) && slave ? slave->dev : NULL;
+}
+
 static inline bool bond_slave_is_up(struct slave *slave)
 {
        return netif_running(slave->dev) && netif_carrier_ok(slave->dev);