diff options
| -rw-r--r-- | drivers/scsi/libfc/fc_exch.c | 4 | ||||
| -rw-r--r-- | drivers/scsi/libfc/fc_lport.c | 10 |
2 files changed, 5 insertions, 9 deletions
diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c index 81235f36adc1..1b22130035da 100644 --- a/drivers/scsi/libfc/fc_exch.c +++ b/drivers/scsi/libfc/fc_exch.c | |||
| @@ -1793,6 +1793,9 @@ restart: | |||
| 1793 | goto restart; | 1793 | goto restart; |
| 1794 | } | 1794 | } |
| 1795 | } | 1795 | } |
| 1796 | pool->next_index = 0; | ||
| 1797 | pool->left = FC_XID_UNKNOWN; | ||
| 1798 | pool->right = FC_XID_UNKNOWN; | ||
| 1796 | spin_unlock_bh(&pool->lock); | 1799 | spin_unlock_bh(&pool->lock); |
| 1797 | } | 1800 | } |
| 1798 | 1801 | ||
| @@ -2281,6 +2284,7 @@ struct fc_exch_mgr *fc_exch_mgr_alloc(struct fc_lport *lport, | |||
| 2281 | goto free_mempool; | 2284 | goto free_mempool; |
| 2282 | for_each_possible_cpu(cpu) { | 2285 | for_each_possible_cpu(cpu) { |
| 2283 | pool = per_cpu_ptr(mp->pool, cpu); | 2286 | pool = per_cpu_ptr(mp->pool, cpu); |
| 2287 | pool->next_index = 0; | ||
| 2284 | pool->left = FC_XID_UNKNOWN; | 2288 | pool->left = FC_XID_UNKNOWN; |
| 2285 | pool->right = FC_XID_UNKNOWN; | 2289 | pool->right = FC_XID_UNKNOWN; |
| 2286 | spin_lock_init(&pool->lock); | 2290 | spin_lock_init(&pool->lock); |
diff --git a/drivers/scsi/libfc/fc_lport.c b/drivers/scsi/libfc/fc_lport.c index 628f347404f9..e0fb89133566 100644 --- a/drivers/scsi/libfc/fc_lport.c +++ b/drivers/scsi/libfc/fc_lport.c | |||
| @@ -1030,16 +1030,8 @@ static void fc_lport_enter_reset(struct fc_lport *lport) | |||
| 1030 | FCH_EVT_LIPRESET, 0); | 1030 | FCH_EVT_LIPRESET, 0); |
| 1031 | fc_vports_linkchange(lport); | 1031 | fc_vports_linkchange(lport); |
| 1032 | fc_lport_reset_locked(lport); | 1032 | fc_lport_reset_locked(lport); |
| 1033 | if (lport->link_up) { | 1033 | if (lport->link_up) |
| 1034 | /* | ||
| 1035 | * Wait upto resource allocation time out before | ||
| 1036 | * doing re-login since incomplete FIP exchanged | ||
| 1037 | * from last session may collide with exchanges | ||
| 1038 | * in new session. | ||
| 1039 | */ | ||
| 1040 | msleep(lport->r_a_tov); | ||
| 1041 | fc_lport_enter_flogi(lport); | 1034 | fc_lport_enter_flogi(lport); |
| 1042 | } | ||
| 1043 | } | 1035 | } |
| 1044 | 1036 | ||
| 1045 | /** | 1037 | /** |
