1
linux/drivers/scsi
Robert Love e9ee2cf438 [SCSI] fcoe: Only rmmod fcoe.ko if there are no active connections
Currently we're gracefully tearing down each active connection
when fcoe.ko is removed. We shouldn't allow the user to destroy
connections by removing the module. We should force the user to
destroy each connection and then the module can be removed.

This patch makes it so a refrerence count on the module is taken
each time a fcoe_interface is created. The reference count
is dropped when the fcoe_interface is destroyed. This makes it
so that module_exit() doesn't get called unless all fcoe_interfaces
have been destroyed.

This patch leaves the removal of interfaces in the module_exit
routine so that if the user does a 'rmmod -f' we'll clean everything
up before removing the module.

The module_put line was put before the out_putdev goto line because
we should only be decrementing the reference count if a
fcoe_interface is actually destroyed. If we can't find the netdev
or the fcoe_interface then it's assumed that something else has
destroyed the fcoe_interface and it would have decremented the
reference count at that time.

Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2010-02-17 17:43:45 -06:00
..
aacraid [SCSI] aacraid: fix File System going into read-only mode 2010-01-17 12:16:17 -06:00
aic7xxx [SCSI] aic79xx: check for non-NULL scb in ahd_handle_nonpkt_busfree 2010-01-17 12:48:12 -06:00
aic7xxx_old
aic94xx tree-wide: fix misspelling of "definition" in comments 2009-12-04 23:41:47 +01:00
arcmsr [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
arm
be2iscsi [SCSI] be2iscsi: Adding support for BE3 2010-02-17 13:41:10 -06:00
bfa Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
bnx2i [SCSI] bnx2i: set change_queue_depth function 2010-02-17 13:40:14 -06:00
cxgb3i [SCSI] cxgb3i: check for setup netdev 2010-02-17 13:40:07 -06:00
device_handler [SCSI] scsi_dh_rdac: Add two new IBM devices to rdac_dev_list 2009-12-10 08:54:10 -06:00
dpt trivial: fix typo milisecond/millisecond for documentation and source comments. 2009-06-12 18:01:46 +02:00
fcoe [SCSI] fcoe: Only rmmod fcoe.ko if there are no active connections 2010-02-17 17:43:45 -06:00
fnic [SCSI] fnic: enable bsg pass-thru for fcping 2009-12-04 12:01:20 -06:00
ibmvscsi [SCSI] ibmvscsi: fix a typo in a source code comment 2010-01-18 10:48:06 -06:00
libfc [SCSI] libfc: Don't assume response request present. 2010-02-17 17:43:41 -06:00
libsas Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-12-09 19:42:25 -08:00
lpfc [SCSI] lpfc 8.3.9: Update Driver version to 8.3.9 2010-02-17 17:41:31 -06:00
megaraid [SCSI] megaraid_sas: version and documentation update 2010-02-17 13:13:00 -06:00
mpt2sas [SCSI] mpt2sas: Bump version 04.100.01.00 2010-02-08 18:19:45 -06:00
mvsas [SCSI] mvsas: add support for Adaptec ASC-1045/1405 SAS/SATA HBA 2009-12-10 08:54:12 -06:00
osd [SCSI] libosd: Fix blk_put_request locking again 2009-12-10 08:54:17 -06:00
pcmcia pcmcia: rework the irq_req_t typedef 2009-11-28 18:03:14 +01:00
pm8001 [SCSI] pm8001: Use kzalloc for allocating only one thing 2010-01-18 10:48:13 -06:00
qla2xxx [SCSI] qla2xxx: negative error return in qla2x00_change_queue_depth() 2010-02-17 13:15:39 -06:00
qla4xxx [SCSI] qla4xxx: fix compile warning due to invalid extHwConfig 2010-02-17 13:40:19 -06:00
sym53c8xx_2 drivers/scsi/sym53c8xx_2/sym_glue.c: rename skip_spaces() to sym_skip_spaces() 2009-12-15 08:53:32 -08:00
.gitignore
3w-9xxx.c [SCSI] 3w-9xxx fix bug in sgl loading 2009-12-12 16:45:23 -06:00
3w-9xxx.h
3w-sas.c [SCSI] 3w-sas: Add new driver for LSI 3ware 9750 2009-12-04 12:00:51 -06:00
3w-sas.h [SCSI] 3w-sas: Add new driver for LSI 3ware 9750 2009-12-04 12:00:51 -06:00
3w-xxxx.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
3w-xxxx.h
53c700_d.h_shipped
53c700.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
53c700.h
53c700.scr
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c tree-wide: fix misspelling of "definition" in comments 2009-12-04 23:41:47 +01:00
aha152x.c
aha152x.h
aha1542.c
aha1542.h
aha1740.c scsi: remove driver_data direct access of struct device 2009-06-15 21:30:27 -07:00
aha1740.h
aic7xxx_old.c
atari_NCR5380.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
atari_scsi.c
atari_scsi.h
atp870u.c
atp870u.h
BusLogic.c
BusLogic.h
bvme6000_scsi.c
ch.c [SCSI] ch: Check NULL for kmalloc() return 2009-08-22 17:52:22 -05:00
constants.c [SCSI] scsi: Add missing command definitions 2009-12-04 12:00:15 -06:00
dc395x.c tree-wide: fix typos "selct" + "slect" -> "select" 2009-11-09 09:40:56 +01:00
dc395x.h
dmx3191d.c tree-wide: fix misspelling of "definition" in comments 2009-12-04 23:41:47 +01:00
dpt_i2o.c dpt_i2o: Fix typo of EINVAL 2009-10-31 12:11:38 -07:00
dpti.h
dtc.c
dtc.h
eata_generic.h
eata_pio.c
eata_pio.h
eata.c [SCSI] eata: fix buffer overflow 2010-01-18 10:48:07 -06:00
esp_scsi.c [SCSI] mac_esp: fix PIO mode, take 2 2010-01-18 10:48:10 -06:00
esp_scsi.h
fd_mcs.c
fdomain.c
fdomain.h
FlashPoint.c [SCSI] FlashPoint: fix off by one tests 2010-01-18 10:48:14 -06:00
g_NCR5380_mmio.c
g_NCR5380.c
g_NCR5380.h
gdth_ioctl.h [SCSI] gdth: Convert to use regular kernel types. 2010-01-18 10:48:16 -06:00
gdth_proc.c [SCSI] gdth: Convert to use regular kernel types. 2010-01-18 10:48:16 -06:00
gdth_proc.h [SCSI] gdth: Convert to use regular kernel types. 2010-01-18 10:48:16 -06:00
gdth.c [SCSI] gdth: Convert to use regular kernel types. 2010-01-18 10:48:16 -06:00
gdth.h [SCSI] gdth: Convert to use regular kernel types. 2010-01-18 10:48:16 -06:00
gvp11.c
gvp11.h
hosts.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-12-09 19:42:25 -08:00
hpsa_cmd.h [SCSI] hpsa: Allow multiple command completions per interrupt. 2010-02-17 13:20:26 -06:00
hpsa.c [SCSI] hpsa: update driver version to 2.0.1-3 2010-02-17 13:24:14 -06:00
hpsa.h [SCSI] hpsa: use scan_start and scan_finished entry points for scanning 2010-02-17 13:22:16 -06:00
hptiop.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
hptiop.h [SCSI] hptiop: Add RR44xx adapter support 2009-10-02 09:45:22 -05:00
ibmmca.c [SCSI] ibmmca: fix buffer overflow 2010-01-18 10:48:08 -06:00
imm.c
imm.h
in2000.c
in2000.h
initio.c
initio.h
ipr.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-12-17 16:38:48 -08:00
ipr.h [SCSI] ipr: add workaround for MSI interrupts on P7 2009-11-06 11:09:27 -06:00
ips.c
ips.h
iscsi_tcp.c [SCSI] iscsi_tcp: wake xmit thread when killing session 2010-02-17 13:40:16 -06:00
iscsi_tcp.h
jazz_esp.c
Kconfig [SCSI] hpsa: add driver for HP Smart Array controllers. 2009-12-10 09:55:00 -06:00
lasi700.c
libiscsi_tcp.c kfifo: fix warn_unused_result 2009-12-22 14:17:56 -08:00
libiscsi.c [SCSI] libiscsi: reset cmd timer if cmds are making progress 2010-02-17 13:40:10 -06:00
libsrp.c [SCSI] libsrp: fix typo -- replace RDAM by RDMA 2010-01-18 10:48:06 -06:00
mac53c94.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
mac53c94.h
mac_esp.c [SCSI] mac_esp: fix PIO mode, take 2 2010-01-18 10:48:10 -06:00
mac_scsi.c
mac_scsi.h
Makefile [SCSI] hpsa: add driver for HP Smart Array controllers. 2009-12-10 09:55:00 -06:00
megaraid.c
megaraid.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
mesh.c
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
ncr53c8xx.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
ncr53c8xx.h
NCR53c406a.c
NCR5380.c
NCR5380.h
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c tree-wide: fix a very frequent spelling mistake 2009-11-09 09:40:54 +01:00
nsp32.h
osst_detect.h
osst_options.h
osst.c
osst.h
pas16.c
pas16.h
pmcraid.c [SCSI] pmcraid: fix to avoid twice scsi_dma_unmap for a command 2009-12-30 11:53:22 -06:00
pmcraid.h [SCSI] pmcraid: support SMI-S object model of storage pool 2009-12-10 08:54:12 -06:00
ppa.c
ppa.h
ps3rom.c ps3rom: Use ps3_system_bus_[gs]et_drvdata() instead of direct access 2009-06-16 14:15:46 +10:00
qla1280.c [SCSI] qla1280: Drop host_lock while requesting firmware 2010-02-08 18:35:14 -06:00
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicpti.c
qlogicpti.h [SCSI] qlogicpti: add missing parentheses 2009-12-04 12:01:28 -06:00
raid_class.c
script_asm.pl
scsi_debug.c [SCSI] scsi_debug: fix Thin provisioning support 2009-12-04 12:00:49 -06:00
scsi_devinfo.c [SCSI] fix func names in kernel-doc 2009-12-04 12:01:48 -06:00
scsi_error.c [SCSI] add queue_depth ramp up code 2009-12-04 12:00:44 -06:00
scsi_ioctl.c [SCSI] add scsi target reset support to scsi ioctl 2009-12-04 12:01:33 -06:00
scsi_lib_dma.c [SCSI] scsi_lib_dma: fix bug with dma maps on nested scsi objects 2009-12-04 12:01:30 -06:00
scsi_lib.c [SCSI] skip sense logging for some ATA PASS-THROUGH cdbs 2010-01-18 10:48:16 -06:00
scsi_logging.h
scsi_module.c
scsi_netlink.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
scsi_priv.h driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
scsi_proc.c
scsi_sas_internal.h [SCSI] scsi_transport_sas: add support for transport layer retries (TLR) 2010-02-08 17:15:19 -06:00
scsi_scan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-12-09 19:42:25 -08:00
scsi_sysctl.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
scsi_sysfs.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-12-09 19:42:25 -08:00
scsi_tgt_if.c
scsi_tgt_lib.c
scsi_tgt_priv.h
scsi_transport_api.h
scsi_transport_fc_internal.h
scsi_transport_fc.c [SCSI] scsi_transport_fc: Remove capping from dev_loss_tmo 2010-01-18 10:48:09 -06:00
scsi_transport_iscsi.c [SCSI] iscsi class: modify handling of replacement timeout 2009-12-04 12:01:37 -06:00
scsi_transport_sas.c [SCSI] scsi_transport_sas: add support for transport layer retries (TLR) 2010-02-08 17:15:19 -06:00
scsi_transport_spi.c scsi_transport_spi: Blacklist Ultrium-3 tape for IU transfers 2009-06-21 10:52:46 -05:00
scsi_transport_srp_internal.h
scsi_transport_srp.c
scsi_typedefs.h
scsi_wait_scan.c
scsi.c [SCSI] eliminate potential kmalloc failure in scsi_get_vpd_page() 2010-01-18 10:48:05 -06:00
scsi.h
scsicam.c
sd_dif.c [SCSI] sd: Return correct error code for DIF 2009-11-26 08:54:46 -06:00
sd.c [SCSI] sd: Combine DIF/DIX error handling 2010-02-08 18:30:39 -06:00
sd.h [SCSI] sd: WRITE SAME(16) / UNMAP support 2009-12-10 08:54:15 -06:00
ses.c [SCSI] eliminate potential kmalloc failure in scsi_get_vpd_page() 2010-01-18 10:48:05 -06:00
sg.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2009-10-11 11:12:33 -07:00
sgiwd93.c
sim710.c
sni_53c710.c
sr_ioctl.c
sr_vendor.c
sr.c [SCSI] sr: consider the last written sector when determining media size 2009-10-02 09:45:46 -05:00
sr.h
st_options.h
st.c [SCSI] st: fix mdata->page_order handling 2009-12-10 08:54:13 -06:00
st.h [SCSI] st: fix mdata->page_order handling 2009-12-10 08:54:13 -06:00
stex.c [SCSI] stex: fix scan of nonexistent lun 2010-01-04 11:39:41 -06:00
sun3_NCR5380.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
sun3_scsi_vme.c
sun3_scsi.c
sun3_scsi.h
sun3x_esp.c
sun_esp.c
sym53c416.c
sym53c416.h
t128.c
t128.h
tmscsim.c
tmscsim.h
u14-34f.c [SCSI] u14-34f: fix buffer overflow 2010-01-18 10:48:07 -06:00
ultrastor.c
ultrastor.h
vmw_pvscsi.c [SCSI] vmw_pvscsi: fix signedness warning with newer compilers 2010-02-08 18:31:28 -06:00
vmw_pvscsi.h [SCSI] vmw_pvscsi: SCSI driver for VMware's virtual HBA. 2009-12-04 12:00:49 -06:00
wd33c93.c
wd33c93.h
wd7000.c tree-wide: fix misspelling of "definition" in comments 2009-12-04 23:41:47 +01:00
zalon.c [SCSI] zalon: fix oops on attach failure 2009-06-25 11:37:23 -05:00
zorro7xx.c