diff options
author | Jason Gunthorpe <jgg@mellanox.com> | 2018-10-16 00:01:02 -0600 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2018-10-16 00:01:02 -0600 |
commit | 59bfc59a68286c5e6824ec3dddcf5232a73c217e (patch) | |
tree | ccb6b22ba5238ab7abc691ccfccf52ced7e11aea /drivers/infiniband/hw/hfi1/chip.c | |
parent | ed7a01fd3fd77f40b4ef2562b966a5decd8928d2 (diff) | |
parent | dd9a403495704fc80fb9f399003013ef2be2ee23 (diff) | |
download | linux-stable-59bfc59a68286c5e6824ec3dddcf5232a73c217e.tar.gz linux-stable-59bfc59a68286c5e6824ec3dddcf5232a73c217e.tar.bz2 linux-stable-59bfc59a68286c5e6824ec3dddcf5232a73c217e.zip |
Merge branch 'for-rc' into rdma.git for-next
From git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git
This is required to resolve dependencies of the next series of RDMA
patches.
The code motion conflicts in drivers/infiniband/core/cache.c were
resolved.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/chip.c')
-rw-r--r-- | drivers/infiniband/hw/hfi1/chip.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/hfi1/chip.c b/drivers/infiniband/hw/hfi1/chip.c index 8c0f88278f58..9b20479dc710 100644 --- a/drivers/infiniband/hw/hfi1/chip.c +++ b/drivers/infiniband/hw/hfi1/chip.c @@ -6731,6 +6731,7 @@ void start_freeze_handling(struct hfi1_pportdata *ppd, int flags) struct hfi1_devdata *dd = ppd->dd; struct send_context *sc; int i; + int sc_flags; if (flags & FREEZE_SELF) write_csr(dd, CCE_CTRL, CCE_CTRL_SPC_FREEZE_SMASK); @@ -6741,11 +6742,13 @@ void start_freeze_handling(struct hfi1_pportdata *ppd, int flags) /* notify all SDMA engines that they are going into a freeze */ sdma_freeze_notify(dd, !!(flags & FREEZE_LINK_DOWN)); + sc_flags = SCF_FROZEN | SCF_HALTED | (flags & FREEZE_LINK_DOWN ? + SCF_LINK_DOWN : 0); /* do halt pre-handling on all enabled send contexts */ for (i = 0; i < dd->num_send_contexts; i++) { sc = dd->send_contexts[i].sc; if (sc && (sc->flags & SCF_ENABLED)) - sc_stop(sc, SCF_FROZEN | SCF_HALTED); + sc_stop(sc, sc_flags); } /* Send context are frozen. Notify user space */ @@ -10675,6 +10678,7 @@ int set_link_state(struct hfi1_pportdata *ppd, u32 state) add_rcvctrl(dd, RCV_CTRL_RCV_PORT_ENABLE_SMASK); handle_linkup_change(dd, 1); + pio_kernel_linkup(dd); /* * After link up, a new link width will have been set. |