diff options
author | Jason Gunthorpe <jgg@mellanox.com> | 2019-09-12 12:49:56 -0300 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2019-09-13 16:59:51 -0300 |
commit | 75c66515e4fea4e9bb488b6125e014220f846c61 (patch) | |
tree | a7a79ca9a05da74fd3fd74b1c8c3e1cb2901c167 /net/sched/sch_cbs.c | |
parent | 1ba7c8f800586805c409f5b1ff1803318a41933a (diff) | |
parent | f74c2bb98776e2de508f4d607cd519873065118e (diff) | |
download | linux-75c66515e4fea4e9bb488b6125e014220f846c61.tar.bz2 |
Merge tag 'v5.3-rc8' into rdma.git for-next
To resolve dependencies in following patches
mlx5_ib.h conflict resolved by keeing both hunks
Linux 5.3-rc8
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'net/sched/sch_cbs.c')
-rw-r--r-- | net/sched/sch_cbs.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/net/sched/sch_cbs.c b/net/sched/sch_cbs.c index 732e109c3055..810645b5c086 100644 --- a/net/sched/sch_cbs.c +++ b/net/sched/sch_cbs.c @@ -181,11 +181,6 @@ static struct sk_buff *cbs_dequeue_soft(struct Qdisc *sch) s64 credits; int len; - if (atomic64_read(&q->port_rate) == -1) { - WARN_ONCE(1, "cbs: dequeue() called with unknown port rate."); - return NULL; - } - if (q->credits < 0) { credits = timediff_to_credits(now - q->last, q->idleslope); @@ -303,11 +298,19 @@ static int cbs_enable_offload(struct net_device *dev, struct cbs_sched_data *q, static void cbs_set_port_rate(struct net_device *dev, struct cbs_sched_data *q) { struct ethtool_link_ksettings ecmd; + int speed = SPEED_10; int port_rate = -1; + int err; + + err = __ethtool_get_link_ksettings(dev, &ecmd); + if (err < 0) + goto skip; + + if (ecmd.base.speed != SPEED_UNKNOWN) + speed = ecmd.base.speed; - if (!__ethtool_get_link_ksettings(dev, &ecmd) && - ecmd.base.speed != SPEED_UNKNOWN) - port_rate = ecmd.base.speed * 1000 * BYTES_PER_KBIT; +skip: + port_rate = speed * 1000 * BYTES_PER_KBIT; atomic64_set(&q->port_rate, port_rate); netdev_dbg(dev, "cbs: set %s's port_rate to: %lld, linkspeed: %d\n", |