Commit c73191b8 authored by Harish Zunjarrao's avatar Harish Zunjarrao Committed by Martin K. Petersen
Browse files

qla2xxx: Provide mbx info in BBCR data after mbx failure

parent da08ef5c
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -2204,8 +2204,12 @@ qla27xx_get_bbcr_data(struct fc_bsg_job *bsg_job)
	if (bbcr.status == QLA_BBCR_STATUS_ENABLED) {
		rval = qla2x00_get_adapter_id(vha, &loop_id, &al_pa,
			&area, &domain, &topo, &sw_cap);
		if (rval != QLA_SUCCESS)
			return -EIO;
		if (rval != QLA_SUCCESS) {
			bbcr.status = QLA_BBCR_STATUS_UNKNOWN;
			bbcr.state = QLA_BBCR_STATE_OFFLINE;
			bbcr.mbx1 = loop_id;
			goto done;
		}

		state = (vha->bbcr >> 12) & 0x1;

@@ -2220,6 +2224,7 @@ qla27xx_get_bbcr_data(struct fc_bsg_job *bsg_job)
		bbcr.configured_bbscn = vha->bbcr & 0xf;
	}

done:
	sg_copy_from_buffer(bsg_job->reply_payload.sg_list,
		bsg_job->reply_payload.sg_cnt, &bbcr, sizeof(bbcr));
	bsg_job->reply->reply_payload_rcv_len = sizeof(bbcr);
+3 −1
Original line number Diff line number Diff line
@@ -245,6 +245,7 @@ struct qla_flash_update_caps {
/* BB_CR Status */
#define QLA_BBCR_STATUS_DISABLED       0
#define QLA_BBCR_STATUS_ENABLED        1
#define QLA_BBCR_STATUS_UNKNOWN        2

/* BB_CR State */
#define QLA_BBCR_STATE_OFFLINE         0
@@ -262,6 +263,7 @@ struct qla_bbcr_data {
	uint8_t   configured_bbscn;       /* 0-15 */
	uint8_t   negotiated_bbscn;       /* 0-15 */
	uint8_t   offline_reason_code;
	uint8_t   reserved[11];
	uint16_t  mbx1;			/* Port state */
	uint8_t   reserved[9];
} __packed;
#endif