#define cfg_eqdr_SHIFT                         8
 #define cfg_eqdr_MASK                          0x00000001
 #define cfg_eqdr_WORD                          word19
+#define cfg_nosr_SHIFT                         9
+#define cfg_nosr_MASK                          0x00000001
+#define cfg_nosr_WORD                          word19
 #define LPFC_NODELAY_MAX_IO            32
 };
 
 
                phba->cfg_enable_fc4_type = LPFC_ENABLE_FCP;
        }
 
-       if (bf_get(cfg_xib, mbx_sli4_parameters) && phba->cfg_suppress_rsp)
+       /*
+        * To support Suppress Response feature we must satisfy 3 conditions.
+        * lpfc_suppress_rsp module parameter must be set (default).
+        * In SLI4-Parameters Descriptor:
+        * Extended Inline Buffers (XIB) must be supported.
+        * Suppress Response IU Not Supported (SRIUNS) must NOT be supported
+        * (double negative).
+        */
+       if (phba->cfg_suppress_rsp && bf_get(cfg_xib, mbx_sli4_parameters) &&
+           !(bf_get(cfg_nosr, mbx_sli4_parameters)))
                phba->sli.sli_flag |= LPFC_SLI_SUPPRESS_RSP;
+       else
+               phba->cfg_suppress_rsp = 0;
 
        if (bf_get(cfg_eqdr, mbx_sli4_parameters))
                phba->sli.sli_flag |= LPFC_SLI_USE_EQDR;
 
                if (rsp->op == NVMET_FCOP_READDATA_RSP) {
                        atomic_inc(&tgtp->xmt_fcp_read_rsp);
                        bf_set(wqe_ar, &wqe->fcp_tsend.wqe_com, 1);
-                       if ((ndlp->nlp_flag & NLP_SUPPRESS_RSP) &&
-                           (rsp->rsplen == 12)) {
-                               bf_set(wqe_sup, &wqe->fcp_tsend.wqe_com, 1);
+                       if (rsp->rsplen == LPFC_NVMET_SUCCESS_LEN) {
+                               if (ndlp->nlp_flag & NLP_SUPPRESS_RSP)
+                                       bf_set(wqe_sup,
+                                              &wqe->fcp_tsend.wqe_com, 1);
                                bf_set(wqe_wqes, &wqe->fcp_tsend.wqe_com, 0);
                                bf_set(wqe_irsp, &wqe->fcp_tsend.wqe_com, 0);
                                bf_set(wqe_irsplen, &wqe->fcp_tsend.wqe_com, 0);