diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/net/macsonic.c linux-2.5/drivers/net/macsonic.c
--- bk-linus/drivers/net/macsonic.c	2002-11-21 02:16:19.000000000 +0000
+++ linux-2.5/drivers/net/macsonic.c	2002-11-21 17:59:22.000000000 +0000
@@ -197,6 +197,7 @@ int __init macsonic_init(struct net_devi
 	if ((lp->rba = (char *)
 	     kmalloc(SONIC_NUM_RRS * SONIC_RBSIZE, GFP_KERNEL | GFP_DMA)) == NULL) {
 		printk(KERN_ERR "%s: couldn't allocate receive buffers\n", dev->name);
+		kfree(lp);
 		return -ENOMEM;
 	}
 
