diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c index b1ca223aa3808425cb0b435c65478b7fce85371f..7cadd4b5a0c0989c0c0baabfe2a676d243fe75aa 100644 --- a/drivers/infiniband/core/uverbs_main.c +++ b/drivers/infiniband/core/uverbs_main.c @@ -635,7 +635,7 @@ struct file *ib_uverbs_alloc_async_event_file(struct ib_uverbs_file *uverbs_file return filp; } -static int verify_command_mask(struct ib_device *ib_dev, __u32 command) +static bool verify_command_mask(struct ib_device *ib_dev, __u32 command) { u64 mask; @@ -645,9 +645,9 @@ static int verify_command_mask(struct ib_device *ib_dev, __u32 command) mask = ib_dev->uverbs_ex_cmd_mask; if (mask & ((u64)1 << command)) - return 0; + return true; - return -1; + return false; } static bool verify_command_idx(u32 command, bool extended) @@ -706,7 +706,7 @@ static ssize_t ib_uverbs_write(struct file *filp, const char __user *buf, goto out; } - if (verify_command_mask(ib_dev, command)) { + if (!verify_command_mask(ib_dev, command)) { ret = -EOPNOTSUPP; goto out; }