diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-10-09 16:13:30 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-10-09 16:13:30 -0400 |
commit | 670aee3fc7ac37ae947f8b582d87b51d5fa36524 (patch) | |
tree | 9885998483d4506208e5aef9c13c8a86adea20bb /net/dsa/slave.c | |
parent | d61e87ac53292a3138b4354b687558973686b6ca (diff) | |
parent | 55582bccdc1e89ecc973c260d46e247df675d4df (diff) |
Merge branches 'pm-devfreq' and 'pm-cpufreq'
* pm-devfreq:
PM / devfreq: fix double kfree
PM / devfreq: Fix governor_store()
* pm-cpufreq:
cpufreq: prevent lockup on reading scaling_available_frequencies
cpufreq: acpi_cpufreq: prevent crash on reading freqdomain_cpus
Diffstat (limited to 'net/dsa/slave.c')
-rw-r--r-- | net/dsa/slave.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/net/dsa/slave.c b/net/dsa/slave.c index cce97385f743..7d91f4612ac0 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c | |||
@@ -458,12 +458,17 @@ static int dsa_slave_stp_update(struct net_device *dev, u8 state) | |||
458 | static int dsa_slave_port_attr_set(struct net_device *dev, | 458 | static int dsa_slave_port_attr_set(struct net_device *dev, |
459 | struct switchdev_attr *attr) | 459 | struct switchdev_attr *attr) |
460 | { | 460 | { |
461 | int ret = 0; | 461 | struct dsa_slave_priv *p = netdev_priv(dev); |
462 | struct dsa_switch *ds = p->parent; | ||
463 | int ret; | ||
462 | 464 | ||
463 | switch (attr->id) { | 465 | switch (attr->id) { |
464 | case SWITCHDEV_ATTR_PORT_STP_STATE: | 466 | case SWITCHDEV_ATTR_PORT_STP_STATE: |
465 | if (attr->trans == SWITCHDEV_TRANS_COMMIT) | 467 | if (attr->trans == SWITCHDEV_TRANS_PREPARE) |
466 | ret = dsa_slave_stp_update(dev, attr->u.stp_state); | 468 | ret = ds->drv->port_stp_update ? 0 : -EOPNOTSUPP; |
469 | else | ||
470 | ret = ds->drv->port_stp_update(ds, p->port, | ||
471 | attr->u.stp_state); | ||
467 | break; | 472 | break; |
468 | default: | 473 | default: |
469 | ret = -EOPNOTSUPP; | 474 | ret = -EOPNOTSUPP; |