kernel_optimize_test/drivers/scsi/fnic
Hiral Shah db196935d9 fnic: Use the local variable instead of I/O flag to acquire io_req_lock in fnic_queuecommand() to avoid deadloack
We added changes in fnic driver patch 1.6.0.16 to acquire
io_req_lock in fnic_queuecommand() before issuing I/O so that io completion
is serialized. But when releasing the lock we check for the I/O flag and
this could be modified if IO abort occurs before I/O completion. In this case
we wont release the lock and causes deadlock in some scenerios. Using the
local variable to check the IO lock status will resolve the problem.

Fixes: 41df7b02db
Signed-off-by: Hiral Shah <hishah@cisco.com>
Signed-off-by: Sesidhar Baddela <sebaddel@cisco.com>
Signed-off-by: Anil Chintalapati <achintal@cisco.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley <JBottomley@Odin.com>
2015-08-18 08:11:23 -07:00
..
cq_desc.h
cq_enet_desc.h
cq_exch_desc.h
fcpio.h
fnic_attrs.c
fnic_debugfs.c x86/mm: Decouple <linux/vmalloc.h> from <asm/io.h> 2015-06-03 12:02:00 +02:00
fnic_fcs.c Fnic: For Standalone C series, "sending VLAN request" message seen even if the link is down 2014-11-20 09:10:51 +01:00
fnic_fip.h
fnic_io.h
fnic_isr.c fnic: Use pci_enable_msix_exact() instead of pci_enable_msix() 2014-07-29 08:38:23 -04:00
fnic_main.c scsi: remove ->change_queue_type method 2014-12-04 09:55:45 +01:00
fnic_res.c
fnic_res.h
fnic_scsi.c fnic: Use the local variable instead of I/O flag to acquire io_req_lock in fnic_queuecommand() to avoid deadloack 2015-08-18 08:11:23 -07:00
fnic_stats.h
fnic_trace.c x86/mm: Decouple <linux/vmalloc.h> from <asm/io.h> 2015-06-03 12:02:00 +02:00
fnic_trace.h
fnic.h fnic: Use the local variable instead of I/O flag to acquire io_req_lock in fnic_queuecommand() to avoid deadloack 2015-08-18 08:11:23 -07: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