bnx2x: Using singlethread work queue
Since slow-path events, including link update, are handled in work-queue, a race condition was introduced in the self-test that sometimes caused the link status to fail: the self-test was running under RTNL lock, and if the link-watch was scheduled it stoped the shared work-queue (waiting for the RTNL lock) and so the link update event was not handled until the self-test ended (releasing the RTNL lock) with failure (since the link status was not updated) Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
c53a6ee88b
commit
1cf167f27a
@ -811,7 +811,7 @@ struct bnx2x {
|
||||
int pm_cap;
|
||||
int pcie_cap;
|
||||
|
||||
struct work_struct sp_task;
|
||||
struct delayed_work sp_task;
|
||||
struct work_struct reset_task;
|
||||
|
||||
struct timer_list timer;
|
||||
|
Reference in New Issue
Block a user