linux/drivers/scsi
Abhijeet Joglekar 2e76f7670b [SCSI] fnic: Allocate OS interrupt resources just before enabling interrupts
The OS interrupt vectors were getting allocated before the interrupt
resources were mapped from hardware. For Legacy interrupts, since
they are shared with other devices, as soon as an interrupt is
registered with the OS, it can fire while the fnic isr resource is
still unmapped. This can cause crash because of access to unmapped resources.
For MSIX and MSI, since interrupts are not shared with other devices,
this problem didnt happen, because the interrupt is enabled as the last
step before returning from _probe. For Legacy however, since the
interrupt is shared, the handler can be called as soon as it is registered.

Solution is to register interrupt handlers with OS as last step before
enabling device interrupts.

Signed-off-by: Abhijeet Joglekar <abjoglek@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2009-12-04 12:00:52 -06:00
..
aacraid [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
aic7xxx trivial: fix typo in aic7xxx comment 2009-09-21 15:15:53 +02:00
aic7xxx_old
aic94xx dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07: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 Merge branch 'master' into devel 2009-03-28 20:30:18 +00:00
be2iscsi [SCSI] be2iscsi: Adding Ring Mode Wrb's V3 2009-12-04 12:00:39 -06:00
bfa [SCSI] bfa: fixed checkpatch errors for bfad files 2009-12-04 12:00:09 -06:00
bnx2i [SCSI] libiscsi: iscsi_session_setup to allow for private space 2009-10-02 14:01:39 -05:00
cxgb3i [SCSI] libiscsi: iscsi_session_setup to allow for private space 2009-10-02 14:01:39 -05:00
device_handler [SCSI] scsi_dh: Make alua hardware handler's activate() async 2009-12-04 12:00:48 -06:00
dpt trivial: fix typo milisecond/millisecond for documentation and source comments. 2009-06-12 18:01:46 +02:00
fcoe [SCSI] fcoe, libfc: fix an libfc issue with queue ramp down in libfc 2009-12-04 12:00:43 -06:00
fnic [SCSI] fnic: Allocate OS interrupt resources just before enabling interrupts 2009-12-04 12:00:52 -06:00
ibmvscsi [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
libfc [SCSI] libfc: add queue_depth ramp up 2009-12-04 12:00:44 -06:00
libsas [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
lpfc [SCSI] scsi_transport_fc: Introduce helper function for blocking scsi_eh 2009-12-04 12:00:52 -06:00
megaraid [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
mpt2sas [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
mvsas [SCSI] mvsas: Support Areca SAS/SATA HBA, ARC-1300/1320 2009-10-02 09:44:45 -05:00
osd [SCSI] Merge branch 'linus' 2009-06-12 10:02:03 -05:00
pcmcia [SCSI] nsp_cs: fix buf overflow 2009-08-22 17:52:22 -05:00
pm8001 [SCSI] pm8001: add SAS/SATA HBA driver 2009-12-04 12:00:40 -06:00
qla2xxx [SCSI] scsi_transport_fc: Introduce helper function for blocking scsi_eh 2009-12-04 12:00:52 -06:00
qla4xxx trivial: fix typo "to to" in multiple files 2009-09-21 15:14:55 +02:00
sym53c8xx_2 sym53c8xx: ratelimit parity errors 2009-06-21 11:12:17 -05:00
.gitignore
3w-9xxx.c [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
3w-9xxx.h [SCSI] 3w-9xxx: add power management support 2009-03-13 15:46:42 -05:00
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 [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
3w-xxxx.h [SCSI] 3w-xxxx: scsi_dma_unmap fix 2009-05-15 12:24:59 -04:00
53c700.c [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
53c700.h
53c700.scr
53c700_d.h_shipped
BusLogic.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
BusLogic.h [SCSI] BusLogic: make FlashPoint support x86-32 only 2008-04-07 12:15:44 -05:00
FlashPoint.c [SCSI] FlashPoint: fix off-by-one errors 2008-04-27 12:19:55 -05:00
Kconfig [SCSI] 3w-sas: Add new driver for LSI 3ware 9750 2009-12-04 12:00:51 -06:00
Makefile [SCSI] 3w-sas: Add new driver for LSI 3ware 9750 2009-12-04 12:00:51 -06:00
NCR53c406a.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
NCR5380.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
NCR5380.h
NCR_D700.c [SCSI] NCR_D700: fix IRQ handler return type 2009-05-23 15:44:09 -05:00
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
a100u2w.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
a100u2w.h
a2091.c [SCSI] a2091: make 2 functions static 2009-04-03 10:17:31 -05:00
a2091.h [SCSI] a2091: make 2 functions static 2009-04-03 10:17:31 -05:00
a3000.c [SCSI] a3000: make 2 functions static 2009-04-03 10:17:17 -05:00
a3000.h [SCSI] a3000: make 2 functions static 2009-04-03 10:17:17 -05:00
a4000t.c scsi: a4000 - Correct driver unregistration in case of failure 2009-04-22 20:39:06 +02:00
advansys.c [SCSI] advansys: use request_firmware 2009-04-03 09:25:23 -05:00
aha152x.c drivers/scsi: use nr_irqs 2008-10-16 16:52:06 +02:00
aha152x.h
aha1542.c [SCSI] aha1542: minor irq handler cleanups 2008-04-27 12:19:55 -05:00
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 Remove pointless casts from void pointers 2008-02-06 10:41:01 -08:00
atari_NCR5380.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
atari_scsi.c m68k: section mismatch fixes: Atari SCSI 2009-03-26 21:15:29 +01:00
atari_scsi.h
atp870u.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
atp870u.h
bvme6000_scsi.c scsi/m68k: Kill NCR_700_detect() warnings 2009-03-24 16:38:25 -07:00
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 [SCSI] Remove random noop unchecked_isa_dma users 2008-04-07 12:15:40 -05:00
dc395x.h
dmx3191d.c
dpt_i2o.c dpt_i2o: Fix up copy*user 2009-10-29 09:01:07 -07:00
dpti.h drivers/scsi/dpt_i2o.c: fix build on alpha 2008-05-08 10:46:56 -07:00
dtc.c
dtc.h
eata.c block: convert to pos and nr_sectors accessors 2009-05-11 09:50:54 +02:00
eata_generic.h
eata_pio.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
eata_pio.h
esp_scsi.c [SCSI] esp_scsi: Use DIV_ROUND_UP 2008-12-29 11:24:14 -06:00
esp_scsi.h sparc: Kill SBUS DVMA layer. 2008-08-29 02:13:10 -07:00
fd_mcs.c
fdomain.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
fdomain.h
g_NCR5380.c
g_NCR5380.h
g_NCR5380_mmio.c
gdth.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
gdth.h block: unify request timeout handling 2008-10-09 08:56:13 +02:00
gdth_ioctl.h
gdth_proc.c [SCSI] gdth: fix overlapping snprintf users 2009-06-09 10:31:46 -05:00
gdth_proc.h block: unify request timeout handling 2008-10-09 08:56:13 +02:00
gvp11.c [SCSI] a2091, gvp11: kill warn_unused_result warnings 2009-01-02 12:16:18 -06:00
gvp11.h
hosts.c fix race that can give duplicate host number 2009-06-21 10:52:42 -05:00
hptiop.c [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
hptiop.h [SCSI] hptiop: Add RR44xx adapter support 2009-10-02 09:45:22 -05:00
ibmmca.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
imm.c [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
imm.h
in2000.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
in2000.h
initio.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
initio.h [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
ipr.c [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
ipr.h [SCSI] ipr: fix buffer overflow 2009-08-22 17:52:12 -05:00
ips.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
ips.h removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
iscsi_tcp.c [SCSI] libiscsi: iscsi_session_setup to allow for private space 2009-10-02 14:01:39 -05:00
iscsi_tcp.h [SCSI] iscsi_tcp: hook iscsi_tcp into new libiscsi_tcp module 2008-12-29 11:24:22 -06:00
jazz_esp.c [SCSI] jazz_esp, sgiwd93, sni_53c710, sun3x_esp: fix platform driver hotplug/coldplug 2008-04-27 12:33:04 -05:00
lasi700.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
libiscsi.c [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
libiscsi_tcp.c libiscsi: don't run scsi eh if iscsi task is making progress 2009-06-21 10:52:39 -05:00
libsrp.c [SCSI] libsrp: fix memory leak in srp_ring_free() 2009-09-12 09:35:34 -05: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 for quadras with two esp chips 2008-12-29 11:24:19 -06:00
mac_scsi.c m68k: machw.h cleanup 2008-12-28 20:00:03 +01:00
mac_scsi.h
megaraid.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
megaraid.h trivial: typo (en|dis|avail|remove)bale -> (en|dis|avail|remove)able 2009-06-12 18:01:45 +02:00
mesh.c [SCSI] SCSI: remove dev->power.power_state from mesh driver 2008-06-05 09:23:44 -05:00
mesh.h
mvme16x_scsi.c scsi/m68k: Kill NCR_700_detect() warnings 2009-03-24 16:38:25 -07:00
mvme147.c [SCSI] wd33c93: fix up cut and paste error 2008-04-07 12:19:07 -05:00
mvme147.h
ncr53c8xx.c [SCSI] ncr53c8xx: div reaches -1 2009-06-15 10:09:30 -05:00
ncr53c8xx.h
nsp32.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
nsp32.h removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
nsp32_debug.c [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
nsp32_io.h
osst.c [SCSI] osst: replace scsi_execute_async with the block layer API 2009-03-12 12:58:10 -05:00
osst.h [SCSI] osst: replace scsi_execute_async with the block layer API 2009-03-12 12:58:10 -05:00
osst_detect.h
osst_options.h
pas16.c
pas16.h
pmcraid.c [SCSI] modify change_queue_depth to take in reason why it is being called 2009-12-04 12:00:41 -06:00
pmcraid.h headers: kref.h redux 2009-09-26 10:17:19 -07:00
ppa.c [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
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: error recovery rewrite 2009-05-20 17:21:13 -05:00
qla1280.h [SCSI] qla1280: error recovery rewrite 2009-05-20 17:21:13 -05:00
qlogicfas.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
qlogicfas408.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
qlogicfas408.h
qlogicpti.c [SCSI] qlogicpti: use request_firmware 2009-04-03 09:25:23 -05:00
qlogicpti.h qlogicpti: Convert to pure OF driver. 2008-08-29 02:14:46 -07:00
raid_class.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
script_asm.pl
scsi.c [SCSI] add queue_depth ramp up code 2009-12-04 12:00:44 -06:00
scsi.h
scsi_debug.c [SCSI] scsi_debug: fix Thin provisioning support 2009-12-04 12:00:49 -06:00
scsi_devinfo.c enhance device info matching for multiple tables 2009-06-21 10:52:45 -05:00
scsi_error.c [SCSI] add queue_depth ramp up code 2009-12-04 12:00:44 -06:00
scsi_ioctl.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
scsi_lib.c [SCSI] scsi_lib: fix potential NULL dereference 2009-12-04 12:00:51 -06:00
scsi_lib_dma.c
scsi_logging.h
scsi_module.c
scsi_netlink.c [SCSI] fix netlink kernel-doc 2008-10-23 11:42:17 -05:00
scsi_priv.h driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
scsi_proc.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
scsi_sas_internal.h SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00
scsi_scan.c [SCSI] add queue_depth ramp up code 2009-12-04 12:00:44 -06:00
scsi_sysctl.c
scsi_sysfs.c [SCSI] add queue_depth ramp up code 2009-12-04 12:00:44 -06:00
scsi_tgt_if.c scsi-tgt: BKL pushdown 2008-07-02 15:06:25 -06:00
scsi_tgt_lib.c block: cleanup rq->data_len usages 2009-05-11 09:50:55 +02:00
scsi_tgt_priv.h [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
scsi_transport_api.h
scsi_transport_fc.c [SCSI] scsi_transport_fc: Introduce helper function for blocking scsi_eh 2009-12-04 12:00:52 -06:00
scsi_transport_fc_internal.h
scsi_transport_iscsi.c [SCSI] iscsi class: Add logging to scsi_transport_iscsi.c 2009-09-05 09:42:45 -05:00
scsi_transport_sas.c [SCSI] scsi_transport_sas: fix incorrect duplicate setup of max_phys 2009-08-22 17:52:01 -05: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.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
scsi_transport_srp_internal.h
scsi_typedefs.h
scsi_wait_scan.c driver synchronization: make scsi_wait_scan more advanced 2009-04-21 19:40:00 -07:00
scsicam.c
sd.c [SCSI] sd: Support disks formatted with DIF Type 2 2009-10-02 09:47:04 -05:00
sd.h [SCSI] sd: Support disks formatted with DIF Type 2 2009-10-02 09:47:04 -05:00
sd_dif.c [SCSI] sd: Detach DIF from block integrity infrastructure 2009-10-02 09:46:39 -05:00
ses.c [SCSI] ses: update enclosure data on hot add 2009-08-22 17:52:14 -05: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 [SCSI] sgiwd93: Fix compilation warning 2009-01-02 10:58:41 -06:00
sim710.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
sni_53c710.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sr.c [SCSI] sr: consider the last written sector when determining media size 2009-10-02 09:45:46 -05:00
sr.h [SCSI] sr: fix test unit ready responses 2008-02-07 18:02:44 -06:00
sr_ioctl.c [SCSI] sr: report more accurate drive status after closing the tray. 2009-04-27 09:32:30 -05:00
sr_vendor.c drivers/scsi/sr_vendor.c: use bcd2bin 2008-10-20 08:52:41 -07:00
st.c [SCSI] st: fix possible memory use after free after MTSETBLK ioctl 2009-10-02 14:11:58 -05:00
st.h [SCSI] st: remove unused frp_sg_current 2009-01-02 12:02:25 -06:00
st_options.h [SCSI] st: add option to use SILI in variable block reads 2008-04-07 12:15:39 -05:00
stex.c [SCSI] stex: update version to 4.6.0000.4 2009-10-29 13:03:27 -04:00
sun3_NCR5380.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
sun3_scsi.c
sun3_scsi.h
sun3_scsi_vme.c [SCSI] sun3_scsi_vme: add MODULE_LICENSE 2008-04-16 09:28:11 -05:00
sun3x_esp.c [SCSI] sun3x_esp: Convert && to || 2008-10-23 11:42:19 -05:00
sun_esp.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sym53c416.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
sym53c416.h
t128.c
t128.h
tmscsim.c [SCSI] tmscsim: fix indentation and braces disagreement - add braces 2008-12-29 11:24:14 -06:00
tmscsim.h
u14-34f.c block: convert to pos and nr_sectors accessors 2009-05-11 09:50:54 +02:00
ultrastor.c scsi: fix integer as NULL pointer warnings 2008-04-28 17:31:13 -07:00
ultrastor.h
vmw_pvscsi.c [SCSI] vmw_pvscsi: SCSI driver for VMware's virtual HBA. 2009-12-04 12:00:49 -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 [SCSI] WD33C93: let platform stub override no_sync/fast/dma_mode 2008-04-07 12:19:01 -05:00
wd33c93.h
wd7000.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
zalon.c [SCSI] zalon: fix oops on attach failure 2009-06-25 11:37:23 -05:00
zorro7xx.c