diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2012-02-09 14:14:06 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-02-18 09:44:51 -0500 |
commit | 4ba988db8d60eb16b7da69f9e3705b52ac8a6540 (patch) | |
tree | e6c35c8ceb12898ca70715ce85341949d0ae6595 /drivers/scsi | |
parent | d051a5aa1c234c8de01fc0a488b1a18d65246150 (diff) |
[SCSI] qla2xxx: Clear options-flags while issuing stop-firmware mbx command.
Not clearing the options flags in mbx1 could lead the firmware
into interpreting old data in mbx1 through mbx8. This could
lead to inadvertent DMA read/write operations to stale memory.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_mbx.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index 34344d3f8658..8635722332a0 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c | |||
@@ -2581,7 +2581,8 @@ qla2x00_stop_firmware(scsi_qla_host_t *vha) | |||
2581 | ql_dbg(ql_dbg_mbx, vha, 0x10a1, "Entered %s.\n", __func__); | 2581 | ql_dbg(ql_dbg_mbx, vha, 0x10a1, "Entered %s.\n", __func__); |
2582 | 2582 | ||
2583 | mcp->mb[0] = MBC_STOP_FIRMWARE; | 2583 | mcp->mb[0] = MBC_STOP_FIRMWARE; |
2584 | mcp->out_mb = MBX_0; | 2584 | mcp->mb[1] = 0; |
2585 | mcp->out_mb = MBX_1|MBX_0; | ||
2585 | mcp->in_mb = MBX_0; | 2586 | mcp->in_mb = MBX_0; |
2586 | mcp->tov = 5; | 2587 | mcp->tov = 5; |
2587 | mcp->flags = 0; | 2588 | mcp->flags = 0; |