diff options
author | Eran Ben Elisha <eranbe@mellanox.com> | 2016-02-29 21:17:11 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-03-02 14:37:25 -0500 |
commit | 0ad9b20415a461332611666301e7812900a15ad4 (patch) | |
tree | af20d6cdd599409d38f18cb31f71155d55a178fc /include | |
parent | ab0394fe2c258fdb5086c51a251b28f8ee7ab35c (diff) | |
download | linux-0ad9b20415a461332611666301e7812900a15ad4.tar.bz2 |
net/mlx5e: Fix soft lockup when HW Timestamping is enabled
Readers/Writers lock for SW timecounter was acquired without disabling
interrupts on local CPU.
The problematic scenario:
* HW timestamping is enabled
* Timestamp overflow periodic service task is running on local CPU and
holding write_lock for SW timecounter
* Completion arrives, triggers interrupt for local CPU.
Interrupt routine calls napi_schedule(), which triggers rx/tx
skb process.
An attempt to read SW timecounter using read_lock is done, which is
already locked by a writer on the same CPU and cause soft lockup.
Add irqsave/irqrestore for when using the readers/writers lock for
writing.
Fixes: ef9814deafd0 ('net/mlx5e: Add HW timestamping (TS) support')
Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions