git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git]
/
drivers
/
scsi
/
libfc
/
fc_lport.c
diff --git
a/drivers/scsi/libfc/fc_lport.c
b/drivers/scsi/libfc/fc_lport.c
index
e55ed9c
..
628f347
100644
(file)
--- a/
drivers/scsi/libfc/fc_lport.c
+++ b/
drivers/scsi/libfc/fc_lport.c
@@
-88,6
+88,7
@@
*/
#include <linux/timer.h>
*/
#include <linux/timer.h>
+#include <linux/delay.h>
#include <linux/slab.h>
#include <asm/unaligned.h>
#include <linux/slab.h>
#include <asm/unaligned.h>
@@
-1029,8
+1030,16
@@
static void fc_lport_enter_reset(struct fc_lport *lport)
FCH_EVT_LIPRESET, 0);
fc_vports_linkchange(lport);
fc_lport_reset_locked(lport);
FCH_EVT_LIPRESET, 0);
fc_vports_linkchange(lport);
fc_lport_reset_locked(lport);
- if (lport->link_up)
+ if (lport->link_up) {
+ /*
+ * Wait upto resource allocation time out before
+ * doing re-login since incomplete FIP exchanged
+ * from last session may collide with exchanges
+ * in new session.
+ */
+ msleep(lport->r_a_tov);
fc_lport_enter_flogi(lport);
fc_lport_enter_flogi(lport);
+ }
}
/**
}
/**