summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2016-02-29 09:35:26 -0700
committerJon Mason <jdmason@kudzu.us>2016-03-17 20:38:40 -0400
commit84f766855f61ed2e5d07f0ec737b15ee687afb92 (patch)
tree02143fd06784f9dfc4a01e1b6c3dd7ffa3f255c8
parente902133162afd6437e372d74f2d305b0b4cc16d6 (diff)
downloadop-kernel-dev-84f766855f61ed2e5d07f0ec737b15ee687afb92.zip
op-kernel-dev-84f766855f61ed2e5d07f0ec737b15ee687afb92.tar.gz
ntb: stop link work when we do not have memory
Instead of keep trying to go through the init routine when we aren't able to allocate memory, we should just stop and go down. Signed-off-by: Dave Jiang <dave.jiang@intel.com> Signed-off-by: Jon Mason <jdmason@kudzu.us>
-rw-r--r--drivers/ntb/ntb_transport.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
index 4321488..2ef9d91 100644
--- a/drivers/ntb/ntb_transport.c
+++ b/drivers/ntb/ntb_transport.c
@@ -829,7 +829,7 @@ static void ntb_transport_link_work(struct work_struct *work)
struct pci_dev *pdev = ndev->pdev;
resource_size_t size;
u32 val;
- int rc, i, spad;
+ int rc = 0, i, spad;
/* send the local info, in the opposite order of the way we read it */
for (i = 0; i < nt->mw_count; i++) {
@@ -899,6 +899,13 @@ static void ntb_transport_link_work(struct work_struct *work)
out1:
for (i = 0; i < nt->mw_count; i++)
ntb_free_mw(nt, i);
+
+ /* if there's an actual failure, we should just bail */
+ if (rc < 0) {
+ ntb_link_disable(ndev);
+ return;
+ }
+
out:
if (ntb_link_is_up(ndev, NULL, NULL) == 1)
schedule_delayed_work(&nt->link_work,
OpenPOWER on IntegriCloud