[PATCHv3 2/4] Input: keypad: Add smsc ece1099 keypad driver

Dmitry Torokhov dmitry.torokhov at gmail.com
Thu Oct 4 03:24:26 EDT 2012


On Wed, Oct 03, 2012 at 11:26:46AM +0530, Poddar, Sourav wrote:
> Hi Dmitry,
> 
> On Tue, Oct 2, 2012 at 11:48 AM, Dmitry Torokhov
> <dmitry.torokhov at gmail.com> wrote:
> > Hi Sourav,
> >
> > On Mon, Oct 01, 2012 at 04:31:50PM +0530, Sourav Poddar wrote:
> >> From: G, Manjunath Kondaiah <manjugk at ti.com>
> >>
> >> +
> >> +     /* Enable smsc keypad interrupts */
> >> +     ret = smsc_write(dev, SMSC_KP_INT_MASK, 0xff);
> >> +     if (ret < 0)
> >> +             goto err2;
> >> +
> >> +     return 0;
> >> +
> >> +err2:
> >> +     input_unregister_device(input);
> >> +err1:
> >> +     input_free_device(input);
> >
> > Double free.
> >
> I believe what you are trying to say here is that we dont really
> need a " input_unregister_device" (as also I checked in other keypad
> implementations) and do a "unregister_device" in the remove api ??

What I was trying to say is that if input device has been registered
then you need to call input_unregister_device() to unregister and free
it, otherwise you need to call input_free_device(), but not both.

Thanks.

-- 
Dmitry



More information about the linux-arm-kernel mailing list