net: rollback orig value on failure of dev_qdisc_change_tx_queue_len
authorTariq Toukan <tariqt@mellanox.com>
Tue, 24 Jul 2018 11:12:20 +0000 (14:12 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 26 Jul 2018 21:00:37 +0000 (14:00 -0700)
commit7effaf06c3cdef6855e127886c7405b9ab62f90d
treee57ff205792f9acc28ca9922bf79d7aca0d88396
parent7f3fc7ddf719cd6faaf787722c511f6918ac6aab
net: rollback orig value on failure of dev_qdisc_change_tx_queue_len

Fix dev_change_tx_queue_len so it rolls back original value
upon a failure in dev_qdisc_change_tx_queue_len.
This is already done for notifirers' failures, share the code.

In case of failure in dev_qdisc_change_tx_queue_len, some tx queues
would still be of the new length, while they should be reverted.
Currently, the revert is not done, and is marked with a TODO label
in dev_qdisc_change_tx_queue_len, and should find some nice solution
to do it.
Yet it is still better to not apply the newly requested value.

Fixes: 48bfd55e7e41 ("net_sched: plug in qdisc ops change_tx_queue_len")
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Reviewed-by: Eran Ben Elisha <eranbe@mellanox.com>
Reported-by: Ran Rozenstein <ranro@mellanox.com>
Cc: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c