diff mbox

nvmet_rdma crash - DISCONNECT event with NULL queue

Message ID b499abb0-afc9-2985-c4c4-3ceba4ca6f33@grimberg.me (mailing list archive)
State Not Applicable
Headers show

Commit Message

Sagi Grimberg Nov. 6, 2016, 8:51 a.m. UTC
>> I'll also try and reproduce this on mlx4 to rule out
>> iwarp and cxgb4 anomolies.
>
> Running the same test over mlx4/roce, I hit a warning in list_debug, and then a
> stuck CPU...

Steve,

Does this patch help?
--
  }
@@ -1247,7 +1248,6 @@ static void __nvmet_rdma_queue_disconnect(struct 
nvmet_rdma_queue *queue)

         if (disconnect) {
                 rdma_disconnect(queue->cm_id);
-               ib_drain_qp(queue->cm_id->qp);
                 schedule_work(&queue->release_work);
         }
  }
--
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Steve Wise Nov. 8, 2016, 8:45 p.m. UTC | #1
> > Running the same test over mlx4/roce, I hit a warning in list_debug, and
then a
> > stuck CPU...
> 
> Steve,
> 
> Does this patch help?
> --

Hey Sagi,

With this patch applied, I haven't seen any more target side crashes.  I say
this with a caveat, though, that I'm chasing a few other host side issues
still...

Steve.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/nvme/target/rdma.c b/drivers/nvme/target/rdma.c
index bafd9898b5f6..5946dac9564f 100644
--- a/drivers/nvme/target/rdma.c
+++ b/drivers/nvme/target/rdma.c
@@ -951,6 +951,7 @@  static int nvmet_rdma_create_queue_ib(struct 
nvmet_rdma_queue *queue)

  static void nvmet_rdma_destroy_queue_ib(struct nvmet_rdma_queue *queue)
  {
+       ib_drain_qp(queue->cm_id->qp);
         rdma_destroy_qp(queue->cm_id);
         ib_free_cq(queue->cq);