aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_init.c
diff options
context:
space:
mode:
authorandrew.vasquez@qlogic.com <andrew.vasquez@qlogic.com>2006-01-20 17:53:19 -0500
committerJames Bottomley <jejb@mulgrave.(none)>2006-01-26 08:17:00 -0500
commit052c40c83b4ca37be226112049b60097cb9961e1 (patch)
treefc6a030f7df137575160dfb8274991a854c3a14d /drivers/scsi/qla2xxx/qla_init.c
parentd97994dc1fddcbb8212b745d9c9c9ce96262155c (diff)
[SCSI] qla2xxx: Correct issue where the rport's upcall was not being made after relogin.
A target can LOGO an initiator at any time (i.e. during I/O, due to a controller hicup, or as a simple authentication mechanism after an initial CDB command), when this occurs, the driver attempts to relogin (PLOGI) to the device via the DPC thread. Add code to make the appropriate upcall to the FC transport layer (fc_remote_port_add()) upon successful completion of the PLOGI. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_init.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 4c7caece4ca7..16c889261d94 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -32,7 +32,6 @@ static int qla2x00_fw_ready(scsi_qla_host_t *);
32static int qla2x00_configure_hba(scsi_qla_host_t *); 32static int qla2x00_configure_hba(scsi_qla_host_t *);
33static int qla2x00_configure_loop(scsi_qla_host_t *); 33static int qla2x00_configure_loop(scsi_qla_host_t *);
34static int qla2x00_configure_local_loop(scsi_qla_host_t *); 34static int qla2x00_configure_local_loop(scsi_qla_host_t *);
35static void qla2x00_update_fcport(scsi_qla_host_t *, fc_port_t *);
36static int qla2x00_configure_fabric(scsi_qla_host_t *); 35static int qla2x00_configure_fabric(scsi_qla_host_t *);
37static int qla2x00_find_all_fabric_devs(scsi_qla_host_t *, struct list_head *); 36static int qla2x00_find_all_fabric_devs(scsi_qla_host_t *, struct list_head *);
38static int qla2x00_device_resync(scsi_qla_host_t *); 37static int qla2x00_device_resync(scsi_qla_host_t *);
@@ -2039,7 +2038,7 @@ qla2x00_probe_for_all_luns(scsi_qla_host_t *ha)
2039 * Context: 2038 * Context:
2040 * Kernel context. 2039 * Kernel context.
2041 */ 2040 */
2042static void 2041void
2043qla2x00_update_fcport(scsi_qla_host_t *ha, fc_port_t *fcport) 2042qla2x00_update_fcport(scsi_qla_host_t *ha, fc_port_t *fcport)
2044{ 2043{
2045 uint16_t index; 2044 uint16_t index;