From: Vasily Averin Date: Mon, 28 Aug 2006 21:56:19 +0000 (-0700) Subject: e1000: IRQ resources cleanup X-Git-Tag: upstream/snapshot3+hdmi~38325^2~64^2~22 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=401a552b8b318d594fc44d36e3da13ad475a41f7;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git e1000: IRQ resources cleanup irq leak was found in 2.6.18-rc4 and e1000 7.2.7 from sourceforge: if e1000_up fails in e1000_open() we do not free allocated irq Signed-off-by: Vasily Averin Signed-off-by: Andrew Morton Signed-off-by: Auke Kok --- diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 610a0cd..354d778 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c @@ -1207,7 +1207,7 @@ e1000_open(struct net_device *netdev) err = e1000_request_irq(adapter); if (err) - goto err_up; + goto err_req_irq; e1000_power_up_phy(adapter); @@ -1228,6 +1228,9 @@ e1000_open(struct net_device *netdev) return E1000_SUCCESS; err_up: + e1000_power_down_phy(adapter); + e1000_free_irq(adapter); +err_req_irq: e1000_free_all_rx_resources(adapter); err_setup_rx: e1000_free_all_tx_resources(adapter);