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; }