summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
diff options
context:
space:
mode:
authorEran Ben Elisha2016-02-29 20:17:11 +0100
committerDavid S. Miller2016-03-02 20:37:25 +0100
commit0ad9b20415a461332611666301e7812900a15ad4 (patch)
treeaf20d6cdd599409d38f18cb31f71155d55a178fc /drivers/net/ethernet/mellanox/mlx5/core/en_main.c
parentnet/mlx5e: Fix LRO modify (diff)
downloadkernel-qcow2-linux-0ad9b20415a461332611666301e7812900a15ad4.tar.gz
kernel-qcow2-linux-0ad9b20415a461332611666301e7812900a15ad4.tar.xz
kernel-qcow2-linux-0ad9b20415a461332611666301e7812900a15ad4.zip
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 'drivers/net/ethernet/mellanox/mlx5/core/en_main.c')
0 files changed, 0 insertions, 0 deletions