Commit 5a43b07a authored by Karan Tilak Kumar's avatar Karan Tilak Kumar Committed by Martin K. Petersen

scsi: fnic: Replace return codes in fnic_clean_pending_aborts()

fnic_clean_pending_aborts() was returning a non-zero value irrespective of
failure or success.  This caused the caller of this function to assume that
the device reset had failed, even though it would succeed in most cases. As
a consequence, a successful device reset would escalate to host reset.
Reviewed-by: default avatarSesidhar Baddela <sebaddel@cisco.com>
Tested-by: default avatarKaran Tilak Kumar <kartilak@cisco.com>
Signed-off-by: default avatarKaran Tilak Kumar <kartilak@cisco.com>
Link: https://lore.kernel.org/r/20230727193919.2519-1-kartilak@cisco.comSigned-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 175544ad
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
#define DRV_NAME "fnic" #define DRV_NAME "fnic"
#define DRV_DESCRIPTION "Cisco FCoE HBA Driver" #define DRV_DESCRIPTION "Cisco FCoE HBA Driver"
#define DRV_VERSION "1.6.0.54" #define DRV_VERSION "1.6.0.55"
#define PFX DRV_NAME ": " #define PFX DRV_NAME ": "
#define DFX DRV_NAME "%d: " #define DFX DRV_NAME "%d: "
......
...@@ -2139,7 +2139,7 @@ static int fnic_clean_pending_aborts(struct fnic *fnic, ...@@ -2139,7 +2139,7 @@ static int fnic_clean_pending_aborts(struct fnic *fnic,
bool new_sc) bool new_sc)
{ {
int ret = SUCCESS; int ret = 0;
struct fnic_pending_aborts_iter_data iter_data = { struct fnic_pending_aborts_iter_data iter_data = {
.fnic = fnic, .fnic = fnic,
.lun_dev = lr_sc->device, .lun_dev = lr_sc->device,
...@@ -2159,9 +2159,11 @@ static int fnic_clean_pending_aborts(struct fnic *fnic, ...@@ -2159,9 +2159,11 @@ static int fnic_clean_pending_aborts(struct fnic *fnic,
/* walk again to check, if IOs are still pending in fw */ /* walk again to check, if IOs are still pending in fw */
if (fnic_is_abts_pending(fnic, lr_sc)) if (fnic_is_abts_pending(fnic, lr_sc))
ret = FAILED; ret = 1;
clean_pending_aborts_end: clean_pending_aborts_end:
FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host,
"%s: exit status: %d\n", __func__, ret);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment