Re: [PATCH 08/11] mfd: ezx-pcap: use devm_request_irq() anddevm_kzalloc()

From: Dmitry Torokhov
Date: Wed Feb 20 2013 - 02:33:45 EST


On Wed, Feb 20, 2013 at 03:13:06PM +0900, Jingoo Han wrote:
> Use devm_request_irq() and devm_kzalloc() to make cleanup paths
> more simple.
>
> Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx>
> ---
> drivers/mfd/ezx-pcap.c | 16 +++++-----------
> 1 files changed, 5 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/mfd/ezx-pcap.c b/drivers/mfd/ezx-pcap.c
> index b7a61f0..8dea3a9 100644
> --- a/drivers/mfd/ezx-pcap.c
> +++ b/drivers/mfd/ezx-pcap.c
> @@ -403,7 +403,6 @@ static int ezx_pcap_remove(struct spi_device *spi)
> /* cleanup ADC */
> adc_irq = pcap_to_irq(pcap, (pdata->config & PCAP_SECOND_PORT) ?
> PCAP_IRQ_ADCDONE2 : PCAP_IRQ_ADCDONE);
> - free_irq(adc_irq, pcap);
> mutex_lock(&pcap->adc_mutex);
> for (i = 0; i < PCAP_ADC_MAXQ; i++)
> kfree(pcap->adc_queue[i]);
> @@ -415,8 +414,6 @@ static int ezx_pcap_remove(struct spi_device *spi)
>
> destroy_workqueue(pcap->workqueue);
>
> - kfree(pcap);
> -

I am pretty sure this conversion is wrong as well. Pretty much
work/workqueue and devm_request_irq() do not mix.

Thanks.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/