public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* qla2xxx: Recursion depth exceeded
@ 2006-01-19 16:59 Michael Reed
  2006-01-20 21:08 ` Andrew Vasquez
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Reed @ 2006-01-19 16:59 UTC (permalink / raw)
  To: Andrew Vasquez; +Cc: James.Smart, linux-scsi, Michael Reed

This causes console input to stop being accepted and the inability to shutdown the system.


 QLogic Fibre Channel HBA Driver: 8.01.04-k-fw
from the sles10-latest kernel received yesterday, which is essentially
2.6.15-git12.  This has rpfixes_2.diff already applied.

I did a switchdisable followed by a switchenable 5 seconds later.

Jan 19 10:35:16 duck klogd: qla2300 0012:00:02.1: LOOP DOWN detected (2).
Jan 19 10:35:16 duck klogd: qla2300 0012:00:02.0: LOOP DOWN detected (2).
Jan 19 10:35:16 duck klogd: qla2300 0012:00:01.1: LOOP DOWN detected (2).
Jan 19 10:35:16 duck klogd: qla2300 0012:00:01.0: LOOP DOWN detected (2).
Jan 19 10:35:16 duck klogd: qla2300 0002:01:06.0: LOOP DOWN detected (2).
Jan 19 10:35:16 duck klogd: qla2300 0002:01:04.1: LOOP DOWN detected (2).
Jan 19 10:35:16 duck klogd: qla2300 0002:01:06.1: LOOP DOWN detected (2).
Jan 19 10:35:16 duck klogd: qla2300 0002:01:04.0: LOOP DOWN detected (2).

Well, okay, SIX seconds later . :)

Jan 19 10:35:22 duck klogd: qla2300 0012:00:02.1: LIP reset occured (f800).
Jan 19 10:35:22 duck klogd: qla2300 0012:00:01.1: LIP reset occured (f800).
Jan 19 10:35:22 duck klogd: qla2300 0012:00:02.0: LIP reset occured (f800).
Jan 19 10:35:22 duck klogd: qla2300 0012:00:01.0: LIP reset occured (f800).
Jan 19 10:35:22 duck klogd: qla2300 0002:01:06.0: LIP reset occured (f800).
Jan 19 10:35:22 duck klogd: qla2300 0002:01:04.1: LIP reset occured (f800).
Jan 19 10:35:22 duck klogd: qla2300 0002:01:06.1: LIP reset occured (f800).
Jan 19 10:35:22 duck klogd: qla2300 0002:01:04.0: LIP reset occured (f800).
Jan 19 10:35:42 duck klogd: qla2300 0002:01:04.1: LIP reset occured (f7f7).
Jan 19 10:35:42 duck klogd: qla2300 0012:00:02.1: LIP reset occured (f800).
Jan 19 10:35:42 duck klogd: qla2300 0012:00:01.1: LIP reset occured (f800).
Jan 19 10:35:42 duck klogd: qla2300 0012:00:02.0: LIP reset occured (f7f7).
Jan 19 10:35:42 duck klogd: qla2300 0002:01:06.1: LIP reset occured (f7f7).
Jan 19 10:35:42 duck klogd: qla2300 0012:00:01.0: LIP reset occured (f7f7).
Jan 19 10:35:42 duck klogd: qla2300 0002:01:04.0: LIP reset occured (f7f7).
Jan 19 10:35:42 duck klogd: qla2300 0002:01:06.0: LIP reset occured (f7f7).
Jan 19 10:35:42 duck klogd: qla2300 0012:00:02.0: LOOP UP detected (2 Gbps).
Jan 19 10:35:42 duck klogd: qla2300 0012:00:01.0: LOOP UP detected (2 Gbps).
Jan 19 10:35:42 duck klogd: qla2300 0002:01:04.1: LOOP UP detected (2 Gbps).
Jan 19 10:35:43 duck klogd: qla2300 0002:01:06.1: LOOP UP detected (2 Gbps).
Jan 19 10:35:43 duck klogd: qla2300 0002:01:06.0: LOOP UP detected (2 Gbps).
Jan 19 10:35:43 duck klogd: qla2300 0002:01:04.0: LOOP UP detected (2 Gbps).
Jan 19 10:35:43 duck klogd: qla2300 0012:00:02.1: LOOP UP detected (2 Gbps).
Jan 19 10:35:43 duck klogd: qla2300 0012:00:01.1: LOOP UP detected (2 Gbps).
Jan 19 10:35:45 duck klogd: run_workqueue: recursion depth exceeded: 4
Jan 19 10:35:45 duck klogd:
Jan 19 10:35:45 duck klogd: Call Trace:
Jan 19 10:35:45 duck klogd:  [<a000000100012b00>] show_stack+0x40/0xa0
Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35f9e0 bsp=e00000b07a3593b0
Jan 19 10:35:45 duck klogd:  [<a000000100012b90>] dump_stack+0x30/0x60
Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fbb0 bsp=e00000b07a359398
Jan 19 10:35:45 duck klogd:  [<a0000001000c9d90>] run_workqueue+0x90/0x280
Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fbb0 bsp=e00000b07a359358
Jan 19 10:35:45 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fbb0 bsp=e00000b07a359328
Jan 19 10:35:45 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a359300
Jan 19 10:35:45 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a3592e8
Jan 19 10:35:45 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a3592b8
Jan 19 10:35:45 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a359280
Jan 19 10:35:49 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:49 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a359258
Jan 19 10:35:49 duck klogd: run_workqueue: recursion depth exceeded: 4
Jan 19 10:35:49 duck klogd:
Jan 19 10:35:49 duck klogd: Call Trace:
Jan 19 10:35:49 duck klogd:  [<a000000100012b00>] show_stack+0x40/0xa0
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3f9e0 bsp=e00000b003f393b0
Jan 19 10:35:49 duck klogd:  [<a000000100012b90>] dump_stack+0x30/0x60
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39398
Jan 19 10:35:49 duck klogd:  [<a0000001000c9d90>] run_workqueue+0x90/0x280
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39358
Jan 19 10:35:49 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39328
Jan 19 10:35:49 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39300
Jan 19 10:35:49 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f392e8
Jan 19 10:35:49 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f392b8
Jan 19 10:35:49 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39280
Jan 19 10:35:49 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39258
Jan 19 10:35:49 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39230
Jan 19 10:35:49 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f391e8
Jan 19 10:35:49 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f391b8
Jan 19 10:35:49 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39190
Jan 19 10:35:49 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39178
Jan 19 10:35:49 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39148
Jan 19 10:35:49 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39110
Jan 19 10:35:49 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:49 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f390e8
Jan 19 10:35:50 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f390c0
Jan 19 10:35:50 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39080
Jan 19 10:35:50 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39050
Jan 19 10:35:50 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f39028
Jan 19 10:35:50 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f39010
Jan 19 10:35:50 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38fd8
Jan 19 10:35:50 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38fa0
Jan 19 10:35:50 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38f78
Jan 19 10:35:50 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38f50
Jan 19 10:35:50 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38f10
Jan 19 10:35:50 duck klogd:  [<a0000001000cafb0>] worker_thread+0x1d0/0x260
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38ee0
Jan 19 10:35:50 duck klogd:  [<a0000001000d36c0>] kthread+0x220/0x2a0
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fd50 bsp=e00000b003f38e98
Jan 19 10:35:50 duck klogd:  [<a000000100011090>] kernel_thread_helper+0xd0/0x100
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fe30 bsp=e00000b003f38e70
Jan 19 10:35:50 duck klogd:  [<a000000100009120>] start_kernel_thread+0x20/0x40
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fe30 bsp=e00000b003f38e70
Jan 19 10:35:50 duck klogd: run_workqueue: recursion depth exceeded: 5
Jan 19 10:35:50 duck klogd:
Jan 19 10:35:50 duck klogd: Call Trace:
Jan 19 10:35:50 duck klogd:  [<a000000100012b00>] show_stack+0x40/0xa0
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3f980 bsp=e00000b003f39520
Jan 19 10:35:50 duck klogd:  [<a000000100012b90>] dump_stack+0x30/0x60
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f39508
Jan 19 10:35:50 duck klogd:  [<a0000001000c9d90>] run_workqueue+0x90/0x280
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f394c8
Jan 19 10:35:50 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f39498
Jan 19 10:35:50 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39470
Jan 19 10:35:50 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39458
Jan 19 10:35:50 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39428
Jan 19 10:35:50 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f393e8
Jan 19 10:35:50 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f393c0
Jan 19 10:35:50 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39398
Jan 19 10:35:50 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39358
Jan 19 10:35:50 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39328
Jan 19 10:35:50 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39300
Jan 19 10:35:50 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f392e8
Jan 19 10:35:50 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f392b8
Jan 19 10:35:50 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39280
Jan 19 10:35:50 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39258
Jan 19 10:35:50 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39230
Jan 19 10:35:50 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:50 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f391e8
Jan 19 10:35:50 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f391b8
Jan 19 10:35:51 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39190
Jan 19 10:35:51 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39178
Jan 19 10:35:51 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39148
Jan 19 10:35:51 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39110
Jan 19 10:35:51 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f390e8
Jan 19 10:35:51 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f390c0
Jan 19 10:35:51 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39080
Jan 19 10:35:51 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39050
Jan 19 10:35:51 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f39028
Jan 19 10:35:51 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f39010
Jan 19 10:35:51 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38fd8
Jan 19 10:35:51 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38fa0
Jan 19 10:35:51 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38f78
Jan 19 10:35:51 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38f50
Jan 19 10:35:51 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38f10
Jan 19 10:35:51 duck klogd:  [<a0000001000cafb0>] worker_thread+0x1d0/0x260
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38ee0
Jan 19 10:35:51 duck klogd:  [<a0000001000d36c0>] kthread+0x220/0x2a0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fd50 bsp=e00000b003f38e98
Jan 19 10:35:51 duck klogd:  [<a000000100011090>] kernel_thread_helper+0xd0/0x100
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fe30 bsp=e00000b003f38e70
Jan 19 10:35:51 duck klogd:  [<a000000100009120>] start_kernel_thread+0x20/0x40
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fe30 bsp=e00000b003f38e70
Jan 19 10:35:51 duck klogd: run_workqueue: recursion depth exceeded: 6
Jan 19 10:35:51 duck klogd:
Jan 19 10:35:51 duck klogd: Call Trace:
Jan 19 10:35:51 duck klogd:  [<a000000100012b00>] show_stack+0x40/0xa0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3f920 bsp=e00000b003f39690
Jan 19 10:35:51 duck klogd:  [<a000000100012b90>] dump_stack+0x30/0x60
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3faf0 bsp=e00000b003f39678
Jan 19 10:35:51 duck klogd:  [<a0000001000c9d90>] run_workqueue+0x90/0x280
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3faf0 bsp=e00000b003f39638
Jan 19 10:35:51 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3faf0 bsp=e00000b003f39608
Jan 19 10:35:51 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f395d8
Jan 19 10:35:51 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f395c0
Jan 19 10:35:51 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f39590
Jan 19 10:35:51 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f39558
Jan 19 10:35:51 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f39530
Jan 19 10:35:51 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f39508
Jan 19 10:35:51 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f394c8
Jan 19 10:35:51 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f39498
Jan 19 10:35:51 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39470
Jan 19 10:35:51 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39458
Jan 19 10:35:51 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39428
Jan 19 10:35:51 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f393e8
Jan 19 10:35:51 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f393c0
Jan 19 10:35:51 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39398
Jan 19 10:35:51 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39358
Jan 19 10:35:51 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39328
Jan 19 10:35:51 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:51 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39300
Jan 19 10:35:52 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f392e8
Jan 19 10:35:52 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f392b8
Jan 19 10:35:52 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39280
Jan 19 10:35:52 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39258
Jan 19 10:35:52 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39230
Jan 19 10:35:52 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f391e8
Jan 19 10:35:52 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f391b8
Jan 19 10:35:52 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39190
Jan 19 10:35:52 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39178
Jan 19 10:35:52 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39148
Jan 19 10:35:52 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39110
Jan 19 10:35:52 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f390e8
Jan 19 10:35:52 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f390c0
Jan 19 10:35:52 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39080
Jan 19 10:35:52 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39050
Jan 19 10:35:52 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f39028
Jan 19 10:35:52 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f39010
Jan 19 10:35:52 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38fd8
Jan 19 10:35:52 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38fa0
Jan 19 10:35:52 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38f78
Jan 19 10:35:52 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38f50
Jan 19 10:35:52 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38f10
Jan 19 10:35:52 duck klogd:  [<a0000001000cafb0>] worker_thread+0x1d0/0x260
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38ee0
Jan 19 10:35:52 duck klogd:  [<a0000001000d36c0>] kthread+0x220/0x2a0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fd50 bsp=e00000b003f38e98
Jan 19 10:35:52 duck klogd:  [<a000000100011090>] kernel_thread_helper+0xd0/0x100
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fe30 bsp=e00000b003f38e70
Jan 19 10:35:52 duck klogd:  [<a000000100009120>] start_kernel_thread+0x20/0x40
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fe30 bsp=e00000b003f38e70
Jan 19 10:35:52 duck klogd: run_workqueue: recursion depth exceeded: 7
Jan 19 10:35:52 duck klogd:
Jan 19 10:35:52 duck klogd: Call Trace:
Jan 19 10:35:52 duck klogd:  [<a000000100012b00>] show_stack+0x40/0xa0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3f8c0 bsp=e00000b003f39800
Jan 19 10:35:52 duck klogd:  [<a000000100012b90>] dump_stack+0x30/0x60
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fa90 bsp=e00000b003f397e0
Jan 19 10:35:52 duck klogd:  [<a0000001000c9d90>] run_workqueue+0x90/0x280
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fa90 bsp=e00000b003f397a0
Jan 19 10:35:52 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fa90 bsp=e00000b003f39770
Jan 19 10:35:52 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3faf0 bsp=e00000b003f39748
Jan 19 10:35:52 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3faf0 bsp=e00000b003f39730
Jan 19 10:35:52 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3faf0 bsp=e00000b003f39700
Jan 19 10:35:52 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3faf0 bsp=e00000b003f396c8
Jan 19 10:35:52 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3faf0 bsp=e00000b003f396a0
Jan 19 10:35:52 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3faf0 bsp=e00000b003f39678
Jan 19 10:35:52 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3faf0 bsp=e00000b003f39638
Jan 19 10:35:52 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3faf0 bsp=e00000b003f39608
Jan 19 10:35:52 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f395d8
Jan 19 10:35:52 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:52 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f395c0
Jan 19 10:35:53 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f39590
Jan 19 10:35:53 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f39558
Jan 19 10:35:53 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f39530
Jan 19 10:35:53 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f39508
Jan 19 10:35:53 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f394c8
Jan 19 10:35:53 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fb50 bsp=e00000b003f39498
Jan 19 10:35:53 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39470
Jan 19 10:35:53 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39458
Jan 19 10:35:53 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39428
Jan 19 10:35:53 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f393e8
Jan 19 10:35:53 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f393c0
Jan 19 10:35:53 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39398
Jan 19 10:35:53 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39358
Jan 19 10:35:53 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fbb0 bsp=e00000b003f39328
Jan 19 10:35:53 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39300
Jan 19 10:35:53 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f392e8
Jan 19 10:35:53 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f392b8
Jan 19 10:35:53 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39280
Jan 19 10:35:53 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39258
Jan 19 10:35:53 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f39230
Jan 19 10:35:53 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f391e8
Jan 19 10:35:53 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc10 bsp=e00000b003f391b8
Jan 19 10:35:53 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39190
Jan 19 10:35:53 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39178
Jan 19 10:35:53 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39148
Jan 19 10:35:53 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39110
Jan 19 10:35:53 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f390e8
Jan 19 10:35:53 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f390c0
Jan 19 10:35:53 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39080
Jan 19 10:35:53 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fc70 bsp=e00000b003f39050
Jan 19 10:35:53 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f39028
Jan 19 10:35:53 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f39010
Jan 19 10:35:53 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38fd8
Jan 19 10:35:53 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38fa0
Jan 19 10:35:53 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38f78
Jan 19 10:35:53 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38f50
Jan 19 10:35:53 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38f10
Jan 19 10:35:53 duck klogd:  [<a0000001000cafb0>] worker_thread+0x1d0/0x260
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fcd0 bsp=e00000b003f38ee0
Jan 19 10:35:53 duck klogd:  [<a0000001000d36c0>] kthread+0x220/0x2a0
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fd50 bsp=e00000b003f38e98
Jan 19 10:35:53 duck klogd:  [<a000000100011090>] kernel_thread_helper+0xd0/0x100
Jan 19 10:35:53 duck klogd:                                 sp=e00000b003f3fe30 bsp=e00000b003f38e70
Jan 19 10:35:53 duck klogd:  [<a000000100009120>] start_kernel_thread+0x20/0x40
Jan 19 10:35:54 duck klogd:                                 sp=e00000b003f3fe30 bsp=e00000b003f38e70
Jan 19 10:35:54 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a359230
Jan 19 10:35:54 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a3591e8
Jan 19 10:35:54 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a3591b8
Jan 19 10:35:54 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fc70 bsp=e00000b07a359190
Jan 19 10:35:54 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fc70 bsp=e00000b07a359178
Jan 19 10:35:54 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fc70 bsp=e00000b07a359148
Jan 19 10:35:54 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fc70 bsp=e00000b07a359110
Jan 19 10:35:54 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fc70 bsp=e00000b07a3590e8
Jan 19 10:35:54 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fc70 bsp=e00000b07a3590c0
Jan 19 10:35:54 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fc70 bsp=e00000b07a359080
Jan 19 10:35:54 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fc70 bsp=e00000b07a359050
Jan 19 10:35:54 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fcd0 bsp=e00000b07a359028
Jan 19 10:35:54 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fcd0 bsp=e00000b07a359010
Jan 19 10:35:54 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fcd0 bsp=e00000b07a358fd8
Jan 19 10:35:54 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fcd0 bsp=e00000b07a358fa0
Jan 19 10:35:54 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fcd0 bsp=e00000b07a358f78
Jan 19 10:35:54 duck klogd:  [<a00000010056f090>] qla2x00_rport_del+0x70/0xa0
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fcd0 bsp=e00000b07a358f50
Jan 19 10:35:54 duck klogd:  [<a0000001000c9ec0>] run_workqueue+0x1c0/0x280
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fcd0 bsp=e00000b07a358f10
Jan 19 10:35:54 duck klogd:  [<a0000001000cafb0>] worker_thread+0x1d0/0x260
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fcd0 bsp=e00000b07a358ee0
Jan 19 10:35:54 duck klogd:  [<a0000001000d36c0>] kthread+0x220/0x2a0
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fd50 bsp=e00000b07a358e98
Jan 19 10:35:54 duck klogd:  [<a000000100011090>] kernel_thread_helper+0xd0/0x100
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fe30 bsp=e00000b07a358e70
Jan 19 10:35:54 duck klogd:  [<a000000100009120>] start_kernel_thread+0x20/0x40
Jan 19 10:35:54 duck klogd:                                 sp=e00000b07a35fe30 bsp=e00000b07a358e70


Broadcast message from root (pts/0) (Thu Jan 19 10:42:15 2006):

The system is going down for reboot NOW!
INIT: Sending processes the TERM signal
INIT: Sending processes the KILL signal
INIT: Pid 10642 [id 1] seems to hang
INIT: Pid 10643 [id 2] seems to hang
INIT: Pid 10644 [id 3] seems to hang
INIT: Pid 10645 [id 4] seems to hang
INIT: Pid 10646 [id 5] seems to hang
INIT: Pid 10647 [id 6] seems to hang
Boot logging started on /dev/ttySG0(/dev/console) at Thu Jan 19 10:42:22 2006
Master Resource Control: previous runlevel: 3, switching to runlevel: 6

root         1     0  1 10:24 ?        00:00:19 init [6]
root         2     1  0 10:24 ?        00:00:00 [migration/0]
root         3     1  0 10:24 ?        00:00:00 [ksoftirqd/0]
root         4     1  0 10:24 ?        00:00:00 [watchdog/0]
root         5     1  0 10:24 ?        00:00:00 [migration/1]
root         6     1  0 10:24 ?        00:00:00 [ksoftirqd/1]


0xe0000034f7698000      751        1  0    0   D  0xe0000034f7698380  qla2300_2_dpc
0xe0000034f7668000      825        1  0    0   D  0xe0000034f7668380  qla2300_3_dpc
0xe0000034f6300000      903        1  0    0   D  0xe0000034f6300380  qla2300_4_dpc
0xe0000034f63f8000      977        1  0    0   D  0xe0000034f63f8380  qla2300_5_dpc
0xe00000b078248000     1054        1  0    2   D  0xe00000b078248380  qla2300_6_dpc
0xe00000b078270000     1135        1  0    3   D  0xe00000b078270380  qla2300_7_dpc
0xe00000b078528000     1218        1  0    2   D  0xe00000b078528380  qla2300_8_dpc
0xe00000b078810000     1304        1  0    3   D  0xe00000b078810380  qla2300_9_dpc


[0]kdb> btp 1304
Stack traceback for pid 1304
0xe00000b078810000     1304        1  0    3   D  0xe00000b078810380  qla2300_9_dpc
0xa000000100717990 schedule+0x2290
        args (0xe00000b00393de00, 0xa0000001000ca0b0, 0x309, 0xa0000001000ca0a0, 0x1)
0xa0000001000ca0c0 flush_cpu_workqueue+0x140
        args (0xe00000b00393de00, 0x225, 0xe00000b078810000, 0xa0000001000ca220, 0x288)
0xa0000001000ca220 flush_workqueue+0xc0
        args (0xe000003007114700, 0x0, 0xa0000001000ca3e0, 0x184, 0x205)
0xa0000001000ca3e0 flush_scheduled_work+0x20
        args (0xa000000100554570, 0x307, 0x307)
0xa000000100554570 fc_rport_tgt_remove+0xf0
        args (0xe00000b07a1cb600, 0xe00000b07a1cb878, 0xe00000b07853c000, 0xa000000100554820, 0x389)
0xa000000100554820 fc_rport_terminate+0xa0
        args (0xe00000b07a1cb600, 0xe00000b07a1cb650, 0xe00000b07853c058, 0xe00000b07853c000, 0xa000000100554950)
0xa000000100554950 fc_remote_port_delete+0x50
        args (0xe00000b07a1cb600, 0x3a98, 0xa00000010056f090, 0x287, 0xe00000b07853c4e8)
0xa00000010056f090 qla2x00_rport_del+0x70
        args (0xe00000b07a1c75f0, 0xe00000b07a1cb600, 0xa00000010056f100, 0x48c, 0x48f)
0xa00000010056f100 qla2x00_reg_remote_port+0x40
        args (0xe00000b07853c4b8, 0xe00000b07a1c7580, 0x3, 0x3, 0xfffffff0)
0xa00000010056f6b0 qla2x00_update_fcport+0x1f0
        args (0xe00000b07853c4b8, 0xe00000b07a1c7580, 0xe00000b07853c4b8, 0xa00000010056f820, 0x30b)
[0]more>
0xa00000010056f820 qla2x00_fabric_dev_login+0x140
        args (0xe00000b07853c4b8, 0xe00000b07a1c7580, 0x0, 0xa000000100571f40, 0x694)
0xa000000100571f40 qla2x00_configure_loop+0x2320
        args (0xe00000b07853c4b8, 0xe00000b07a1c7580, 0xe00000b07853e6e8, 0xe00000b07a1c41b4, 0xe00000b07a1c7580)
0xa000000100574210 qla2x00_loop_resync+0x1b0
        args (0xff, 0x0, 0xa0000001005692b0, 0x30b, 0x40000a0)
0xa0000001005692b0 qla2x00_do_dpc+0xb30
        args (0xe00000b07853c4b8, 0x4000090, 0x4000090, 0xa000000100011090, 0x286)
0xa000000100011090 kernel_thread_helper+0xd0
        args (0xa00000010083f8f0, 0xe00000b07853c4b8, 0xa000000100009120, 0x2, 0xa000000100d115c0)
0xa000000100009120 start_kernel_thread+0x20
        args (0xa00000010083f8f0, 0xe00000b07853c4b8)



[0]kdb> btp 1218
Stack traceback for pid 1218
0xe00000b078528000     1218        1  0    2   D  0xe00000b078528380  qla2300_8_dpc
0xa000000100717990 schedule+0x2290
        args (0xe00000b00393de00, 0xa0000001000ca0b0, 0x309, 0xa0000001000ca0a0, 0x1)
0xa0000001000ca0c0 flush_cpu_workqueue+0x140
        args (0xe00000b00393de00, 0x226, 0xe00000b078528000, 0xa0000001000ca220, 0x288)
0xa0000001000ca220 flush_workqueue+0xc0
        args (0xe000003007114700, 0x0, 0xa0000001000ca3e0, 0x184, 0x205)
0xa0000001000ca3e0 flush_scheduled_work+0x20
        args (0xa000000100554570, 0x307, 0x307)
0xa000000100554570 fc_rport_tgt_remove+0xf0
        args (0xe00000b003f52600, 0xe00000b003f52878, 0xe00000b078234000, 0xa000000100554820, 0x389)
0xa000000100554820 fc_rport_terminate+0xa0
        args (0xe00000b003f52600, 0xe00000b003f52650, 0xe00000b078234058, 0xe00000b078234000, 0xa000000100554950)
0xa000000100554950 fc_remote_port_delete+0x50
        args (0xe00000b003f52600, 0x3a98, 0xa00000010056f090, 0x287, 0xe00000b0782344e8)
0xa00000010056f090 qla2x00_rport_del+0x70
        args (0xe00000b07a3897f0, 0xe00000b003f52600, 0xa00000010056f100, 0x48c, 0x48f)
0xa00000010056f100 qla2x00_reg_remote_port+0x40
        args (0xe00000b0782344b8, 0xe00000b07a389780, 0x3, 0x3, 0xfffffff0)
0xa00000010056f6b0 qla2x00_update_fcport+0x1f0
        args (0xe00000b0782344b8, 0xe00000b07a389780, 0xe00000b0782344b8, 0xa00000010056f820, 0x30b)
[0]more>
0xa00000010056f820 qla2x00_fabric_dev_login+0x140
        args (0xe00000b0782344b8, 0xe00000b07a389780, 0x0, 0xa000000100571f40, 0x694)
0xa000000100571f40 qla2x00_configure_loop+0x2320
        args (0xe00000b0782344b8, 0xe00000b07a389780, 0xe00000b0782366e8, 0xe00000b078524734, 0xe00000b07a389780)
0xa000000100574210 qla2x00_loop_resync+0x1b0
        args (0xfd, 0x0, 0xa0000001005692b0, 0x30b, 0x40000a0)
0xa0000001005692b0 qla2x00_do_dpc+0xb30
        args (0xe00000b0782344b8, 0x4000090, 0x4000090, 0xa000000100011090, 0x286)
0xa000000100011090 kernel_thread_helper+0xd0
        args (0xa00000010083f8f0, 0xe00000b0782344b8, 0xa000000100009120, 0x2, 0xa000000100d115c0)
0xa000000100009120 start_kernel_thread+0x20
        args (0xa00000010083f8f0, 0xe00000b0782344b8)




[0]kdb> btp 1135
Stack traceback for pid 1135
0xe00000b078270000     1135        1  0    3   D  0xe00000b078270380  qla2300_7_dpc
0xa000000100717990 schedule+0x2290
        args (0xe00000b00393de80, 0xa0000001000ca0b0, 0x309, 0xa0000001000ca0a0, 0x1)
0xa0000001000ca0c0 flush_cpu_workqueue+0x140
        args (0xe00000b00393de80, 0x1f4, 0xe00000b078270000, 0xa0000001000ca220, 0x288)
0xa0000001000ca220 flush_workqueue+0xc0
        args (0xe000003007114700, 0x2, 0xa0000001000ca3e0, 0x184, 0x205)
0xa0000001000ca3e0 flush_scheduled_work+0x20
        args (0xa000000100554570, 0x307, 0x307)
0xa000000100554570 fc_rport_tgt_remove+0xf0
        args (0xe00000b0781ab580, 0xe00000b0781ab7f8, 0xe00000b07a23c000, 0xa000000100554820, 0x389)
0xa000000100554820 fc_rport_terminate+0xa0
        args (0xe00000b0781ab580, 0xe00000b0781ab5d0, 0xe00000b07a23c058, 0xe00000b07a23c000, 0xa000000100554950)
0xa000000100554950 fc_remote_port_delete+0x50
        args (0xe00000b0781ab580, 0x3a98, 0xa00000010056f090, 0x287, 0xe00000b07a23c4e8)
0xa00000010056f090 qla2x00_rport_del+0x70
        args (0xe00000b07a23b970, 0xe00000b0781ab580, 0xa00000010056f100, 0x48c, 0x48f)
0xa00000010056f100 qla2x00_reg_remote_port+0x40
        args (0xe00000b07a23c4b8, 0xe00000b07a23b900, 0x3, 0x3, 0xfffffff0)
0xa00000010056f6b0 qla2x00_update_fcport+0x1f0
        args (0xe00000b07a23c4b8, 0xe00000b07a23b900, 0xe00000b07a23c4b8, 0xa00000010056f820, 0x30b)
[0]more>
0xa00000010056f820 qla2x00_fabric_dev_login+0x140
        args (0xe00000b07a23c4b8, 0xe00000b07a23b900, 0x0, 0xa000000100571f40, 0x694)
0xa000000100571f40 qla2x00_configure_loop+0x2320
        args (0xe00000b07a23c4b8, 0xe00000b07a23b900, 0xe00000b07a23e6e8, 0xe00000b07884f934, 0xe00000b07a23bb00)
0xa000000100574210 qla2x00_loop_resync+0x1b0
        args (0xfe, 0x0, 0xa0000001005692b0, 0x30b, 0x40000a0)
0xa0000001005692b0 qla2x00_do_dpc+0xb30
        args (0xe00000b07a23c4b8, 0x4000090, 0x4000090, 0xa000000100011090, 0x286)
0xa000000100011090 kernel_thread_helper+0xd0
        args (0xa00000010083f8f0, 0xe00000b07a23c4b8, 0xa000000100009120, 0x2, 0xa000000100d115c0)
0xa000000100009120 start_kernel_thread+0x20
        args (0xa00000010083f8f0, 0xe00000b07a23c4b8)



[0]kdb> btp 1054
Stack traceback for pid 1054
0xe00000b078248000     1054        1  0    2   D  0xe00000b078248380  qla2300_6_dpc
0xa000000100717990 schedule+0x2290
        args (0xe00000b00393de00, 0xa0000001000ca0b0, 0x309, 0xa0000001000ca0a0, 0x1)
0xa0000001000ca0c0 flush_cpu_workqueue+0x140
        args (0xe00000b00393de00, 0x226, 0xe00000b078248000, 0xa0000001000ca220, 0x288)
0xa0000001000ca220 flush_workqueue+0xc0
        args (0xe000003007114700, 0x0, 0xa0000001000ca3e0, 0x184, 0x205)
0xa0000001000ca3e0 flush_scheduled_work+0x20
        args (0xa000000100554570, 0x307, 0x307)
0xa000000100554570 fc_rport_tgt_remove+0xf0
        args (0xe00000b00396f880, 0xe00000b00396faf8, 0xe00000b07a0d0000, 0xa000000100554820, 0x389)
0xa000000100554820 fc_rport_terminate+0xa0
        args (0xe00000b00396f880, 0xe00000b00396f8d0, 0xe00000b07a0d0058, 0xe00000b07a0d0000, 0xa000000100554950)
0xa000000100554950 fc_remote_port_delete+0x50
        args (0xe00000b00396f880, 0x3a98, 0xa00000010056f090, 0x287, 0xe00000b07a0d04e8)
0xa00000010056f090 qla2x00_rport_del+0x70
        args (0xe00000b0781d1570, 0xe00000b00396f880, 0xa00000010056f100, 0x48c, 0x48f)
0xa00000010056f100 qla2x00_reg_remote_port+0x40
        args (0xe00000b07a0d04b8, 0xe00000b0781d1500, 0x3, 0x3, 0xfffffff0)
0xa00000010056f6b0 qla2x00_update_fcport+0x1f0
        args (0xe00000b07a0d04b8, 0xe00000b0781d1500, 0xe00000b07a0d04b8, 0xa00000010056f820, 0x30b)
[0]more>
0xa00000010056f820 qla2x00_fabric_dev_login+0x140
        args (0xe00000b07a0d04b8, 0xe00000b0781d1500, 0x0, 0xa000000100571f40, 0x694)
0xa000000100571f40 qla2x00_configure_loop+0x2320
        args (0xe00000b07a0d04b8, 0xe00000b0781d1500, 0xe00000b07a0d26e8, 0xe00000b078524334, 0xe00000b0781d1500)
0xa000000100574210 qla2x00_loop_resync+0x1b0
        args (0xfe, 0x0, 0xa0000001005692b0, 0x30b, 0x40000a0)
0xa0000001005692b0 qla2x00_do_dpc+0xb30
        args (0xe00000b07a0d04b8, 0x4000090, 0x4000090, 0xa000000100011090, 0x286)
0xa000000100011090 kernel_thread_helper+0xd0
        args (0xa00000010083f8f0, 0xe00000b07a0d04b8, 0xa000000100009120, 0x2, 0xa000000100d115c0)
0xa000000100009120 start_kernel_thread+0x20
        args (0xa00000010083f8f0, 0xe00000b07a0d04b8)



[0]kdb> btp 977
Stack traceback for pid 977
0xe0000034f63f8000      977        1  0    0   D  0xe0000034f63f8380  qla2300_5_dpc
0xa000000100717990 schedule+0x2290
        args (0xe00000b00393de00, 0xa0000001000ca0b0, 0x309, 0xa0000001000ca0a0, 0x1)
0xa0000001000ca0c0 flush_cpu_workqueue+0x140
        args (0xe00000b00393de00, 0x222, 0xe0000034f63f8000, 0xa0000001000ca220, 0x288)
0xa0000001000ca220 flush_workqueue+0xc0
        args (0xe000003007114700, 0x0, 0xa0000001000ca3e0, 0x184, 0x205)
0xa0000001000ca3e0 flush_scheduled_work+0x20
        args (0xa000000100554570, 0x307, 0x307)
0xa000000100554570 fc_rport_tgt_remove+0xf0
        args (0xe0000034f668b580, 0xe0000034f668b7f8, 0xe0000034f63f4000, 0xa000000100554820, 0x389)
0xa000000100554820 fc_rport_terminate+0xa0
        args (0xe0000034f668b580, 0xe0000034f668b5d0, 0xe0000034f63f4058, 0xe0000034f63f4000, 0xa000000100554950)
0xa000000100554950 fc_remote_port_delete+0x50
        args (0xe0000034f668b580, 0x3a98, 0xa00000010056f090, 0x287, 0xe0000034f63f44e8)
0xa00000010056f090 qla2x00_rport_del+0x70
        args (0xe0000034f61f5d70, 0xe0000034f668b580, 0xa00000010056f100, 0x48c, 0x48f)
0xa00000010056f100 qla2x00_reg_remote_port+0x40
        args (0xe0000034f63f44b8, 0xe0000034f61f5d00, 0x3, 0x3, 0xfffffff0)
0xa00000010056f6b0 qla2x00_update_fcport+0x1f0
        args (0xe0000034f63f44b8, 0xe0000034f61f5d00, 0xe0000034f63f44b8, 0xa00000010056f820, 0x30b)
[0]more>
0xa00000010056f820 qla2x00_fabric_dev_login+0x140
        args (0xe0000034f63f44b8, 0xe0000034f61f5d00, 0x0, 0xa000000100571f40, 0x694)
0xa000000100571f40 qla2x00_configure_loop+0x2320
        args (0xe0000034f63f44b8, 0xe0000034f61f5d00, 0xe0000034f63f66e8, 0xe0000034f635f1b4, 0xe0000034f61f5d00)
0xa000000100574210 qla2x00_loop_resync+0x1b0
        args (0xfe, 0x0, 0xa0000001005692b0, 0x30b, 0x40000a0)
0xa0000001005692b0 qla2x00_do_dpc+0xb30
        args (0xe0000034f63f44b8, 0x4000090, 0x4000090, 0xa000000100011090, 0x286)
0xa000000100011090 kernel_thread_helper+0xd0
        args (0xa00000010083f8f0, 0xe0000034f63f44b8, 0xa000000100009120, 0x2, 0xa000000100d115c0)
0xa000000100009120 start_kernel_thread+0x20
        args (0xa00000010083f8f0, 0xe0000034f63f44b8)



Stack traceback for pid 751
0xe0000034f7698000      751        1  0    0   D  0xe0000034f7698380  qla2300_2_dpc
0xa000000100717990 schedule+0x2290
        args (0xe00000b00393de00, 0xa0000001000ca0b0, 0x309, 0xa0000001000ca0a0, 0x1)
0xa0000001000ca0c0 flush_cpu_workqueue+0x140
        args (0xe00000b00393de00, 0x21f, 0xe0000034f7698000, 0xa0000001000ca220, 0x288)
0xa0000001000ca220 flush_workqueue+0xc0
        args (0xe000003007114700, 0x0, 0xa0000001000ca3e0, 0x184, 0x205)
0xa0000001000ca3e0 flush_scheduled_work+0x20
        args (0xa000000100554570, 0x307, 0x307)
0xa000000100554570 fc_rport_tgt_remove+0xf0
        args (0xe0000034f75b0200, 0xe0000034f75b0478, 0xe0000034f7678000, 0xa000000100554820, 0x389)
0xa000000100554820 fc_rport_terminate+0xa0
        args (0xe0000034f75b0200, 0xe0000034f75b0250, 0xe0000034f7678058, 0xe0000034f7678000, 0xa000000100554950)
0xa000000100554950 fc_remote_port_delete+0x50
        args (0xe0000034f75b0200, 0x3a98, 0xa00000010056f090, 0x287, 0xe0000034f76784e8)
0xa00000010056f090 qla2x00_rport_del+0x70
        args (0xe0000034f6692970, 0xe0000034f75b0200, 0xa00000010056f100, 0x48c, 0x48f)
0xa00000010056f100 qla2x00_reg_remote_port+0x40
        args (0xe0000034f76784b8, 0xe0000034f6692900, 0x3, 0x3, 0xfffffff0)
0xa00000010056f6b0 qla2x00_update_fcport+0x1f0
        args (0xe0000034f76784b8, 0xe0000034f6692900, 0xe0000034f76784b8, 0xa00000010056f820, 0x30b)
[0]more>
0xa00000010056f820 qla2x00_fabric_dev_login+0x140
        args (0xe0000034f76784b8, 0xe0000034f6692900, 0x0, 0xa000000100571f40, 0x694)
0xa000000100571f40 qla2x00_configure_loop+0x2320
        args (0xe0000034f76784b8, 0xe0000034f6692900, 0xe0000034f767a6e8, 0xe0000034f7589db4, 0xe0000034f7556780)
0xa000000100574210 qla2x00_loop_resync+0x1b0
        args (0xff, 0x0, 0xa0000001005692b0, 0x30b, 0x40000a0)
0xa0000001005692b0 qla2x00_do_dpc+0xb30
        args (0xe0000034f76784b8, 0x4000090, 0x4000090, 0xa000000100011090, 0x286)
0xa000000100011090 kernel_thread_helper+0xd0
        args (0xa00000010083f8f0, 0xe0000034f76784b8, 0xa000000100009120, 0x2, 0xa000000100d115c0)
0xa000000100009120 start_kernel_thread+0x20
        args (0xa00000010083f8f0, 0xe0000034f76784b8)



[0]kdb> btp 825
Stack traceback for pid 825
0xe0000034f7668000      825        1  0    0   D  0xe0000034f7668380  qla2300_3_dpc
0xa000000100717990 schedule+0x2290
        args (0xe00000b00393de00, 0xa0000001000ca0b0, 0x309, 0xa0000001000ca0a0, 0x1)
0xa0000001000ca0c0 flush_cpu_workqueue+0x140
        args (0xe00000b00393de00, 0x21f, 0xe0000034f7668000, 0xa0000001000ca220, 0x288)
0xa0000001000ca220 flush_workqueue+0xc0
        args (0xe000003007114700, 0x0, 0xa0000001000ca3e0, 0x184, 0x205)
0xa0000001000ca3e0 flush_scheduled_work+0x20
        args (0xa000000100554570, 0x307, 0x307)
0xa000000100554570 fc_rport_tgt_remove+0xf0
        args (0xe0000034f75b1a00, 0xe0000034f75b1c78, 0xe0000034f63e4000, 0xa000000100554820, 0x389)
0xa000000100554820 fc_rport_terminate+0xa0
        args (0xe0000034f75b1a00, 0xe0000034f75b1a50, 0xe0000034f63e4058, 0xe0000034f63e4000, 0xa000000100554950)
0xa000000100554950 fc_remote_port_delete+0x50
        args (0xe0000034f75b1a00, 0x3a98, 0xa00000010056f090, 0x287, 0xe0000034f63e44e8)
0xa00000010056f090 qla2x00_rport_del+0x70
        args (0xe0000034f63dc5f0, 0xe0000034f75b1a00, 0xa00000010056f100, 0x48c, 0x48f)
0xa00000010056f100 qla2x00_reg_remote_port+0x40
        args (0xe0000034f63e44b8, 0xe0000034f63dc580, 0x3, 0x3, 0xfffffff0)
0xa00000010056f6b0 qla2x00_update_fcport+0x1f0
        args (0xe0000034f63e44b8, 0xe0000034f63dc580, 0xe0000034f63e44b8, 0xa00000010056f820, 0x30b)
[0]more>
0xa00000010056f820 qla2x00_fabric_dev_login+0x140
        args (0xe0000034f63e44b8, 0xe0000034f63dc580, 0x0, 0xa000000100571f40, 0x694)
0xa000000100571f40 qla2x00_configure_loop+0x2320
        args (0xe0000034f63e44b8, 0xe0000034f63dc580, 0xe0000034f63e66e8, 0xe0000034f60dfd34, 0xe0000034f63dc580)
0xa000000100574210 qla2x00_loop_resync+0x1b0
        args (0xfe, 0x0, 0xa0000001005692b0, 0x30b, 0x40000a0)
0xa0000001005692b0 qla2x00_do_dpc+0xb30
        args (0xe0000034f63e44b8, 0x4000090, 0x4000090, 0xa000000100011090, 0x286)
0xa000000100011090 kernel_thread_helper+0xd0
        args (0xa00000010083f8f0, 0xe0000034f63e44b8, 0xa000000100009120, 0x2, 0xa000000100d115c0)
0xa000000100009120 start_kernel_thread+0x20
        args (0xa00000010083f8f0, 0xe0000034f63e44b8)


[0]kdb> btp 903
Stack traceback for pid 903
0xe0000034f6300000      903        1  0    0   D  0xe0000034f6300380  qla2300_4_dpc
0xa000000100717990 schedule+0x2290
        args (0xe00000b00393de00, 0xa0000001000ca0b0, 0x309, 0xa0000001000ca0a0, 0x1)
0xa0000001000ca0c0 flush_cpu_workqueue+0x140
        args (0xe00000b00393de00, 0x225, 0xe0000034f6300000, 0xa0000001000ca220, 0x288)
0xa0000001000ca220 flush_workqueue+0xc0
        args (0xe000003007114700, 0x0, 0xa0000001000ca3e0, 0x184, 0x205)
0xa0000001000ca3e0 flush_scheduled_work+0x20
        args (0xa000000100554570, 0x307, 0x307)
0xa000000100554570 fc_rport_tgt_remove+0xf0
        args (0xe0000034f6575d80, 0xe0000034f6575ff8, 0xe0000034f6694000, 0xa000000100554820, 0x389)
0xa000000100554820 fc_rport_terminate+0xa0
        args (0xe0000034f6575d80, 0xe0000034f6575dd0, 0xe0000034f6694058, 0xe0000034f6694000, 0xa000000100554950)
0xa000000100554950 fc_remote_port_delete+0x50
        args (0xe0000034f6575d80, 0x3a98, 0xa00000010056f090, 0x287, 0xe0000034f66944e8)
0xa00000010056f090 qla2x00_rport_del+0x70
        args (0xe0000034f6692170, 0xe0000034f6575d80, 0xa00000010056f100, 0x48c, 0x48f)
0xa00000010056f100 qla2x00_reg_remote_port+0x40
        args (0xe0000034f66944b8, 0xe0000034f6692100, 0x3, 0x3, 0xfffffff0)
0xa00000010056f6b0 qla2x00_update_fcport+0x1f0
        args (0xe0000034f66944b8, 0xe0000034f6692100, 0xe0000034f66944b8, 0xa00000010056f820, 0x30b)
[0]more>
0xa00000010056f820 qla2x00_fabric_dev_login+0x140
        args (0xe0000034f66944b8, 0xe0000034f6692100, 0x0, 0xa000000100571f40, 0x694)
0xa000000100571f40 qla2x00_configure_loop+0x2320
        args (0xe0000034f66944b8, 0xe0000034f6692100, 0xe0000034f66966e8, 0xe0000034f657b734, 0xe0000034f6692300)
0xa000000100574210 qla2x00_loop_resync+0x1b0
        args (0xff, 0x0, 0xa0000001005692b0, 0x30b, 0x40000a0)
0xa0000001005692b0 qla2x00_do_dpc+0xb30
        args (0xe0000034f66944b8, 0x4000090, 0x4000090, 0xa000000100011090, 0x286)
0xa000000100011090 kernel_thread_helper+0xd0
        args (0xa00000010083f8f0, 0xe0000034f66944b8, 0xa000000100009120, 0x2, 0xa000000100d115c0)
0xa000000100009120 start_kernel_thread+0x20
        args (0xa00000010083f8f0, 0xe0000034f66944b8)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: qla2xxx: Recursion depth exceeded
  2006-01-19 16:59 qla2xxx: Recursion depth exceeded Michael Reed
@ 2006-01-20 21:08 ` Andrew Vasquez
  2006-01-20 22:53   ` [PATCH 1/3] qla2xxx: Correct synchronization issues during rport addition/deletion andrew.vasquez
                     ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Andrew Vasquez @ 2006-01-20 21:08 UTC (permalink / raw)
  To: Michael Reed; +Cc: James.Smart, linux-scsi

On Thu, 19 Jan 2006, Michael Reed wrote:

> This causes console input to stop being accepted and the inability to shutdown the system.
> 
> 
>  QLogic Fibre Channel HBA Driver: 8.01.04-k-fw
> from the sles10-latest kernel received yesterday, which is essentially
> 2.6.15-git12.  This has rpfixes_2.diff already applied.

Yes, I've yet to submit that variant...

> I did a switchdisable followed by a switchenable 5 seconds later.
> 
> Jan 19 10:35:16 duck klogd: qla2300 0012:00:02.1: LOOP DOWN detected (2).
> Jan 19 10:35:16 duck klogd: qla2300 0012:00:02.0: LOOP DOWN detected (2).
> Jan 19 10:35:16 duck klogd: qla2300 0012:00:01.1: LOOP DOWN detected (2).
> Jan 19 10:35:16 duck klogd: qla2300 0012:00:01.0: LOOP DOWN detected (2).
> Jan 19 10:35:16 duck klogd: qla2300 0002:01:06.0: LOOP DOWN detected (2).
> Jan 19 10:35:16 duck klogd: qla2300 0002:01:04.1: LOOP DOWN detected (2).
> Jan 19 10:35:16 duck klogd: qla2300 0002:01:06.1: LOOP DOWN detected (2).
> Jan 19 10:35:16 duck klogd: qla2300 0002:01:04.0: LOOP DOWN detected (2).
> 
> Well, okay, SIX seconds later . :)
> 
> Jan 19 10:35:43 duck klogd: qla2300 0012:00:01.1: LOOP UP detected (2 Gbps).
> Jan 19 10:35:45 duck klogd: run_workqueue: recursion depth exceeded: 4
> Jan 19 10:35:45 duck klogd:
> Jan 19 10:35:45 duck klogd: Call Trace:
> Jan 19 10:35:45 duck klogd:  [<a000000100012b00>] show_stack+0x40/0xa0
> Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35f9e0 bsp=e00000b07a3593b0
> Jan 19 10:35:45 duck klogd:  [<a000000100012b90>] dump_stack+0x30/0x60
> Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fbb0 bsp=e00000b07a359398
> Jan 19 10:35:45 duck klogd:  [<a0000001000c9d90>] run_workqueue+0x90/0x280
> Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fbb0 bsp=e00000b07a359358
> Jan 19 10:35:45 duck klogd:  [<a0000001000c9fd0>] flush_cpu_workqueue+0x50/0x1e0
> Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fbb0 bsp=e00000b07a359328
> Jan 19 10:35:45 duck klogd:  [<a0000001000ca220>] flush_workqueue+0xc0/0x160
> Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a359300
> Jan 19 10:35:45 duck klogd:  [<a0000001000ca3e0>] flush_scheduled_work+0x20/0x40
> Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a3592e8
> Jan 19 10:35:45 duck klogd:  [<a000000100554570>] fc_rport_tgt_remove+0xf0/0x140
> Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a3592b8
> Jan 19 10:35:45 duck klogd:  [<a000000100554820>] fc_rport_terminate+0xa0/0x180
> Jan 19 10:35:45 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a359280
> Jan 19 10:35:49 duck klogd:  [<a000000100554950>] fc_remote_port_delete+0x50/0xe0
> Jan 19 10:35:49 duck klogd:                                 sp=e00000b07a35fc10 bsp=e00000b07a359258
> Jan 19 10:35:49 duck klogd: run_workqueue: recursion depth exceeded: 4

As this pinging of the workqueue during removal has some real awful
side-effects.  I have a series of patches which attempt to work around
the semantic requirements.

I'll post them ASAP, in the interim, Mike could you grab the following
mbox patchset (apply with git-am):

ftp://ftp.qlogic.com/outgoing/linux/patches/8.x/8.01.04k/pr600.diff

Thanks,
Andrew


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/3] qla2xxx: Correct synchronization issues during rport addition/deletion.
  2006-01-20 21:08 ` Andrew Vasquez
@ 2006-01-20 22:53   ` andrew.vasquez
  2006-01-20 22:53   ` [PATCH 2/3] qla2xxx: Correct issue where the rport's upcall was not being made after relogin andrew.vasquez
  2006-01-20 22:53   ` [PATCH 3/3] qla2xxx: Drop legacy 'bypass lun scan for tape device' code andrew.vasquez
  2 siblings, 0 replies; 5+ messages in thread
From: andrew.vasquez @ 2006-01-20 22:53 UTC (permalink / raw)
  To: linux-scsi, mdr; +Cc: andrew.vasquez

The driver can typically detect port-loss during an
interrupt context (i.e. via interrogation of a status IOCB's
completion status [CS_PORT_LOGGED_OUT].  Due to the calling
requirements of the fc_rport APIs, the driver would defer
removal of the device to the default workqueue.  If the
work-item was preceded by an event which caused the port to
obtain visibility (relogin successful, target re-logged into
the topology), deferred removal could inadvertently drop the
rport.  The code also no longer defers removal via the
default workqueue, instead opting for use of the driver's
own DPC thread.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>

---

 drivers/scsi/qla2xxx/qla_def.h  |    4 ++-
 drivers/scsi/qla2xxx/qla_gbl.h  |    5 ++--
 drivers/scsi/qla2xxx/qla_init.c |   54 +++++++++++++++++++++++++++------------
 drivers/scsi/qla2xxx/qla_isr.c  |   16 ++++++------
 drivers/scsi/qla2xxx/qla_os.c   |   46 ++++++++++++++++++++++++++++-----
 5 files changed, 91 insertions(+), 34 deletions(-)

76891b08d2a84acb2315a1da9df1733141eb82c2
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index 79d8a91..bad066e 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -1680,7 +1680,8 @@ typedef struct fc_port {
 	uint8_t mp_byte;		/* multi-path byte (not used) */
     	uint8_t cur_path;		/* current path id */
 
-	struct fc_rport *rport;
+	spinlock_t rport_lock;
+	struct fc_rport *rport, *drport;
 	u32 supported_classes;
 	struct work_struct rport_add_work;
 	struct work_struct rport_del_work;
@@ -2270,6 +2271,7 @@ typedef struct scsi_qla_host {
 #define LOOP_RESET_NEEDED	24
 #define BEACON_BLINK_NEEDED	25
 #define REGISTER_FDMI_NEEDED	26
+#define FCPORT_UPDATE_NEEDED	27
 
 	uint32_t	device_flags;
 #define DFLG_LOCAL_DEVICES		BIT_0
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
index 32be4c1..0c1ec14 100644
--- a/drivers/scsi/qla2xxx/qla_gbl.h
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
@@ -47,6 +47,7 @@ extern int qla2x00_local_device_login(sc
 extern void qla2x00_restart_queues(scsi_qla_host_t *, uint8_t);
 
 extern void qla2x00_rescan_fcports(scsi_qla_host_t *);
+extern void qla2x00_update_fcports(scsi_qla_host_t *);
 
 extern int qla2x00_abort_isp(scsi_qla_host_t *);
 
@@ -70,8 +71,8 @@ extern char *qla2x00_get_fw_version_str(
 
 extern void qla2x00_cmd_timeout(srb_t *);
 
-extern void qla2x00_mark_device_lost(scsi_qla_host_t *, fc_port_t *, int);
-extern void qla2x00_mark_all_devices_lost(scsi_qla_host_t *);
+extern void qla2x00_mark_device_lost(scsi_qla_host_t *, fc_port_t *, int, int);
+extern void qla2x00_mark_all_devices_lost(scsi_qla_host_t *, int);
 
 extern void qla2x00_blink_led(scsi_qla_host_t *);
 
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index a91fea6..4c7caec 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -1688,10 +1688,16 @@ static void
 qla2x00_rport_del(void *data)
 {
 	fc_port_t *fcport = data;
+	struct fc_rport *rport;
+	unsigned long flags;
+
+	spin_lock_irqsave(&fcport->rport_lock, flags);
+	rport = fcport->drport;
+	fcport->drport = NULL;
+	spin_unlock_irqrestore(&fcport->rport_lock, flags);
+	if (rport)
+		fc_remote_port_delete(rport);
 
-	if (fcport->rport)
-		fc_remote_port_delete(fcport->rport);
-	fcport->rport = NULL;
 }
 
 /**
@@ -1719,6 +1725,7 @@ qla2x00_alloc_fcport(scsi_qla_host_t *ha
 	atomic_set(&fcport->state, FCS_UNCONFIGURED);
 	fcport->flags = FCF_RLC_SUPPORT;
 	fcport->supported_classes = FC_COS_UNSPECIFIED;
+	spin_lock_init(&fcport->rport_lock);
 	INIT_WORK(&fcport->rport_add_work, qla2x00_rport_add, fcport);
 	INIT_WORK(&fcport->rport_del_work, qla2x00_rport_del, fcport);
 
@@ -2008,7 +2015,7 @@ qla2x00_probe_for_all_luns(scsi_qla_host
 {
 	fc_port_t	*fcport;
 
-	qla2x00_mark_all_devices_lost(ha);
+	qla2x00_mark_all_devices_lost(ha, 0);
  	list_for_each_entry(fcport, &ha->fcports, list) {
 		if (fcport->port_type != FCT_TARGET)
 			continue;
@@ -2084,24 +2091,29 @@ qla2x00_reg_remote_port(scsi_qla_host_t 
 {
 	struct fc_rport_identifiers rport_ids;
 	struct fc_rport *rport;
+	unsigned long flags;
 
-	if (fcport->rport) {
-		fc_remote_port_delete(fcport->rport);
-		fcport->rport = NULL;
-	}
+	if (fcport->drport)
+		qla2x00_rport_del(fcport);
+	if (fcport->rport)
+		return;
 
 	rport_ids.node_name = wwn_to_u64(fcport->node_name);
 	rport_ids.port_name = wwn_to_u64(fcport->port_name);
 	rport_ids.port_id = fcport->d_id.b.domain << 16 |
 	    fcport->d_id.b.area << 8 | fcport->d_id.b.al_pa;
 	rport_ids.roles = FC_RPORT_ROLE_UNKNOWN;
-	fcport->rport = rport = fc_remote_port_add(ha->host, 0, &rport_ids);
+	rport = fc_remote_port_add(ha->host, 0, &rport_ids);
 	if (!rport) {
 		qla_printk(KERN_WARNING, ha,
 		    "Unable to allocate fc remote port!\n");
 		return;
 	}
+	spin_lock_irqsave(&fcport->rport_lock, flags);
+	fcport->rport = rport;
 	*((fc_port_t **)rport->dd_data) = fcport;
+	spin_unlock_irqrestore(&fcport->rport_lock, flags);
+
 	rport->supported_classes = fcport->supported_classes;
 
 	rport_ids.roles = FC_RPORT_ROLE_UNKNOWN;
@@ -2217,12 +2229,11 @@ qla2x00_configure_fabric(scsi_qla_host_t
 
 			if (atomic_read(&fcport->state) == FCS_DEVICE_LOST) {
 				qla2x00_mark_device_lost(ha, fcport,
-				    ql2xplogiabsentdevice);
+				    ql2xplogiabsentdevice, 0);
 				if (fcport->loop_id != FC_NO_LOOP_ID &&
 				    (fcport->flags & FCF_TAPE_PRESENT) == 0 &&
 				    fcport->port_type != FCT_INITIATOR &&
 				    fcport->port_type != FCT_BROADCAST) {
-
 					ha->isp_ops.fabric_logout(ha,
 					    fcport->loop_id,
 					    fcport->d_id.b.domain,
@@ -2694,7 +2705,8 @@ qla2x00_device_resync(scsi_qla_host_t *h
 			if (atomic_read(&fcport->state) == FCS_ONLINE) {
 				if (format != 3 ||
 				    fcport->port_type != FCT_INITIATOR) {
-					qla2x00_mark_device_lost(ha, fcport, 0);
+					qla2x00_mark_device_lost(ha, fcport,
+					    0, 0);
 				}
 			}
 			fcport->flags &= ~FCF_FARP_DONE;
@@ -2741,8 +2753,7 @@ qla2x00_fabric_dev_login(scsi_qla_host_t
 			ha->isp_ops.fabric_logout(ha, fcport->loop_id,
 			    fcport->d_id.b.domain, fcport->d_id.b.area,
 			    fcport->d_id.b.al_pa);
-			qla2x00_mark_device_lost(ha, fcport, 1);
-
+			qla2x00_mark_device_lost(ha, fcport, 1, 0);
 		} else {
 			qla2x00_update_fcport(ha, fcport);
 		}
@@ -2855,7 +2866,7 @@ qla2x00_fabric_login(scsi_qla_host_t *ha
 			ha->isp_ops.fabric_logout(ha, fcport->loop_id,
 			    fcport->d_id.b.domain, fcport->d_id.b.area,
 			    fcport->d_id.b.al_pa);
-			qla2x00_mark_device_lost(ha, fcport, 1);
+			qla2x00_mark_device_lost(ha, fcport, 1, 0);
 
 			rval = 1;
 			break;
@@ -2990,6 +3001,17 @@ qla2x00_rescan_fcports(scsi_qla_host_t *
 	qla2x00_probe_for_all_luns(ha);
 }
 
+void
+qla2x00_update_fcports(scsi_qla_host_t *ha)
+{
+	fc_port_t *fcport;
+
+	/* Go with deferred removal of rport references. */
+	list_for_each_entry(fcport, &ha->fcports, list)
+		if (fcport->drport)
+			qla2x00_rport_del(fcport);
+}
+
 /*
 *  qla2x00_abort_isp
 *      Resets ISP and aborts all outstanding commands.
@@ -3019,7 +3041,7 @@ qla2x00_abort_isp(scsi_qla_host_t *ha)
 		atomic_set(&ha->loop_down_timer, LOOP_DOWN_TIME);
 		if (atomic_read(&ha->loop_state) != LOOP_DOWN) {
 			atomic_set(&ha->loop_state, LOOP_DOWN);
-			qla2x00_mark_all_devices_lost(ha);
+			qla2x00_mark_all_devices_lost(ha, 0);
 		} else {
 			if (!atomic_read(&ha->loop_down_timer))
 				atomic_set(&ha->loop_down_timer,
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index f63af08..71a46fc 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -389,7 +389,7 @@ qla2x00_async_event(scsi_qla_host_t *ha,
 		if (atomic_read(&ha->loop_state) != LOOP_DOWN) {
 			atomic_set(&ha->loop_state, LOOP_DOWN);
 			atomic_set(&ha->loop_down_timer, LOOP_DOWN_TIME);
-			qla2x00_mark_all_devices_lost(ha);
+			qla2x00_mark_all_devices_lost(ha, 1);
 		}
 
 		set_bit(REGISTER_FC4_NEEDED, &ha->dpc_flags);
@@ -432,7 +432,7 @@ qla2x00_async_event(scsi_qla_host_t *ha,
 			atomic_set(&ha->loop_state, LOOP_DOWN);
 			atomic_set(&ha->loop_down_timer, LOOP_DOWN_TIME);
 			ha->device_flags |= DFLG_NO_CABLE;
-			qla2x00_mark_all_devices_lost(ha);
+			qla2x00_mark_all_devices_lost(ha, 1);
 		}
 
 		ha->flags.management_server_logged_in = 0;
@@ -453,7 +453,7 @@ qla2x00_async_event(scsi_qla_host_t *ha,
 		if (atomic_read(&ha->loop_state) != LOOP_DOWN) {
 			atomic_set(&ha->loop_state, LOOP_DOWN);
 			atomic_set(&ha->loop_down_timer, LOOP_DOWN_TIME);
-			qla2x00_mark_all_devices_lost(ha);
+			qla2x00_mark_all_devices_lost(ha, 1);
 		}
 
 		set_bit(RESET_MARKER_NEEDED, &ha->dpc_flags);
@@ -482,7 +482,7 @@ qla2x00_async_event(scsi_qla_host_t *ha,
 			if (!atomic_read(&ha->loop_down_timer))
 				atomic_set(&ha->loop_down_timer,
 				    LOOP_DOWN_TIME);
-			qla2x00_mark_all_devices_lost(ha);
+			qla2x00_mark_all_devices_lost(ha, 1);
 		}
 
 		if (!(test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags))) {
@@ -506,7 +506,7 @@ qla2x00_async_event(scsi_qla_host_t *ha,
 			if (!atomic_read(&ha->loop_down_timer))
 				atomic_set(&ha->loop_down_timer,
 				    LOOP_DOWN_TIME);
-			qla2x00_mark_all_devices_lost(ha);
+			qla2x00_mark_all_devices_lost(ha, 1);
 		}
 
 		set_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags);
@@ -580,7 +580,7 @@ qla2x00_async_event(scsi_qla_host_t *ha,
 		 */
 		atomic_set(&ha->loop_state, LOOP_UP);
 
-		qla2x00_mark_all_devices_lost(ha);
+		qla2x00_mark_all_devices_lost(ha, 1);
 
 		ha->flags.rscn_queue_overflow = 1;
 
@@ -1091,7 +1091,7 @@ qla2x00_status_entry(scsi_qla_host_t *ha
 
 		cp->result = DID_BUS_BUSY << 16;
 		if (atomic_read(&fcport->state) == FCS_ONLINE) {
-			qla2x00_mark_device_lost(ha, fcport, 1);
+			qla2x00_mark_device_lost(ha, fcport, 1, 1);
 		}
 		break;
 
@@ -1135,7 +1135,7 @@ qla2x00_status_entry(scsi_qla_host_t *ha
 
 		/* Check to see if logout occurred. */
 		if ((le16_to_cpu(sts->status_flags) & SF_LOGOUT_SENT))
-			qla2x00_mark_device_lost(ha, fcport, 1);
+			qla2x00_mark_device_lost(ha, fcport, 1, 1);
 		break;
 
 	case CS_QUEUE_FULL:
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 4916847..089e0f5 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -756,7 +756,7 @@ qla2xxx_eh_device_reset(struct scsi_cmnd
 		if (ret == SUCCESS) {
 			if (fcport->flags & FC_FABRIC_DEVICE) {
 				ha->isp_ops.fabric_logout(ha, fcport->loop_id);
-				qla2x00_mark_device_lost(ha, fcport);
+				qla2x00_mark_device_lost(ha, fcport, 0, 0);
 			}
 		}
 #endif
@@ -1642,6 +1642,31 @@ qla2x00_free_device(scsi_qla_host_t *ha)
 	pci_disable_device(ha->pdev);
 }
 
+static inline void
+qla2x00_schedule_rport_del(struct scsi_qla_host *ha, fc_port_t *fcport,
+    int defer)
+{
+	unsigned long flags;
+	struct fc_rport *rport;
+
+	if (!fcport->rport)
+		return;
+
+	rport = fcport->rport;
+	if (defer) {
+		spin_lock_irqsave(&fcport->rport_lock, flags);
+		fcport->drport = rport;
+		fcport->rport = NULL;
+		spin_unlock_irqrestore(&fcport->rport_lock, flags);
+		set_bit(FCPORT_UPDATE_NEEDED, &ha->dpc_flags);
+	} else {
+		spin_lock_irqsave(&fcport->rport_lock, flags);
+		fcport->rport = NULL;
+		spin_unlock_irqrestore(&fcport->rport_lock, flags);
+		fc_remote_port_delete(rport);
+	}
+}
+
 /*
  * qla2x00_mark_device_lost Updates fcport state when device goes offline.
  *
@@ -1652,10 +1677,10 @@ qla2x00_free_device(scsi_qla_host_t *ha)
  * Context:
  */
 void qla2x00_mark_device_lost(scsi_qla_host_t *ha, fc_port_t *fcport,
-    int do_login)
+    int do_login, int defer)
 {
-	if (atomic_read(&fcport->state) == FCS_ONLINE && fcport->rport)
-		schedule_work(&fcport->rport_del_work);
+	if (atomic_read(&fcport->state) == FCS_ONLINE)
+		qla2x00_schedule_rport_del(ha, fcport, defer);
 
 	/*
 	 * We may need to retry the login, so don't change the state of the
@@ -1702,7 +1727,7 @@ void qla2x00_mark_device_lost(scsi_qla_h
  * Context:
  */
 void
-qla2x00_mark_all_devices_lost(scsi_qla_host_t *ha)
+qla2x00_mark_all_devices_lost(scsi_qla_host_t *ha, int defer)
 {
 	fc_port_t *fcport;
 
@@ -1716,10 +1741,13 @@ qla2x00_mark_all_devices_lost(scsi_qla_h
 		 */
 		if (atomic_read(&fcport->state) == FCS_DEVICE_DEAD)
 			continue;
-		if (atomic_read(&fcport->state) == FCS_ONLINE && fcport->rport)
-			schedule_work(&fcport->rport_del_work);
+		if (atomic_read(&fcport->state) == FCS_ONLINE)
+			qla2x00_schedule_rport_del(ha, fcport, defer);
 		atomic_set(&fcport->state, FCS_DEVICE_LOST);
 	}
+
+	if (defer && ha->dpc_wait && !ha->dpc_active)
+		up(ha->dpc_wait);
 }
 
 /*
@@ -2161,6 +2189,9 @@ qla2x00_do_dpc(void *data)
 			    ha->host_no));
 		}
 
+		if (test_and_clear_bit(FCPORT_UPDATE_NEEDED, &ha->dpc_flags))
+			qla2x00_update_fcports(ha);
+
 		if (test_and_clear_bit(LOOP_RESET_NEEDED, &ha->dpc_flags)) {
 			DEBUG(printk("scsi(%ld): dpc: sched loop_reset()\n",
 			    ha->host_no));
@@ -2469,6 +2500,7 @@ qla2x00_timer(scsi_qla_host_t *ha)
 	if ((test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags) ||
 	    test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags) ||
 	    test_bit(LOOP_RESET_NEEDED, &ha->dpc_flags) ||
+	    test_bit(FCPORT_UPDATE_NEEDED, &ha->dpc_flags) ||
 	    start_dpc ||
 	    test_bit(LOGIN_RETRY_NEEDED, &ha->dpc_flags) ||
 	    test_bit(RESET_MARKER_NEEDED, &ha->dpc_flags) ||
-- 
1.1.4.ge755



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] qla2xxx: Correct issue where the rport's upcall was not being made after relogin.
  2006-01-20 21:08 ` Andrew Vasquez
  2006-01-20 22:53   ` [PATCH 1/3] qla2xxx: Correct synchronization issues during rport addition/deletion andrew.vasquez
@ 2006-01-20 22:53   ` andrew.vasquez
  2006-01-20 22:53   ` [PATCH 3/3] qla2xxx: Drop legacy 'bypass lun scan for tape device' code andrew.vasquez
  2 siblings, 0 replies; 5+ messages in thread
From: andrew.vasquez @ 2006-01-20 22:53 UTC (permalink / raw)
  To: linux-scsi, mdr; +Cc: andrew.vasquez

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>

---

 drivers/scsi/qla2xxx/qla_gbl.h  |    1 +
 drivers/scsi/qla2xxx/qla_init.c |    3 +--
 drivers/scsi/qla2xxx/qla_os.c   |    9 ++-------
 3 files changed, 4 insertions(+), 9 deletions(-)

139779240d1bebb1ddbdfb4289a7e3ebb558fb7d
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
index 0c1ec14..35266bd 100644
--- a/drivers/scsi/qla2xxx/qla_gbl.h
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
@@ -51,6 +51,7 @@ extern void qla2x00_update_fcports(scsi_
 
 extern int qla2x00_abort_isp(scsi_qla_host_t *);
 
+extern void qla2x00_update_fcport(scsi_qla_host_t *, fc_port_t *);
 extern void qla2x00_reg_remote_port(scsi_qla_host_t *, fc_port_t *);
 
 /*
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 4c7caec..16c8892 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_hos
 static int qla2x00_configure_hba(scsi_qla_host_t *);
 static int qla2x00_configure_loop(scsi_qla_host_t *);
 static int qla2x00_configure_local_loop(scsi_qla_host_t *);
-static void qla2x00_update_fcport(scsi_qla_host_t *, fc_port_t *);
 static int qla2x00_configure_fabric(scsi_qla_host_t *);
 static int qla2x00_find_all_fabric_devs(scsi_qla_host_t *, struct list_head *);
 static int qla2x00_device_resync(scsi_qla_host_t *);
@@ -2039,7 +2038,7 @@ qla2x00_probe_for_all_luns(scsi_qla_host
  * Context:
  *	Kernel context.
  */
-static void
+void
 qla2x00_update_fcport(scsi_qla_host_t *ha, fc_port_t *fcport)
 {
 	uint16_t	index;
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 089e0f5..5866a7c 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -2250,13 +2250,8 @@ qla2x00_do_dpc(void *data)
 						DEBUG(printk("scsi(%ld): port login OK: logged in ID 0x%x\n",
 						    ha->host_no, fcport->loop_id));
 
-						fcport->port_login_retry_count =
-						    ha->port_down_retry_count * PORT_RETRY_TIME;
-						atomic_set(&fcport->state, FCS_ONLINE);
-						atomic_set(&fcport->port_down_timer,
-						    ha->port_down_retry_count * PORT_RETRY_TIME);
-
-						fcport->login_retry = 0;
+						qla2x00_update_fcport(ha,
+						    fcport);
 					} else if (status == 1) {
 						set_bit(RELOGIN_NEEDED, &ha->dpc_flags);
 						/* retry the login again */
-- 
1.1.4.ge755



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] qla2xxx: Drop legacy 'bypass lun scan for tape device' code.
  2006-01-20 21:08 ` Andrew Vasquez
  2006-01-20 22:53   ` [PATCH 1/3] qla2xxx: Correct synchronization issues during rport addition/deletion andrew.vasquez
  2006-01-20 22:53   ` [PATCH 2/3] qla2xxx: Correct issue where the rport's upcall was not being made after relogin andrew.vasquez
@ 2006-01-20 22:53   ` andrew.vasquez
  2 siblings, 0 replies; 5+ messages in thread
From: andrew.vasquez @ 2006-01-20 22:53 UTC (permalink / raw)
  To: linux-scsi, mdr; +Cc: andrew.vasquez

Internal lun discovery has been removed since fc_transport
integration.  Short-circuiting for tape-devices in
qla2x00_update_fcport() could inadvertently result in a
blocked rport timing-out and its targets being reaped.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>

---

 drivers/scsi/qla2xxx/qla_init.c |   26 --------------------------
 1 files changed, 0 insertions(+), 26 deletions(-)

19f42106b0d65287d0cb4cd35198307595e2b9d1
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 16c8892..e67bb09 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -2041,10 +2041,6 @@ qla2x00_probe_for_all_luns(scsi_qla_host
 void
 qla2x00_update_fcport(scsi_qla_host_t *ha, fc_port_t *fcport)
 {
-	uint16_t	index;
-	unsigned long flags;
-	srb_t *sp;
-
 	fcport->ha = ha;
 	fcport->login_retry = 0;
 	fcport->port_login_retry_count = ha->port_down_retry_count *
@@ -2053,28 +2049,6 @@ qla2x00_update_fcport(scsi_qla_host_t *h
 	    PORT_RETRY_TIME);
 	fcport->flags &= ~FCF_LOGIN_NEEDED;
 
-	/*
-	 * Check for outstanding cmd on tape Bypass LUN discovery if active
-	 * command on tape.
-	 */
-	if (fcport->flags & FCF_TAPE_PRESENT) {
-		spin_lock_irqsave(&ha->hardware_lock, flags);
-		for (index = 1; index < MAX_OUTSTANDING_COMMANDS; index++) {
-			fc_port_t *sfcp;
-
-			if ((sp = ha->outstanding_cmds[index]) != 0) {
-				sfcp = sp->fcport;
-				if (sfcp == fcport) {
-					atomic_set(&fcport->state, FCS_ONLINE);
-					spin_unlock_irqrestore(
-					    &ha->hardware_lock, flags);
-					return;
-				}
-			}
-		}
-		spin_unlock_irqrestore(&ha->hardware_lock, flags);
-	}
-
 	if (fcport->port_type == FCT_INITIATOR ||
 	    fcport->port_type == FCT_BROADCAST)
 		fcport->device_type = TYPE_PROCESSOR;
-- 
1.1.4.ge755



^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-01-20 22:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-01-19 16:59 qla2xxx: Recursion depth exceeded Michael Reed
2006-01-20 21:08 ` Andrew Vasquez
2006-01-20 22:53   ` [PATCH 1/3] qla2xxx: Correct synchronization issues during rport addition/deletion andrew.vasquez
2006-01-20 22:53   ` [PATCH 2/3] qla2xxx: Correct issue where the rport's upcall was not being made after relogin andrew.vasquez
2006-01-20 22:53   ` [PATCH 3/3] qla2xxx: Drop legacy 'bypass lun scan for tape device' code andrew.vasquez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox