In case we are returning from i2c_hid_probe() through the 'err' or
err_mem_free labels, there is noone freeing the buffers allocated by
i2c_hid_alloc_buffers().
Signed-off-by: Jiri Kosina <[email protected]>
---
drivers/hid/i2c-hid/i2c-hid.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
index 11140bd..67ab5b7 100644
--- a/drivers/hid/i2c-hid/i2c-hid.c
+++ b/drivers/hid/i2c-hid/i2c-hid.c
@@ -892,6 +892,7 @@ err:
if (ihid->irq)
free_irq(ihid->irq, ihid);
+ i2c_hid_free_buffers(ihid);
kfree(ihid);
return ret;
}
--
Jiri Kosina
SUSE Labs
On Tue, Nov 20, 2012 at 5:09 PM, Jiri Kosina <[email protected]> wrote:
> In case we are returning from i2c_hid_probe() through the 'err' or
> err_mem_free labels, there is noone freeing the buffers allocated by
> i2c_hid_alloc_buffers().
ouch... thanks Jiri
I hope there are not so much others like this one :)
Reviewed-by: Benjamin Tissoires <[email protected]>
>
> Signed-off-by: Jiri Kosina <[email protected]>
> ---
> drivers/hid/i2c-hid/i2c-hid.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
> index 11140bd..67ab5b7 100644
> --- a/drivers/hid/i2c-hid/i2c-hid.c
> +++ b/drivers/hid/i2c-hid/i2c-hid.c
> @@ -892,6 +892,7 @@ err:
> if (ihid->irq)
> free_irq(ihid->irq, ihid);
>
> + i2c_hid_free_buffers(ihid);
> kfree(ihid);
> return ret;
> }
>
> --
> Jiri Kosina
> SUSE Labs