[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: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
parent
ad038fa824
commit
7c283177fa
|
@ -980,12 +980,11 @@ qla24xx_write_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr,
|
|||
uint32_t dwords)
|
||||
{
|
||||
int ret;
|
||||
uint32_t liter, miter;
|
||||
uint32_t liter;
|
||||
uint32_t sec_mask, rest_addr;
|
||||
uint32_t fdata;
|
||||
dma_addr_t optrom_dma;
|
||||
void *optrom = NULL;
|
||||
uint32_t *s, *d;
|
||||
struct qla_hw_data *ha = vha->hw;
|
||||
|
||||
ret = QLA_SUCCESS;
|
||||
|
@ -1031,9 +1030,7 @@ qla24xx_write_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr,
|
|||
/* Go with burst-write. */
|
||||
if (optrom && (liter + OPTROM_BURST_DWORDS) <= dwords) {
|
||||
/* Copy data to DMA'ble buffer. */
|
||||
for (miter = 0, s = optrom, d = dwptr;
|
||||
miter < OPTROM_BURST_DWORDS; miter++, s++, d++)
|
||||
*s = cpu_to_le32(*d);
|
||||
memcpy(optrom, dwptr, OPTROM_BURST_SIZE);
|
||||
|
||||
ret = qla2x00_load_ram(vha, optrom_dma,
|
||||
flash_data_addr(ha, faddr),
|
||||
|
|
Loading…
Reference in a new issue