diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-02-21 11:28:04 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-02-21 19:16:14 +0100 |
commit | ab42676af052e6d3502b31c2dc6b07af08ff126f (patch) | |
tree | 6581425291a2e1102bb18fbc9964c3192c33ad11 /drivers/net/ethernet/aurora | |
parent | net: mvpp2: handle too large value handling in mvpp2_rx_pkts_coal_set() (diff) | |
download | linux-ab42676af052e6d3502b31c2dc6b07af08ff126f.tar.xz linux-ab42676af052e6d3502b31c2dc6b07af08ff126f.zip |
net: mvpp2: handle too large value in mvpp2_rx_time_coal_set()
When configuring the MVPP2_ISR_RX_THRESHOLD_REG with the RX coalescing
time threshold, we do not check for the maximum allowed value supported
by the driver, which means we might overflow and use a bogus value. This
commit adds a check for this situation, and if a value higher than what
is supported by the hardware is provided, then we use the maximum value
supported by the hardware.
In order to achieve this in a way that avoids overflow and rounding
errors, we introduce two utility functions mvpp2_usec_to_cycles() and
cycles_to_usec(). Many thanks to Russell King for suggesting this
implementation.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/aurora')
0 files changed, 0 insertions, 0 deletions