linux/drivers/scsi/fnic
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
..
cq_desc.h
cq_enet_desc.h
cq_exch_desc.h
fcpio.h
fnic_attrs.c
fnic_fcs.c [SCSI] fcoe, fnic, libfc: modifies current code paths to use EM anchor list 2009-08-22 17:52:08 -05:00
fnic_io.h
fnic_isr.c [SCSI] fnic: Process all cq entries per ISR 2009-12-04 12:00:35 -06:00
fnic_main.c [SCSI] fnic: Allocate OS interrupt resources just before enabling interrupts 2009-12-04 12:00:52 -06:00
fnic_res.c
fnic_res.h [SCSI] fnic: Pad the unused bytes of CDB to 0s 2009-12-04 12:00:36 -06:00
fnic_scsi.c [SCSI] scsi_transport_fc: Introduce helper function for blocking scsi_eh 2009-12-04 12:00:52 -06:00
fnic.h [SCSI] fnic: Set max_cmd_len to driver supported CDB length 2009-12-04 12:00:35 -06:00
Makefile
rq_enet_desc.h
vnic_cq_copy.h
vnic_cq.c
vnic_cq.h
vnic_dev.c
vnic_dev.h
vnic_devcmd.h
vnic_intr.c
vnic_intr.h
vnic_nic.h
vnic_resource.h
vnic_rq.c
vnic_rq.h
vnic_scsi.h
vnic_stats.h
vnic_wq_copy.c
vnic_wq_copy.h
vnic_wq.c
vnic_wq.h
wq_enet_desc.h