diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/net/pppoe.c linux-2.5/drivers/net/pppoe.c
--- bk-linus/drivers/net/pppoe.c	2002-11-21 02:16:23.000000000 +0000
+++ linux-2.5/drivers/net/pppoe.c	2002-11-21 17:59:26.000000000 +0000
@@ -648,8 +648,10 @@ int pppoe_connect(struct socket *sock, s
 	release_sock(sk);
 	return error;
 err_put:
-	dev_put(po->pppoe_dev);
-	po->pppoe_dev = NULL;
+	if (po->pppoe_dev) {
+		dev_put(po->pppoe_dev);
+		po->pppoe_dev = NULL;
+	}
 	goto end;
 }
 
