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>
This commit is contained in:
Dave Jiang 2016-02-29 09:35:26 -07:00 коммит произвёл Jon Mason
Родитель e902133162
Коммит 84f766855f
1 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -829,7 +829,7 @@ static void ntb_transport_link_work(struct work_struct *work)
struct pci_dev *pdev = ndev->pdev; struct pci_dev *pdev = ndev->pdev;
resource_size_t size; resource_size_t size;
u32 val; 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 */ /* send the local info, in the opposite order of the way we read it */
for (i = 0; i < nt->mw_count; i++) { for (i = 0; i < nt->mw_count; i++) {
@ -899,6 +899,13 @@ static void ntb_transport_link_work(struct work_struct *work)
out1: out1:
for (i = 0; i < nt->mw_count; i++) for (i = 0; i < nt->mw_count; i++)
ntb_free_mw(nt, 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: out:
if (ntb_link_is_up(ndev, NULL, NULL) == 1) if (ntb_link_is_up(ndev, NULL, NULL) == 1)
schedule_delayed_work(&nt->link_work, schedule_delayed_work(&nt->link_work,