mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-21 14:21:48 +00:00
switchdev: convert STP update to switchdev attr set
STP update is just a settable port attribute, so convert switchdev_port_stp_update to an attr set. For DSA, the prepare phase is skipped and STP updates are only done in the commit phase. This is because currently the DSA drivers don't need to allocate any memory for STP updates and the STP update will not fail to HW (unless something horrible goes wrong on the MDIO bus, in which case the prepare phase wouldn't have been able to predict anyway). Signed-off-by: Scott Feldman <sfeldma@gmail.com> Acked-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c4f20321d9
commit
3563606258
5 changed files with 31 additions and 50 deletions
|
@ -187,34 +187,6 @@ int switchdev_port_attr_set(struct net_device *dev, struct switchdev_attr *attr)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(switchdev_port_attr_set);
|
||||
|
||||
/**
|
||||
* switchdev_port_stp_update - Notify switch device port of STP
|
||||
* state change
|
||||
* @dev: port device
|
||||
* @state: port STP state
|
||||
*
|
||||
* Notify switch device port of bridge port STP state change.
|
||||
*/
|
||||
int switchdev_port_stp_update(struct net_device *dev, u8 state)
|
||||
{
|
||||
const struct switchdev_ops *ops = dev->switchdev_ops;
|
||||
struct net_device *lower_dev;
|
||||
struct list_head *iter;
|
||||
int err = -EOPNOTSUPP;
|
||||
|
||||
if (ops && ops->switchdev_port_stp_update)
|
||||
return ops->switchdev_port_stp_update(dev, state);
|
||||
|
||||
netdev_for_each_lower_dev(dev, lower_dev, iter) {
|
||||
err = switchdev_port_stp_update(lower_dev, state);
|
||||
if (err && err != -EOPNOTSUPP)
|
||||
return err;
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(switchdev_port_stp_update);
|
||||
|
||||
static DEFINE_MUTEX(switchdev_mutex);
|
||||
static RAW_NOTIFIER_HEAD(switchdev_notif_chain);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue