* [patch for 2.6.27? 10/10] gianfar: free/iounmap memory after an error in mii bus initialization
@ 2008-09-22 21:10 akpm
2008-09-25 0:49 ` Jeff Garzik
0 siblings, 1 reply; 2+ messages in thread
From: akpm @ 2008-09-22 21:10 UTC (permalink / raw)
To: jeff; +Cc: netdev, akpm, afleming, danielm77
From: Andy Fleming <afleming@freescale.com>
Recent changes to MII bus initialization code added exit points which
didn't free or iounmap the bus before returning.
Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11372.
Signed-off-by: Andy Fleming <afleming@freescale.com>
Reported-by: Daniel Marjamki <danielm77@spray.se>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
drivers/net/gianfar_mii.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff -puN drivers/net/gianfar_mii.c~gianfar-free-iounmap-memory-after-an-error-in-mii-bus-initialization drivers/net/gianfar_mii.c
--- a/drivers/net/gianfar_mii.c~gianfar-free-iounmap-memory-after-an-error-in-mii-bus-initialization
+++ a/drivers/net/gianfar_mii.c
@@ -211,19 +211,21 @@ static int gfar_mdio_probe(struct device
gfar_write(&enet_regs->tbipa, 0);
for (i = PHY_MAX_ADDR; i > 0; i--) {
u32 phy_id;
- int r;
- r = get_phy_id(new_bus, i, &phy_id);
- if (r)
- return r;
+ err = get_phy_id(new_bus, i, &phy_id);
+ if (err)
+ goto bus_register_fail;
if (phy_id == 0xffffffff)
break;
}
/* The bus is full. We don't support using 31 PHYs, sorry */
- if (i == 0)
- return -EBUSY;
+ if (i == 0) {
+ err = -EBUSY;
+
+ goto bus_register_fail;
+ }
gfar_write(&enet_regs->tbipa, i);
_
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [patch for 2.6.27? 10/10] gianfar: free/iounmap memory after an error in mii bus initialization
2008-09-22 21:10 [patch for 2.6.27? 10/10] gianfar: free/iounmap memory after an error in mii bus initialization akpm
@ 2008-09-25 0:49 ` Jeff Garzik
0 siblings, 0 replies; 2+ messages in thread
From: Jeff Garzik @ 2008-09-25 0:49 UTC (permalink / raw)
To: akpm; +Cc: netdev, afleming, danielm77
akpm@linux-foundation.org wrote:
> From: Andy Fleming <afleming@freescale.com>
>
> Recent changes to MII bus initialization code added exit points which
> didn't free or iounmap the bus before returning.
>
> Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11372.
>
> Signed-off-by: Andy Fleming <afleming@freescale.com>
> Reported-by: Daniel Marjamki <danielm77@spray.se>
> Cc: Jeff Garzik <jeff@garzik.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>
> drivers/net/gianfar_mii.c | 14 ++++++++------
> 1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff -puN drivers/net/gianfar_mii.c~gianfar-free-iounmap-memory-after-an-error-in-mii-bus-initialization drivers/net/gianfar_mii.c
> --- a/drivers/net/gianfar_mii.c~gianfar-free-iounmap-memory-after-an-error-in-mii-bus-initialization
> +++ a/drivers/net/gianfar_mii.c
> @@ -211,19 +211,21 @@ static int gfar_mdio_probe(struct device
> gfar_write(&enet_regs->tbipa, 0);
> for (i = PHY_MAX_ADDR; i > 0; i--) {
> u32 phy_id;
> - int r;
>
> - r = get_phy_id(new_bus, i, &phy_id);
> - if (r)
> - return r;
> + err = get_phy_id(new_bus, i, &phy_id);
> + if (err)
> + goto bus_register_fail;
>
> if (phy_id == 0xffffffff)
> break;
> }
>
> /* The bus is full. We don't support using 31 PHYs, sorry */
> - if (i == 0)
> - return -EBUSY;
> + if (i == 0) {
> + err = -EBUSY;
> +
> + goto bus_register_fail;
> + }
>
> gfar_write(&enet_regs->tbipa, i);
applied
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-09-25 0:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-22 21:10 [patch for 2.6.27? 10/10] gianfar: free/iounmap memory after an error in mii bus initialization akpm
2008-09-25 0:49 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).