On 11/6/2017 11:55 AM, Himanshu Madhani wrote:
From: Anil Gurumurthy <anil.gurumur...@cavium.com>

+static struct nvmet_fc_target_template qla_nvmet_fc_transport = {
+       .targetport_delete      = qla_nvmet_targetport_delete,
+       .xmt_ls_rsp             = qla_nvmet_ls_rsp,
+       .fcp_op                 = qla_nvmet_fcp_op,
+       .fcp_abort              = qla_nvmet_fcp_abort,
+       .fcp_req_release        = qla_nvmet_fcp_req_release,
+       .max_hw_queues          = 8,
+       .max_sgl_segments       = 128,
+       .max_dif_sgl_segments   = 64,
+       .dma_boundary           = 0xFFFFFFFF,
+       .target_features        = NVMET_FCTGTFEAT_READDATA_RSP |
+                                       NVMET_FCTGTFEAT_CMD_IN_ISR |
+                                       NVMET_FCTGTFEAT_OPDONE_IN_ISR,
+       .target_priv_sz = sizeof(struct nvme_private),
+};
+#endif


Do you really need the xxx_IN_ISR features ?  e.g. are you calling the nvmet_fc cmd receive and op done calls in ISR context or something that can't/shouldn't continue into the nvmet layers ?

I was looking to remove those flags and the work_q items behind it as I believed the qla2xxx driver called everything in a deferred callback.

-- james


Reply via email to