efct_hw_iotype_is_originator is returning a negative (-EIO) status which
doesn't make sense for a u8 function type.
Reviewing the code, the function only needs to return true/false, thus a
bool status is most appropriate.
Change the function return type and patch up the one callee as the bool
inverses the if check.
Fixes: 4df84e846624 ("scsi: elx: efct: Driver initialization routines")
Reported-by: Dan Carpenter <redacted>
Signed-off-by: James Smart <redacted>
---
drivers/scsi/elx/efct/efct_hw.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/elx/efct/efct_hw.c b/drivers/scsi/elx/efct/efct_hw.c
index ce4736c41564..0d86c2b81f46 100644
--- a/drivers/scsi/elx/efct/efct_hw.c
+++ b/drivers/scsi/elx/efct/efct_hw.c
@@ -338,14 +338,14 @@ efct_hw_init_free_io(struct efct_hw_io *io)
io->wq = NULL;
}
-static u8 efct_hw_iotype_is_originator(u16 io_type)
+static bool efct_hw_iotype_is_originator(u16 io_type)
{
switch (io_type) {
case EFCT_HW_FC_CT:
case EFCT_HW_ELS_REQ:
- return 0;
+ return true;
default:
- return -EIO;
+ return false;
}
}
@@ -408,7 +408,7 @@ efct_hw_wq_process_io(void *arg, u8 *cqe, int status)
* If we're not an originator IO, and XB is set, then issue
* abort for the IO from within the HW
*/
- if ((!efct_hw_iotype_is_originator(io->type)) &&
+ if (efct_hw_iotype_is_originator(io->type) &&
wcqe->flags & SLI4_WCQE_XB) {
int rc;
--
2.26.2