android_kernel_xiaomi_sm8350/include/scsi
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
..
fc [SCSI] libfcoe: add protocol description of FIP VN2VN mode 2010-07-28 09:05:55 -05:00
fc_encode.h [SCSI] libfc: add fc_fill_reply_hdr() and fc_fill_hdr() 2010-07-28 09:06:00 -05:00
fc_frame.h [SCSI] libfc: add fc_frame_sid() and fc_frame_did() functions 2010-07-28 09:05:59 -05:00
iscsi_if.h [SCSI] iscsi_transport: added new iscsi_param to display target alias in sysfs 2010-07-28 09:05:25 -05:00
iscsi_proto.h [SCSI] libiscsi: Check TMF state before sending PDU 2009-12-04 12:01:36 -06:00
Kbuild [SCSI] Unexport scsi/scsi.h from headers_install 2010-05-02 11:45:12 -04:00
libfc.h [SCSI] libfc: Do not let disc work cancel itself 2010-10-25 15:11:37 -05:00
libfcoe.h [SCSI] libfcoe: fcoe: fnic: add FIP VN2VN point-to-multipoint support 2010-07-28 09:05:56 -05:00
libiscsi_tcp.h kfifo: move struct kfifo in place 2009-12-22 14:17:55 -08:00
libiscsi.h [SCSI] libiscsi: Make iscsi_eh_target_reset start with session reset 2010-03-03 17:39:04 +05:30
libsas.h [SCSI] libsas: Don't issue commands to devices that have been hot-removed 2010-10-08 16:03:42 -05:00
libsrp.h libsrp: fix compile failure 2009-12-30 12:23:27 -08:00
osd_attributes.h
osd_initiator.h [SCSI] libosd: Fix blk_put_request locking again 2009-12-10 08:54:17 -06:00
osd_protocol.h [SCSI] osd_protocol.h: Add missing #include 2009-12-04 12:01:48 -06:00
osd_sec.h
osd_sense.h [SCSI] libosd: osd_sense: OSD_CFO_PERMISSIONS 2009-12-04 12:01:44 -06:00
osd_types.h
sas_ata.h
sas.h
scsi_bsg_fc.h [SCSI] fc-transport: Use packed modifier for fc_bsg_request structure. 2010-01-17 12:36:33 -06:00
scsi_cmnd.h [SCSI] Deprecate SCSI_PROT_*_CONVERT operations 2009-10-02 09:46:25 -05:00
scsi_dbg.h
scsi_device.h scsi/sd: add a no_read_capacity_16 scsi_device flag 2010-10-22 10:22:05 -07:00
scsi_devinfo.h
scsi_dh.h [SCSI] scsi_dh: Change the scsidh_activate interface to be asynchronous 2009-12-04 12:00:46 -06:00
scsi_driver.h
scsi_eh.h
scsi_host.h block/scsi: Provide a limit on the number of integrity segments 2010-09-10 20:50:10 +02:00
scsi_ioctl.h
scsi_netlink_fc.h
scsi_netlink.h scsi: use __uX types for headers exported to user space 2010-08-11 08:59:01 -07:00
scsi_scan.h
scsi_tcq.h block: remove spurious uses of REQ_HARDBARRIER 2010-09-10 12:35:36 +02:00
scsi_tgt_if.h
scsi_tgt.h
scsi_transport_fc.h [SCSI] fc class: add fc host dev loss sysfs file 2010-10-07 17:09:44 -05:00
scsi_transport_iscsi.h [SCSI] iscsi_transport: wait on session in error handler path 2010-07-28 09:06:06 -05:00
scsi_transport_sas.h [SCSI] scsi_transport_sas: add support for transport layer retries (TLR) 2010-02-08 17:15:19 -06:00
scsi_transport_spi.h
scsi_transport_srp.h
scsi_transport.h
scsi.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2010-10-22 20:30:48 -07:00
scsicam.h
sg.h sysctl extern cleanup: sg 2010-03-12 15:53:10 -08:00
srp.h