ibmvfc_nvme_setup_fcp_abort() sets the IBMVFC_TMF_SUPPRESS_ABTS flag
only when the adapter does NOT have the IBMVFC_CAN_SUPPRESS_ABTS
capability, which is the exact opposite of the intended behaviour.

Remove the erroneous '!' negation so the flag is set when the adapter
actually reports the capability, consistent with how the SCSI TMF path
in ibmvfc_cancel_all() handles the same check.

Fixes: 20bec08f0208 ("ibmvfc: implement nvme-fc LS abort handling callback")
Signed-off-by: Tyrel Datwyler <[email protected]>
---
 drivers/scsi/ibmvscsi/ibmvfc-nvme.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/ibmvscsi/ibmvfc-nvme.c 
b/drivers/scsi/ibmvscsi/ibmvfc-nvme.c
index 0391fdb4642d..58e3e50d0c5c 100644
--- a/drivers/scsi/ibmvscsi/ibmvfc-nvme.c
+++ b/drivers/scsi/ibmvscsi/ibmvfc-nvme.c
@@ -184,7 +184,7 @@ static void ibmvfc_init_ls_abort(struct ibmvfc_event *evt, 
struct nvmefc_ls_req
        tmf->common.opcode = cpu_to_be32(IBMVFC_NVMF_TMF_MAD);
        tmf->common.length = cpu_to_be16(sizeof(*tmf));
        if (vhost->state != IBMVFC_ACTIVE)
-               if (!ibmvfc_check_caps(vhost, IBMVFC_CAN_SUPPRESS_ABTS))
+               if (ibmvfc_check_caps(vhost, IBMVFC_CAN_SUPPRESS_ABTS))
                        tmf->flags = cpu_to_be32(IBMVFC_TMF_SUPPRESS_ABTS);
        tmf->cancel_key = cpu_to_be32((u64)abt_evt);
        tmf->my_cancel_key = cpu_to_be32((u64)evt);
-- 
2.55.0


Reply via email to