]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/scsi/libfc/fc_fcp.c
[SCSI] libfc: fix lun reset failure bugs in fc_fcp_resp handling of FCP_RSP_INFO
[karo-tx-linux.git] / drivers / scsi / libfc / fc_fcp.c
index 14243fa5f8e83fcc6208ddc340cfee7ab49dd2d8..fcb9d0b20ee4baa463dc34bf7fa4684d9f2fd6f2 100644 (file)
@@ -851,7 +851,8 @@ static void fc_fcp_resp(struct fc_fcp_pkt *fsp, struct fc_frame *fp)
                        fc_rp_info = (struct fcp_resp_rsp_info *)(rp_ex + 1);
                        if (flags & FCP_RSP_LEN_VAL) {
                                respl = ntohl(rp_ex->fr_rsp_len);
-                               if (respl != sizeof(*fc_rp_info))
+                               if ((respl != FCP_RESP_RSP_INFO_LEN4) &&
+                                   (respl != FCP_RESP_RSP_INFO_LEN8))
                                        goto len_err;
                                if (fsp->wait_for_comp) {
                                        /* Abuse cdb_status for rsp code */