On Wednesday, July 25, 2012 9:05 AM, Dmitry Torokhov wrote:
> On Wed, Jul 25, 2012 at 09:43:47AM +0200, Daniel Mack wrote:
>> @@ -263,12 +243,7 @@ exit_free_mem:
>> static int __devexit rotary_encoder_remove(struct platform_device *pdev)
>> {
>> struct rotary_encoder *encoder = platform_get_drvdata(pdev);
>> - struct rotary_encoder_platform_data *pdata = pdev->dev.platform_data;
>>
>> - free_irq(encoder->irq_a, encoder);
>> - free_irq(encoder->irq_b, encoder);
>> - gpio_free(pdata->gpio_a);
>> - gpio_free(pdata->gpio_b);
>> input_unregister_device(encoder->input);
>
> Another botched devm_ conversion. *sigh*
>
> Input device gone, IRQ arrives, kernel goes oops, machine hangs hard.
>
> Please, do not use devm_ interfaces unless... Actually, just do not use
> nor suggest devm_interfaces until all resources are devm-ized. Mixing 2
> styles of releasing resources leads to trouble.
Oops.. Sorry about that. I didn't think about the interaction with
input_unregister_device.
Regards,
Hartley
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html