kernel_samsung_a53x/drivers/net/ethernet/hisilicon/hns3/hns3pf
Peiyang Wang 2a9cf391bb net: hns3: use appropriate barrier function after setting a bit value
[ Upstream commit 094c281228529d333458208fd02fcac3b139d93b ]

There is a memory barrier in followed case. When set the port down,
hclgevf_set_timmer will set DOWN in state. Meanwhile, the service task has
different behaviour based on whether the state is DOWN. Thus, to make sure
service task see DOWN, use smp_mb__after_atomic after calling set_bit().

          CPU0                        CPU1
========================== ===================================
hclgevf_set_timer_task()    hclgevf_periodic_service_task()
  set_bit(DOWN,state)         test_bit(DOWN,state)

pf also has this issue.

Fixes: ff200099d271 ("net: hns3: remove unnecessary work in hclgevf_main")
Fixes: 1c6dfe6fc6f7 ("net: hns3: remove mailbox and reset work in hclge_main")
Signed-off-by: Peiyang Wang <wangpeiyang1@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-19 11:32:46 +01:00
..
hclge_cmd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_cmd.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_dcb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_dcb.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_debugfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_debugfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_err.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_err.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_main.c net: hns3: use appropriate barrier function after setting a bit value 2024-11-19 11:32:46 +01:00
hclge_main.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_mbx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_mdio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_mdio.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_tm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_tm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hclge_trace.h net: hns3: tracing: fix hclgevf trace event strings 2024-11-19 09:22:36 +01:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00