[PATCH] floppy: add missing put_device()

sunran001@208suo.com posted 1 patch 2 years, 6 months ago
arch/sparc/include/asm/floppy_64.h | 1 +
1 file changed, 1 insertion(+)
[PATCH] floppy: add missing put_device()
Posted by sunran001@208suo.com 2 years, 6 months ago
The of_find_device_by_node() takes a reference to the underlying device
structure, we should release that reference.

Detected by coccinelle with the following ERROR:
./arch/sparc/include/asm/floppy_64.h:595:3-9: ERROR: missing put_device;
call of_find_device_by_node on line 589, but without a corresponding
object release within this function.

Signed-off-by: Ran Sun <sunran001@208suo.com>
---
  arch/sparc/include/asm/floppy_64.h | 1 +
  1 file changed, 1 insertion(+)

diff --git a/arch/sparc/include/asm/floppy_64.h 
b/arch/sparc/include/asm/floppy_64.h
index 070c8c1f5c8f..e74a4d4e6519 100644
--- a/arch/sparc/include/asm/floppy_64.h
+++ b/arch/sparc/include/asm/floppy_64.h
@@ -592,6 +592,7 @@ static unsigned long __init sun_floppy_init(void)

          state_prop = of_get_property(op->dev.of_node, "status", NULL);
          if (state_prop && !strncmp(state_prop, "disabled", 8))
+            put_device(&op->dev);
              return 0;

          FLOPPY_IRQ = op->archdata.irqs[0];
Re: [PATCH] floppy: add missing put_device()
Posted by Kjetil Oftedal 2 years, 6 months ago
On Tue, 18 Jul 2023 at 10:15, <sunran001@208suo.com> wrote:
>
> The of_find_device_by_node() takes a reference to the underlying device
> structure, we should release that reference.
>
> Detected by coccinelle with the following ERROR:
> ./arch/sparc/include/asm/floppy_64.h:595:3-9: ERROR: missing put_device;
> call of_find_device_by_node on line 589, but without a corresponding
> object release within this function.
>
> Signed-off-by: Ran Sun <sunran001@208suo.com>
> ---
>   arch/sparc/include/asm/floppy_64.h | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/arch/sparc/include/asm/floppy_64.h
> b/arch/sparc/include/asm/floppy_64.h
> index 070c8c1f5c8f..e74a4d4e6519 100644
> --- a/arch/sparc/include/asm/floppy_64.h
> +++ b/arch/sparc/include/asm/floppy_64.h
> @@ -592,6 +592,7 @@ static unsigned long __init sun_floppy_init(void)
>
>           state_prop = of_get_property(op->dev.of_node, "status", NULL);
>           if (state_prop && !strncmp(state_prop, "disabled", 8))
> +            put_device(&op->dev);

From the same domain as "Liubin" earlier, introducing the same kind of error
(Not adding curly braces)


>               return 0;
>
>           FLOPPY_IRQ = op->archdata.irqs[0];