[SCSI] qla2xxx: Correctly read sfp single byte mailbox register.
[pandora-kernel.git] / drivers / scsi / qla2xxx / qla_mbx.c
index 260d1b3..aab628b 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * QLogic Fibre Channel HBA Driver
- * Copyright (c)  2003-2010 QLogic Corporation
+ * Copyright (c)  2003-2011 QLogic Corporation
  *
  * See LICENSE.qla2xxx for copyright and licensing details.
  */
@@ -1261,11 +1261,12 @@ qla2x00_get_port_database(scsi_qla_host_t *vha, fc_port_t *fcport, uint8_t opt)
                /* Check for logged in state. */
                if (pd24->current_login_state != PDS_PRLI_COMPLETE &&
                    pd24->last_login_state != PDS_PRLI_COMPLETE) {
-                       DEBUG2(printk("%s(%ld): Unable to verify "
-                           "login-state (%x/%x) for loop_id %x\n",
-                           __func__, vha->host_no,
-                           pd24->current_login_state,
-                           pd24->last_login_state, fcport->loop_id));
+                       DEBUG2(qla_printk(KERN_WARNING, ha,
+                          "scsi(%ld): Unable to verify login-state (%x/%x) "
+                          " - portid=%02x%02x%02x.\n", vha->host_no,
+                          pd24->current_login_state, pd24->last_login_state,
+                          fcport->d_id.b.domain, fcport->d_id.b.area,
+                          fcport->d_id.b.al_pa));
                        rval = QLA_FUNCTION_FAILED;
                        goto gpd_error_out;
                }
@@ -1289,6 +1290,12 @@ qla2x00_get_port_database(scsi_qla_host_t *vha, fc_port_t *fcport, uint8_t opt)
                /* Check for logged in state. */
                if (pd->master_state != PD_STATE_PORT_LOGGED_IN &&
                    pd->slave_state != PD_STATE_PORT_LOGGED_IN) {
+                       DEBUG2(qla_printk(KERN_WARNING, ha,
+                          "scsi(%ld): Unable to verify login-state (%x/%x) "
+                          " - portid=%02x%02x%02x.\n", vha->host_no,
+                          pd->master_state, pd->slave_state,
+                          fcport->d_id.b.domain, fcport->d_id.b.area,
+                          fcport->d_id.b.al_pa));
                        rval = QLA_FUNCTION_FAILED;
                        goto gpd_error_out;
                }
@@ -3601,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__,