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

From: [email-masked] (Sourav)
Date: Thu, 4 Oct 2012 13:45:23 +0530

Hi Dmitry,
On Thursday 04 October 2012 12:54 PM, Dmitry Torokhov wrote:
> 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
>> <[email-masked]> wrote:
>>> Hi Sourav,
>>>
>>> On Mon, Oct 01, 2012 at 04:31:50PM +0530, Sourav Poddar wrote:
>>>> From: G, Manjunath Kondaiah <[email-masked]>
>>>>
>>>> +
>>>> +     /* 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.
Ok. Thanks for the clarification. Will update and post a new version.

~Sourav