@@ -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;
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 <dan.carpenter@oracle.com> Signed-off-by: James Smart <jsmart2021@gmail.com> --- drivers/scsi/elx/efct/efct_hw.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)