Bhanu Prakash Gollapudi
c531b9b49b
[SCSI] libfc: Do not let disc work cancel itself
...
When number of NPIV ports created are greater than the xids
allocated per pool -- for eg., creating 255 NPIV ports on a
system with nr_cpu_ids of 32, with each pool containing 128
xids -- and then generating a link event - for eg.,
shutdown/no shutdown -- on the switch port causes the hang
with the following stack trace.
Call Trace:
schedule_timeout+0x19d/0x230
wait_for_common+0xc0/0x170
__cancel_work_timer+0xcf/0x1b0
fc_disc_stop+0x16/0x30 [libfc]
fc_lport_reset_locked+0x47/0x90 [libfc]
fc_lport_enter_reset+0x67/0xe0 [libfc]
fc_lport_disc_callback+0xbc/0xe0 [libfc]
fc_disc_done+0xa8/0xf0 [libfc]
fc_disc_timeout+0x29/0x40 [libfc]
run_workqueue+0xb8/0x140
worker_thread+0x96/0x110
kthread+0x96/0xa0
child_rip+0xa/0x20
Fix is to not cancel the disc_work if discovery is already
stopped, thus allowing lport state machine to restart and try
discovery again.
Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Acked-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2010-10-25 15:11:37 -05:00
..
2010-10-24 13:41:39 -07:00
2010-07-28 09:05:27 -05:00
2010-07-12 18:03:50 +02:00
2010-08-11 08:59:00 -07:00
2010-09-05 14:18:45 -03:00
2010-02-18 17:24:21 +00:00
2010-10-22 17:34:15 -07:00
2010-09-16 22:54:24 -04:00
2010-10-23 11:47:02 -07:00
2010-10-07 17:21:36 -05:00
2010-10-07 17:22:22 -05:00
2009-06-12 18:01:46 +02:00
2010-10-25 15:11:34 -05:00
2010-10-07 17:09:33 -05:00
2010-10-07 17:17:06 -05:00
2010-10-25 15:11:37 -05:00
2010-10-22 17:34:15 -07:00
2010-10-24 13:41:39 -07:00
2010-10-22 17:34:15 -07:00
2010-10-22 17:34:15 -07:00
2010-07-28 09:07:49 -05:00
2010-10-15 15:53:27 +02:00
2010-10-22 17:34:15 -07:00
2010-09-09 15:31:54 -05:00
2010-10-22 17:34:15 -07:00
2010-10-25 14:56:04 -05:00
2010-09-02 17:23:20 -03:00
2010-10-22 10:52:56 -07:00
2010-04-11 09:23:25 -05:00
2010-10-22 10:52:56 -07:00
2009-12-04 12:00:51 -06:00
2010-10-22 10:52:56 -07:00
2010-04-11 09:23:25 -05:00
2010-08-11 08:59:21 -07:00
2010-03-30 22:02:32 +09:00
2010-05-26 19:51:08 +02:00
2010-05-26 19:51:07 +02:00
2010-05-26 19:51:08 +02:00
2010-05-26 19:51:07 +02:00
2010-05-26 19:51:09 +02:00
2010-06-16 18:05:05 +02:00
2010-03-30 22:02:32 +09:00
2010-08-07 18:15:46 +02:00
2010-03-30 22:02:32 +09:00
2010-09-16 08:27:34 +02:00
2010-03-30 22:02:32 +09:00
2009-03-26 21:15:29 +01:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-10-22 10:52:56 -07:00
2010-09-02 17:15:31 -03:00
2010-08-11 08:59:00 -07:00
2009-12-04 23:41:47 +01:00
2010-10-22 10:52:56 -07:00
2008-05-08 10:46:56 -07:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-01-18 10:48:10 -06:00
2008-08-29 02:13:10 -07:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-01-18 10:48:14 -06:00
2010-08-11 08:59:00 -07:00
2010-08-11 08:59:00 -07:00
2010-01-18 10:48:16 -06:00
2010-03-30 22:02:32 +09:00
2010-01-18 10:48:16 -06:00
2010-10-25 15:01:14 -05:00
2010-01-18 10:48:16 -06:00
2010-05-26 19:51:08 +02:00
2010-05-26 19:51:08 +02:00
2010-10-22 19:36:42 -07:00
2010-07-27 12:02:00 -05:00
2010-09-02 17:14:44 -03:00
2010-07-27 12:01:15 -05:00
2010-07-27 12:01:01 -05:00
2009-10-02 09:45:22 -05:00
2010-01-18 10:48:08 -06:00
2010-03-30 22:02:32 +09:00
2008-12-29 11:24:12 -06:00
2010-08-11 08:59:00 -07:00
2008-12-29 11:24:12 -06:00
2010-10-07 17:24:44 -05:00
2010-10-07 17:24:44 -05:00
2009-04-07 08:31:11 -07:00
2008-08-23 12:14:12 -07:00
2010-08-06 10:45:07 -05:00
2010-05-25 10:04:10 -05:00
2010-04-11 14:04:05 -05:00
2010-03-30 22:02:32 +09:00
2010-10-24 13:41:39 -07:00
2010-03-30 22:02:32 +09:00
2010-04-11 14:03:59 -05:00
2010-05-02 11:16:50 -04:00
2010-03-30 22:02:32 +09:00
2010-06-02 17:50:38 +10:00
2010-03-30 22:02:32 +09:00
2008-12-28 20:00:03 +01:00
2010-09-05 14:29:23 -03:00
2010-10-22 10:52:56 -07:00
2010-05-17 05:27:04 +02:00
2010-06-02 17:50:38 +10:00
2010-03-30 22:02:32 +09:00
2010-05-26 19:51:07 +02:00
2010-05-02 15:55:03 -04:00
2010-03-30 22:02:32 +09:00
2010-08-11 08:59:00 -07:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2008-07-27 10:31:49 -04:00
2010-03-30 22:02:32 +09:00
2008-08-23 12:14:12 -07:00
2010-09-15 21:00:45 +02:00
2009-03-12 12:58:10 -05:00
2010-10-15 15:53:27 +02:00
2010-07-27 12:01:35 -05:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-04-05 15:37:12 -07:00
2009-05-20 17:21:13 -05:00
2008-12-29 11:24:12 -06:00
2010-08-06 09:25:50 -06:00
2010-08-06 09:25:50 -06:00
2010-03-03 21:17:06 +05:30
2010-09-16 22:54:08 -04:00
2010-03-30 22:02:32 +09:00
2010-08-14 12:34:34 -07:00
2009-12-04 12:01:33 -06:00
2009-12-04 12:01:30 -06:00
2010-10-25 09:48:32 -05:00
2010-03-30 22:02:32 +09:00
2010-07-28 09:07:50 -05:00
2010-08-06 09:17:02 -07:00
2010-03-30 22:02:32 +09:00
2010-02-08 17:15:19 -06:00
2010-10-22 10:16:43 -07:00
2009-11-18 08:37:40 -08:00
2010-10-25 15:00:47 -05:00
2010-10-22 10:52:56 -07:00
2010-08-11 00:55:42 -04:00
2008-07-27 10:31:49 -04:00
2010-04-30 12:52:08 -05:00
2010-10-07 17:09:44 -05:00
2010-09-09 15:30:08 -05:00
2010-02-08 17:15:19 -06:00
2010-03-30 22:02:32 +09:00
2009-01-02 10:22:16 -06:00
2009-04-21 19:40:00 -07:00
2010-09-16 11:48:48 -04:00
2010-03-30 22:02:32 +09:00
2010-10-15 15:49:20 +02:00
2010-10-25 14:57:44 -05:00
2010-10-11 17:33:20 -05:00
2010-03-30 22:02:32 +09:00
2010-10-24 13:41:39 -07:00
2010-03-07 17:04:50 -08:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-10-22 20:30:48 -07:00
2010-10-22 17:34:15 -07:00
2009-12-10 08:54:13 -06:00
2010-03-30 22:02:32 +09:00
2010-08-07 18:17:56 +02:00
2010-08-07 18:17:56 +02:00
2010-08-07 18:17:56 +02:00
2010-03-30 22:02:32 +09:00
2010-08-06 09:25:50 -06:00
2008-12-29 11:24:12 -06:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2009-12-04 12:00:49 -06:00
2010-05-02 15:54:15 -04:00
2010-05-02 15:54:15 -04:00
2010-04-11 13:37:33 -05:00
2009-06-25 11:37:23 -05:00
2010-05-17 21:37:41 +02:00