Commit 49fa8c02 authored by Dave Jiang's avatar Dave Jiang Committed by Greg Kroah-Hartman

ntb: transport shouldn't disable link due to bogus values in SPADs

commit f3fd2afe upstream.

It seems that under certain scenarios the SPAD can have bogus values caused
by an agent (i.e. BIOS or other software) that is not the kernel driver, and
that causes memory window setup failure. This should not cause the link to
be disabled because if we do that, the driver will never recover again. We
have verified in testing that this issue happens and prevents proper link
recovery.
Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
Acked-by: default avatarAllen Hubbe <Allen.Hubbe@dell.com>
Signed-off-by: default avatarJon Mason <jdmason@kudzu.us>
Fixes: 84f76685 ("ntb: stop link work when we do not have memory")
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ab75f027
...@@ -920,10 +920,8 @@ static void ntb_transport_link_work(struct work_struct *work) ...@@ -920,10 +920,8 @@ static void ntb_transport_link_work(struct work_struct *work)
ntb_free_mw(nt, i); ntb_free_mw(nt, i);
/* if there's an actual failure, we should just bail */ /* if there's an actual failure, we should just bail */
if (rc < 0) { if (rc < 0)
ntb_link_disable(ndev);
return; return;
}
out: out:
if (ntb_link_is_up(ndev, NULL, NULL) == 1) if (ntb_link_is_up(ndev, NULL, NULL) == 1)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment