linux/drivers/scsi/qedf
Chad Dupuis adf4884252 scsi: qedf: Release RRQ reference correctly when RRQ command times out
When an RRQ request times out the reference is not getting decremented
correctly as there are still ELS commands leftover when we flush any
pending I/Os during offload:

[  281.788553] [0000:21:00.3]:[qedf_cmd_timeout:58]:4: ELS timeout, xid=0x96a.
...
[  281.788553] [0000:21:00.3]:[qedf_cmd_timeout:58]:4: ELS timeout, xid=0x96a.
[  281.788772] [0000:21:00.3]:[qedf_rrq_compl:182]:4: Entered.
[  281.788774] [0000:21:00.3]:[qedf_rrq_compl:200]:4: rrq_compl: orig io = ffffc90004c556f8, orig xid = 0x81b, rrq_xid = 0x96a, refcount=1
...
[  331.448032] [0000:21:00.3]:[qedf_flush_els_req:1512]:4: Flushing ELS request xid=0x96a refcount=2.

The fix is to call kref_put on the rrq_req in case of timeout as the
timeout handler will call rrq_compl directly vs. a normal completion
where it is call from els_compl.

Signed-off-by: Chad Dupuis <chad.dupuis@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2018-05-08 00:57:10 -04:00
..
drv_fcoe_fw_funcs.c qed*: Utilize FW 8.33.1.0 2018-01-02 13:59:16 -05:00
drv_fcoe_fw_funcs.h qed*: HSI renaming for different types of HW 2018-01-02 13:59:15 -05:00
drv_scsi_fw_funcs.c scsi: qedf: Update copyright to 2017. 2017-06-12 20:48:05 -04:00
drv_scsi_fw_funcs.h scsi: qedf: Update copyright to 2017. 2017-06-12 20:48:05 -04:00
Kconfig
Makefile qed*: Utilize Firmware 8.15.3.0 2017-03-13 15:33:09 -07:00
qedf_attr.c scsi: qedf: Add fka_period SCSI host attribute to show fip keep alive period. 2017-06-12 20:48:06 -04:00
qedf_dbg.c scsi: qedf: use correct strncpy() size 2018-02-13 21:37:02 -05:00
qedf_dbg.h scsi: qedf: fix LTO-enabled build 2018-02-13 21:37:01 -05:00
qedf_debugfs.c scsi: qedf: fix LTO-enabled build 2018-02-13 21:37:01 -05:00
qedf_els.c scsi: qedf: Release RRQ reference correctly when RRQ command times out 2018-05-08 00:57:10 -04:00
qedf_fip.c scsi: qedf: Fix VLAN display when printing sent FIP frames 2018-05-08 00:57:10 -04:00
qedf_hsi.h qed*: Utilize FW 8.33.1.0 2018-01-02 13:59:16 -05:00
qedf_io.c scsi: qedf: Add check for offload before flushing I/Os for target 2018-05-08 00:57:10 -04:00
qedf_main.c scsi: qedf: Honor priority from DCBX FCoE App tag 2018-05-08 00:57:10 -04:00
qedf_version.h qed*: Advance drivers' version to 8.33.0.20 2018-01-02 13:59:16 -05:00
qedf.h scsi: qedf: Honor priority from DCBX FCoE App tag 2018-05-08 00:57:10 -04:00