Skip to contentSkip to conversation

qla4xxx: do not retry login to CHAP auth failed targets

PATCH In review Ravi Anand 1 participant 1 message Jan 30, 2010

Subsystems (2)
lore
Share & tools
lore

Ravi Anand

author
#0 lore raw

PATCH 9/11 qla4xxx: do not retry login to CHAP auth failed targets

From: Vikas Chaudhary <[email protected]>

Per RFC 3720, Login Response Status Code 0x02 should not be retried. Condensed connection error checking code to a single routine, and added check for status class 0x02.

---
 drivers/scsi/qla4xxx/ql4_glbl.h |    5 +-
 drivers/scsi/qla4xxx/ql4_init.c |   90 ++++++++++++++++++++++++++-------------
 drivers/scsi/qla4xxx/ql4_isr.c  |    2 +-
 3 files changed, 64 insertions(+), 33 deletions(-)
drivers/scsi/qla4xxx/ql4_glbl.h +3 -2
index 6400714..4218c75 100644
@@ -67,13 +67,14 @@ struct srb * qla4xxx_del_from_active_array(struct scsi_qla_host *ha,
 					uint32_t index);
 void qla4xxx_srb_compl(struct scsi_qla_host *ha, struct srb *srb);
 int qla4xxx_reinitialize_ddb_list(struct scsi_qla_host * ha);
-int qla4xxx_process_ddb_changed(struct scsi_qla_host * ha,
-				uint32_t fw_ddb_index, uint32_t state);
+int qla4xxx_process_ddb_changed(struct scsi_qla_host *ha, uint32_t fw_ddb_index,
+				uint32_t state, uint32_t conn_error);
 void qla4xxx_dump_buffer(void *b, uint32_t size);
 int qla4xxx_send_marker_iocb(struct scsi_qla_host *ha,
 	struct ddb_entry *ddb_entry, int lun, uint16_t mrkr_mod);
 
 void sp_put(struct scsi_qla_host *ha, struct srb *sp);
+int qla4_is_relogin_allowed(struct scsi_qla_host *ha, uint32_t conn_err);
 
 extern int ql4xextended_error_logging;
 extern int ql4xdiscoverywait;
drivers/scsi/qla4xxx/ql4_init.c +60 -30

167 lines not on this page · raw message

drivers/scsi/qla4xxx/ql4_isr.c +1 -1
index 21c4d02..e41f724 100644
@@ -836,7 +836,7 @@ void qla4xxx_process_aen(struct scsi_qla_host * ha, uint8_t process_aen)
 				qla4xxx_reinitialize_ddb_list(ha);
 			} else if (mbox_sts[1] == 1) {	/* Specific device. */
 				qla4xxx_process_ddb_changed(ha, mbox_sts[2],
-							    mbox_sts[3]);
+							    mbox_sts[3], mbox_sts[4]);
 			}
 			break;
 		}
Signature · 1 line
1.6.0.2