Subject: Re: [PATCH] net: davinci_emac: Replace devm_request_irq with request_irq

From: Mugunthan V N <[email-masked]>
Date: Thu, 6 Mar 2014 13:57:58 +0530

On Wednesday 05 March 2014 03:55 PM, Christian Riesch wrote:
> In commit 6892b41d9701283085b655c6086fb57a5d63fa47
>
> Author: Lad, Prabhakar <[email-masked]>
> Date:   Tue Jun 25 21:24:51 2013 +0530
> net: davinci: emac: Convert to devm_* api
>
> the call of request_irq is replaced by devm_request_irq and the call
> of free_irq is removed. But since interrupts are requested in
> emac_dev_open, doing ifconfig up/down on the board requests the
> interrupts again each time, causing devm_request_irq to fail.
>
> This patch reverts said commit partially: It changes the driver back
> to use request_irq instead of devm_request_irq, puts free_irq back in
> place, but keeps the remaining changes of the original patch.
>
> Reported-by: Jon Ringle <[email-masked]>
> Signed-off-by: Christian Riesch <[email-masked]>
> Cc: Lad, Prabhakar <[email-masked]>
> Cc: <[email-masked]>

Instead of moving back to request irq. can you move the devm interrupt
request code from open to probe so that the issue is fixed, IRQ will be
requested on module insert and IRQ will be free in module remove and
there will not be any failures in devm request irq while repeating
ifup/ifdown and also during module insert/remove.

Regards
Mugunthan V N