aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Carnuccio <[email protected]>2011-05-10 11:30:11 -0700
committerJames Bottomley <[email protected]>2011-05-17 11:34:20 +0400
commit1bff6cc8fbb73d6bed809d3eff18e90c175a601c (patch)
treec434f4ddfdaf4b96800ca394f0b47102a97625ee
parentd652e0937029e1f7cf9b17d639782db1b0c23ea9 (diff)
[SCSI] qla2xxx: Correctly read sfp single byte mailbox register.
When reading a single byte using the READ SFP mailbox command, the single byte of data is returned in MB[1] and not MB[8]. The reason that MB[8] was being used is that the spec was unclear as it evolved over time; and we have not needed to read a single byte until recently. Signed-off-by: Joe Carnuccio <[email protected]> Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]> Signed-off-by: James Bottomley <[email protected]>
-rw-r--r--drivers/scsi/qla2xxx/qla_mbx.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
index 975aeaae297a..aab628bf8d36 100644
--- a/drivers/scsi/qla2xxx/qla_mbx.c
+++ b/drivers/scsi/qla2xxx/qla_mbx.c
@@ -3608,14 +3608,14 @@ qla2x00_read_edc(scsi_qla_host_t *vha, uint16_t dev, uint16_t adr,
mcp->mb[9] = adr;
mcp->mb[10] = opt;
mcp->out_mb = MBX_10|MBX_9|MBX_8|MBX_7|MBX_6|MBX_3|MBX_2|MBX_1|MBX_0;
- mcp->in_mb = MBX_0;
+ mcp->in_mb = MBX_1|MBX_0;
mcp->tov = MBX_TOV_SECONDS;
mcp->flags = 0;
rval = qla2x00_mailbox_command(vha, mcp);
if (opt & BIT_0)
if (sfp)
- *sfp = mcp->mb[8];
+ *sfp = mcp->mb[1];
if (rval != QLA_SUCCESS) {
DEBUG2_3_11(printk("%s(%ld): failed=%x (%x).\n", __func__,