[SCSI] qla2xxx: Correct late-memset() of EFT buffer.
authorAndrew Vasquez <andrew.vasquez@qlogic.com>
Thu, 17 Jan 2008 17:02:18 +0000 (09:02 -0800)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Wed, 23 Jan 2008 17:29:32 +0000 (11:29 -0600)
Original code would clear the buffer after the firmware had
already been initialized to use the buffer, thus potentially
and inadvertantly clearing data previously DMA'd by the
firmware.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/qla2xxx/qla_init.c

index cacfd2509387a54403f872de7932df914059da7a..7637fa7546b5ba6490e4ea13ad16a2dc677825b9 100644 (file)
@@ -766,6 +766,7 @@ qla2x00_alloc_fw_dump(scsi_qla_host_t *ha)
                        goto cont_alloc;
                }
 
+               memset(tc, 0, EFT_SIZE);
                rval = qla2x00_enable_eft_trace(ha, tc_dma, EFT_NUM_BUFFERS);
                if (rval) {
                        qla_printk(KERN_WARNING, ha, "Unable to initialize "
@@ -779,7 +780,6 @@ qla2x00_alloc_fw_dump(scsi_qla_host_t *ha)
                    EFT_SIZE / 1024);
 
                eft_size = EFT_SIZE;
-               memset(tc, 0, eft_size);
                ha->eft_dma = tc_dma;
                ha->eft = tc;