Re: [PATCH v2] macintosh: macio_asic: fix resource_size.cocci warnings

From: Uwe Kleine-König
Date: Mon Apr 25 2022 - 13:22:28 EST


On Thu, Apr 21, 2022 at 07:18:07AM -0700, Yihao Han wrote:
> drivers/macintosh/macio_asic.c:219:26-29: WARNING:Suspicious code. resource_size is maybe missing with res
> drivers/macintosh/macio_asic.c:221:26-29: WARNING:Suspicious code. resource_size is maybe missing with res
>
> Use resource_size function on resource object instead of
> explicit computation.
>
> Generated by: scripts/coccinelle/api/resource_size.cocci
>
> Signed-off-by: Yihao Han <hanyihao@xxxxxxxx>
> ---
> v2: drop parenthesis around resource_size(res) and edit commit message
> ---
> drivers/macintosh/macio_asic.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/macintosh/macio_asic.c b/drivers/macintosh/macio_asic.c
> index 1943a007e2d5..260fccb3863e 100644
> --- a/drivers/macintosh/macio_asic.c
> +++ b/drivers/macintosh/macio_asic.c
> @@ -216,9 +216,9 @@ static int macio_resource_quirks(struct device_node *np, struct resource *res,
> /* Some older IDE resources have bogus sizes */
> if (of_node_name_eq(np, "IDE") || of_node_name_eq(np, "ATA") ||
> of_node_is_type(np, "ide") || of_node_is_type(np, "ata")) {
> - if (index == 0 && (res->end - res->start) > 0xfff)
> + if (index == 0 && resource_size(res) > 0xfff)

Michael Ellerman noted in the v1 thread, that this is wrong as
resource_size evaluates to end - start + 1. So this has to be

if (index == 0 && resource_size(res) > 0x1000)

to be equivalent.

> res->end = res->start + 0xfff;
> - if (index == 1 && (res->end - res->start) > 0xff)
> + if (index == 1 && resource_size(res) > 0xff)

Similar here.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |

Attachment: signature.asc
Description: PGP signature