[SCSI] qla4xxx: Fix the minidump data collection check in for loop
authorSantosh Vernekar <santosh.vernekar@qlogic.com>
Fri, 23 Aug 2013 07:40:19 +0000 (03:40 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Tue, 3 Sep 2013 14:27:57 +0000 (07:27 -0700)
Signed-off-by: Santosh Vernekar <santosh.vernekar@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla4xxx/ql4_nx.c

index c41362c29fc8213d5c80c0b23dfcc18d5b50667e..53c759fc48a0cf0c728e10364def4ba1b5ea03ea 100644 (file)
@@ -2628,7 +2628,7 @@ static int qla4_8xxx_collect_md_data(struct scsi_qla_host *ha)
 
        /* Walk through the entry headers - validate/perform required action */
        for (i = 0; i < num_entry_hdr; i++) {
-               if (data_collected >= ha->fw_dump_size) {
+               if (data_collected > ha->fw_dump_size) {
                        ql4_printk(KERN_INFO, ha,
                                   "Data collected: [0x%x], Total Dump size: [0x%x]\n",
                                   data_collected, ha->fw_dump_size);
@@ -2753,9 +2753,7 @@ static int qla4_8xxx_collect_md_data(struct scsi_qla_host *ha)
                        break;
                }
 
-               data_collected = (uint8_t *)data_ptr -
-                                ((uint8_t *)((uint8_t *)ha->fw_dump +
-                                               ha->fw_dump_tmplt_size));
+               data_collected = (uint8_t *)data_ptr - (uint8_t *)ha->fw_dump;
 skip_nxt_entry:
                /*  next entry in the template */
                entry_hdr = (struct qla8xxx_minidump_entry_hdr *)
@@ -2763,7 +2761,7 @@ skip_nxt_entry:
                                 entry_hdr->entry_size);
        }
 
-       if ((data_collected + ha->fw_dump_tmplt_size) != ha->fw_dump_size) {
+       if (data_collected != ha->fw_dump_size) {
                ql4_printk(KERN_INFO, ha,
                           "Dump data mismatch: Data collected: [0x%x], total_data_size:[0x%x]\n",
                           data_collected, ha->fw_dump_size);