[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)
|
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,
|
|||||||
/* 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),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user