On Fri, May 25, 2018 at 12:01:21PM -0400, Devesh Sharma wrote: > The recent changes in Broadcom's ethernet driver(L2 driver) broke > RoCE functionality in terms of MSIx vector allocation and > de-allocation. > > There is a possibility that L2 driver would initiate MSIx vector > reallocation depending upon the requests coming from administrator. > In such cases L2 driver needs to free up all the MSIx vectors > allocated previously and reallocate/initialize those. > > If RoCE driver is loaded and reshuffling is attempted, there will be > kernel crashes because RoCE driver would still be holding the MSIx > vectors but L2 driver would attempt to free in-use vectors. Thus > leading to a kernel crash. > > Making changes in roce driver to fix crashes described above. > As part of solution L2 driver tells RoCE driver to release > the MSIx vector whenever there is a need. When RoCE driver > get message it sync up with all the running tasklets and IRQ > handlers and releases the vectors. L2 driver send one more > message to RoCE driver to resume the MSIx vectors. L2 driver > guarantees that RoCE vector do not change during reshuffling. > > Fixes: ec86f14ea506 ("bnxt_en: Add ULP calls to stop and restart IRQs.") > Fixes: 08654eb213a8 ("bnxt_en: Change IRQ assignment for RDMA driver.") > Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxx> > --- > drivers/infiniband/hw/bnxt_re/main.c | 55 ++++++++++++++++- > drivers/infiniband/hw/bnxt_re/qplib_fp.c | 94 +++++++++++++++++++----------- > drivers/infiniband/hw/bnxt_re/qplib_fp.h | 3 + > drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 61 +++++++++++++------ > drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 3 + > 5 files changed, 163 insertions(+), 53 deletions(-) Applied to for-rc, but I'm not sure if there will be another for-rc pull request this cycle. If not it will go into the merge window. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html