Re: [PATCH] ipmi: fix ipmb_poll()'s return type

From: Corey Minyard
Date: Fri Nov 22 2019 - 14:40:47 EST


On Wed, Nov 20, 2019 at 01:07:41AM +0100, Luc Van Oostenryck wrote:
> ipmb_poll() is defined as returning 'unsigned int' but the
> .poll method is declared as returning '__poll_t', a bitwise type.
>
> Fix this by using the proper return type and using the EPOLL
> constants instead of the POLL ones, as required for __poll_t.

Copying the author for comment, but this looks ok with me.

-corey

>
> CC: Corey Minyard <minyard@xxxxxxx>
> CC: openipmi-developer@xxxxxxxxxxxxxxxxxxxxx
> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx>
> ---
> drivers/char/ipmi/ipmb_dev_int.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/char/ipmi/ipmb_dev_int.c b/drivers/char/ipmi/ipmb_dev_int.c
> index 285e0b8f9a97..2ea51147c3e8 100644
> --- a/drivers/char/ipmi/ipmb_dev_int.c
> +++ b/drivers/char/ipmi/ipmb_dev_int.c
> @@ -154,16 +154,16 @@ static ssize_t ipmb_write(struct file *file, const char __user *buf,
> return ret ? : count;
> }
>
> -static unsigned int ipmb_poll(struct file *file, poll_table *wait)
> +static __poll_t ipmb_poll(struct file *file, poll_table *wait)
> {
> struct ipmb_dev *ipmb_dev = to_ipmb_dev(file);
> - unsigned int mask = POLLOUT;
> + __poll_t mask = EPOLLOUT;
>
> mutex_lock(&ipmb_dev->file_mutex);
> poll_wait(file, &ipmb_dev->wait_queue, wait);
>
> if (atomic_read(&ipmb_dev->request_queue_len))
> - mask |= POLLIN;
> + mask |= EPOLLIN;
> mutex_unlock(&ipmb_dev->file_mutex);
>
> return mask;
> --
> 2.24.0
>