Commit 7c283177 authored by Andrew Vasquez's avatar Andrew Vasquez Committed by James Bottomley

[SCSI] qla2xxx: Correct endianness issue during flash manipulation.

The flash data was incorrectly being converted (cpu_to_le32())
when using the bulk-flash-write mailbox command (ISP25xx and
above).
Signed-off-by: default avatarAndrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent ad038fa8
...@@ -980,12 +980,11 @@ qla24xx_write_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr, ...@@ -980,12 +980,11 @@ qla24xx_write_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr,
uint32_t dwords) uint32_t dwords)
{ {
int ret; int ret;
uint32_t liter, miter; uint32_t liter;
uint32_t sec_mask, rest_addr; uint32_t sec_mask, rest_addr;
uint32_t fdata; uint32_t fdata;
dma_addr_t optrom_dma; dma_addr_t optrom_dma;
void *optrom = NULL; void *optrom = NULL;
uint32_t *s, *d;
struct qla_hw_data *ha = vha->hw; struct qla_hw_data *ha = vha->hw;
ret = QLA_SUCCESS; ret = QLA_SUCCESS;
...@@ -1031,9 +1030,7 @@ qla24xx_write_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr, ...@@ -1031,9 +1030,7 @@ qla24xx_write_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr,
/* Go with burst-write. */ /* Go with burst-write. */
if (optrom && (liter + OPTROM_BURST_DWORDS) <= dwords) { if (optrom && (liter + OPTROM_BURST_DWORDS) <= dwords) {
/* Copy data to DMA'ble buffer. */ /* Copy data to DMA'ble buffer. */
for (miter = 0, s = optrom, d = dwptr; memcpy(optrom, dwptr, OPTROM_BURST_SIZE);
miter < OPTROM_BURST_DWORDS; miter++, s++, d++)
*s = cpu_to_le32(*d);
ret = qla2x00_load_ram(vha, optrom_dma, ret = qla2x00_load_ram(vha, optrom_dma,
flash_data_addr(ha, faddr), flash_data_addr(ha, faddr),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment