2019-11-20 00:12:15

by Luc Van Oostenryck

[permalink] [raw]
Subject: [PATCH] ipmi: fix ipmb_poll()'s return type

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.

CC: Corey Minyard <[email protected]>
CC: [email protected]
CC: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Luc Van Oostenryck <[email protected]>
---
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



2019-11-22 19:42:17

by Corey Minyard

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

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 <[email protected]>
> CC: [email protected]
> CC: Greg Kroah-Hartman <[email protected]>
> Signed-off-by: Luc Van Oostenryck <[email protected]>
> ---
> 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
>

2019-11-22 19:45:32

by Asmaa Mnebhi

[permalink] [raw]
Subject: RE: [PATCH] ipmi: fix ipmb_poll()'s return type

Reviewed-by: Asmaa Mnebhi <[email protected]>

-----Original Message-----
From: Corey Minyard <[email protected]> On Behalf Of Corey Minyard
Sent: Friday, November 22, 2019 2:41 PM
To: Luc Van Oostenryck <[email protected]>
Cc: [email protected]; [email protected]; Greg Kroah-Hartman <[email protected]>; Asmaa Mnebhi <[email protected]>
Subject: Re: [PATCH] ipmi: fix ipmb_poll()'s return type

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 <[email protected]>
> CC: [email protected]
> CC: Greg Kroah-Hartman <[email protected]>
> Signed-off-by: Luc Van Oostenryck <[email protected]>
> ---
> 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
>