net: davinci_emac: Replace devm_request_irq with request_irq
authorChristian Riesch <christian.riesch@omicron.at>
Mon, 24 Mar 2014 12:46:26 +0000 (13:46 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Mar 2014 19:32:03 +0000 (15:32 -0400)
commit33b7107f59a61236d94ecd6b45e20283cd5abcc8
tree26aec0e59cfad25d27c772f8191bf75c039c67c0
parentc27f0872a3448c46e561e226b5b97f77187b06d2
net: davinci_emac: Replace devm_request_irq with request_irq

In commit 6892b41d9701283085b655c6086fb57a5d63fa47

Author: Lad, Prabhakar <prabhakar.csengg@gmail.com>
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. The
interface is dead until the device is rebooted.

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 <jon@ringle.org>
Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/davinci_emac.c