android_kernel_xiaomi_sm8350/drivers/scsi
Darrick J. Wong 6f63caae21 [SCSI] libsas: Clean up discovery failure handler code
sas_rphy_delete does two things: it removes the sas_rphy from the transport
layer and frees the sas_rphy.  This can be broken down into two functions,
sas_rphy_remove and sas_rphy_free; sas_rphy_remove is of interest to
sas_discover_root_expander because it calls functions that require
sas_rphy_add as a prerequisite and can fail (namely sas_discover_expander).
In that case, sas_discover_root_expander needs to be able to undo the effects
of sas_rphy_add yet leave the job of freeing the sas_rphy to the caller of
sas_discover_root_expander.

This patch also removes some unnecessary code from sas_discover_end_dev
to eliminate an unnecessary cycle of sas_notify_lldd_gone/found for SAS
devices, thus eliminating a sas_rphy_remove call (and fixing a race condition
where a SCSI target scan can come in between the gone and found call).
It also moves the sas_rphy_free calls into sas_discover_domain and
sas_ex_discover_end_dev to complement the sas_rphy_allocation via
sas_get_port_device.

This patch does not change the semantics of sas_rphy_delete.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-01-27 10:05:15 -06:00
..
aacraid [SCSI] aacraid: expanded expose physical device code (new) 2007-01-27 09:28:14 -06:00
aic7xxx [SCSI] aic79xx: Add ASC-29320LPE ids to driver 2006-12-05 14:17:17 -06:00
aic7xxx_old
aic94xx [SCSI] aic94xx: fix typos and update verison number 2007-01-27 09:24:53 -06:00
arcmsr
arm
dpt [PATCH] lockdep: annotate DECLARE_WAIT_QUEUE_HEAD 2006-10-30 12:08:40 -08:00
ibmvscsi [PATCH] powerpc iseries link error in allmodconfig 2006-12-30 10:55:54 -08:00
libsas [SCSI] libsas: Clean up discovery failure handler code 2007-01-27 10:05:15 -06:00
lpfc [SCSI] lpfc 8.1.11 : Change version number to 8.1.11 2006-12-03 09:35:20 -06:00
megaraid [SCSI] megaraid: more kernel-doc fixes 2007-01-13 13:55:35 -06:00
pcmcia [PATCH] PCMCIA: fix drivers broken by recent cleanup 2007-01-11 18:24:39 -08:00
qla2xxx [SCSI] qla2xxx: correct locking while call starget_for_each_device() 2007-01-13 13:59:10 -06:00
qla4xxx [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
sym53c8xx_2 [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() 2006-12-13 09:05:52 -08:00
.gitignore
3w-9xxx.c [SCSI] 3ware 9000 add support for 9650SE 2006-11-09 14:27:57 +09:00
3w-9xxx.h [SCSI] 3ware 9000 add support for 9650SE 2006-11-09 14:27:57 +09:00
3w-xxxx.c
3w-xxxx.h
53c7xx_d.h_shipped
53c7xx_u.h_shipped
53c7xx.c
53c7xx.h
53c7xx.scr
53c700_d.h_shipped
53c700.c [SCSI] 53c700: Allow setting burst length 2007-01-13 13:44:30 -06:00
53c700.h [SCSI] 53c700: Allow setting burst length 2007-01-13 13:44:30 -06:00
53c700.scr
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
advansys.c
advansys.h
aha152x.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
aha152x.h
aha1542.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
aha1542.h
aha1740.c [SCSI] SCSI/aha1740: handle SCSI API errors 2006-11-15 16:38:58 -06:00
aha1740.h
aic7xxx_old.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
amiga7xx.c
amiga7xx.h
atari_dma_emul.c
atari_NCR5380.c
atari_scsi.c
atari_scsi.h
atp870u.c
atp870u.h
blz1230.c
blz2060.c
BusLogic.c Merge ../scsi-rc-fixes-2.6 2006-11-22 12:06:44 -06:00
BusLogic.h
bvme6000.c
bvme6000.h
ch.c
constants.c
cyberstorm.c
cyberstormII.c
dc395x.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
dc395x.h
dec_esp.c
dmx3191d.c
dpt_i2o.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
dpti.h
dtc.c
dtc.h
eata_generic.h
eata_pio.c [PATCH] irq updates: make eata_pio compile 2006-10-20 10:26:38 -07:00
eata_pio.h
eata.c
esp.c
esp.h
fastlane.c
fcal.c
fcal.h
fd_mcs.c [SCSI] minor bug fixes and cleanups 2006-11-15 16:41:27 -06:00
fdomain.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2006-10-25 20:22:55 -07:00
fdomain.h
FlashPoint.c
g_NCR5380_mmio.c
g_NCR5380.c
g_NCR5380.h
gdth_ioctl.h
gdth_kcompat.h
gdth_proc.c
gdth_proc.h
gdth.c [SCSI] gdth: Fix && typos 2006-11-10 09:59:49 +09:00
gdth.h
gvp11.c
gvp11.h
hosts.c [SCSI] export scsi-ml functions needed by tgt_scsi_lib and its LLDs 2006-11-25 13:08:56 -06:00
hptiop.c
hptiop.h
ibmmca.c
ibmmca.h
ide-scsi.c [PATCH] ide_scsi: allow it to be used for non CD only 2006-12-07 08:39:43 -08:00
imm.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
imm.h
in2000.c
in2000.h
initio.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
initio.h
ipr.c [SCSI] ipr: PCI error recovery fix 2007-01-27 09:26:23 -06:00
ipr.h [SCSI] ipr: Driver version 2.3.1 2007-01-27 09:26:36 -06:00
ips.c [SCSI] revert "[SCSI] ips soft lockup during reset/initialization" 2006-11-15 16:40:50 -06:00
ips.h [SCSI] ips: fix soft lockup during reset initialization 2006-11-15 16:43:30 -06:00
iscsi_tcp.c [SCSI] iscsi_tcp: fix xmittask oops 2006-11-10 09:41:48 +09:00
iscsi_tcp.h
jazz_esp.c
Kconfig [SCSI] SNI RM 53c710 driver 2007-01-13 13:49:58 -06:00
lasi700.c [SCSI] 53c700: Allow setting burst length 2007-01-13 13:44:30 -06:00
libiscsi.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
libsrp.c [SCSI] scsi tgt: SCSI RDMA Protocol library functions 2006-12-03 09:27:33 -06:00
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
mac_scsi.h
Makefile [SCSI] SNI RM 53c710 driver 2007-01-13 13:49:58 -06:00
mca_53c9x.c
megaraid.c [SCSI] megaraid: fix MMIO casts 2006-12-05 10:25:35 -06:00
megaraid.h [SCSI] megaraid: fix MMIO casts 2006-12-05 10:25:35 -06:00
mesh.c
mesh.h
mvme16x.c
mvme16x.h
mvme147.c
mvme147.h
ncr53c8xx.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2006-12-05 16:09:46 -08:00
ncr53c8xx.h Fix misc .c/.h comment typos 2006-11-30 05:24:39 +01:00
NCR53c406a.c [SCSI] minor bug fixes and cleanups 2006-11-15 16:41:27 -06:00
NCR53C9x.c
NCR53C9x.h
NCR5380.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
NCR5380.h WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
NCR_D700.c [SCSI] NCR_D700: fix compile error 2007-01-27 09:28:58 -06:00
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c
nsp32.h
oktagon_esp.c [PATCH] More work_struct induced breakage (s390) 2006-12-06 14:51:14 -08:00
oktagon_io.S
osst_detect.h
osst_options.h
osst.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
osst.h
pas16.c
pas16.h
pci2000.h
pluto.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
pluto.h
ppa.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
ppa.h
psi240i.c [SCSI] psi240i.c: fix an array overrun 2006-11-10 10:01:42 +09:00
psi240i.h [SCSI] Scsi_Cmnd conversion in psi240i driver 2006-10-25 15:12:38 -07:00
psi_chip.h
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c [SCSI] qla1280 bus reset typo 2006-10-25 15:14:09 -07:00
qla1280.h
qlogicfas408.c [SCSI] Scsi_Cmnd conversion in qlogicfas408 driver 2006-10-25 15:11:55 -07:00
qlogicfas408.h [SCSI] Scsi_Cmnd conversion in qlogicfas408 driver 2006-10-25 15:11:55 -07:00
qlogicfas.c
qlogicpti_asm.c [SPARC]: Fix some section mismatch warnings in sparc drivers. 2006-10-17 19:28:51 -07:00
qlogicpti.c [SPARC]: Fix some section mismatch warnings in sparc drivers. 2006-10-17 19:28:51 -07:00
qlogicpti.h
raid_class.c
script_asm.pl
scsi_debug.c [SCSI] scsi_debug: error processing 2007-01-13 13:52:37 -06:00
scsi_debug.h
scsi_devinfo.c
scsi_error.c [SCSI] use one-element sg list in scsi_send_eh_cmnd 2006-11-15 12:55:52 -06:00
scsi_ioctl.c
scsi_lib.c [SCSI] kill scsi_rety_command 2007-01-13 13:50:21 -06:00
scsi_logging.h
scsi_module.c
scsi_netlink.c
scsi_priv.h [SCSI] kill scsi_rety_command 2007-01-13 13:50:21 -06:00
scsi_proc.c
scsi_sas_internal.h
scsi_scan.c [SCSI] scsi_scan message cosmetic error 2007-01-13 13:55:56 -06:00
scsi_sysctl.c
scsi_sysfs.c WorkStruct: Pass the work_struct pointer instead of context data 2006-11-22 14:55:48 +00:00
scsi_tgt_if.c [SCSI] tgt: fix undefined flush_dcache_page() problem 2006-12-05 09:59:47 -06:00
scsi_tgt_lib.c [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
scsi_tgt_priv.h [SCSI] scsi tgt: scsi target lib functionality 2006-11-25 13:17:18 -06:00
scsi_transport_api.h
scsi_transport_fc.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
scsi_transport_iscsi.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
scsi_transport_sas.c [SCSI] libsas: Clean up discovery failure handler code 2007-01-27 10:05:15 -06:00
scsi_transport_spi.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
scsi_typedefs.h
scsi_wait_scan.c [SCSI] Add ability to scan scsi busses asynchronously 2006-10-11 13:44:25 -05:00
scsi.c [SCSI] kill scsi_rety_command 2007-01-13 13:50:21 -06:00
scsi.h
scsicam.c
sd.c [PATCH] struct path: convert scsi 2006-12-08 08:28:49 -08:00
seagate.c
sg.c [SCSI] sg: fix incorrect last scatg length 2006-11-09 14:28:01 +09:00
sgiwd93.c
sim710.c [SCSI] 53c700: Allow setting burst length 2007-01-13 13:44:30 -06:00
sni_53c710.c [SCSI] SNI RM 53c710 driver 2007-01-13 13:49:58 -06:00
sr_ioctl.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
sr_vendor.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
sr.c
sr.h
st_options.h
st.c [PATCH] struct path: convert scsi 2006-12-08 08:28:49 -08:00
st.h
stex.c [SCSI] stex: version update 2006-12-05 11:33:58 -06:00
sun3_NCR5380.c [PATCH] m68k trivial build fixes 2006-12-17 10:21:53 -08:00
sun3_scsi_vme.c [PATCH] Sun3 SCSI: Make sun3 scsi drivers compile/work again 2006-12-09 09:41:18 -08:00
sun3_scsi.c [PATCH] Sun3 SCSI: Make sun3 scsi drivers compile/work again 2006-12-09 09:41:18 -08:00
sun3_scsi.h [PATCH] Sun3 SCSI: Make sun3 scsi drivers compile/work again 2006-12-09 09:41:18 -08:00
sun3x_esp.c
sym53c416.c
sym53c416.h
t128.c
t128.h [SCSI] scsi: t128 scsi_cmnd convertion 2006-11-15 16:43:50 -06:00
tmscsim.c [SCSI] tmscsim: set max_sectors 2006-10-25 15:12:03 -07:00
tmscsim.h
u14-34f.c
ultrastor.c
ultrastor.h
wd33c93.c
wd33c93.h
wd7000.c
zalon.c