--- /dev/null
+--- a/pppd/plugins/rp-pppoe/plugin.c
++++ b/pppd/plugins/rp-pppoe/plugin.c
+@@ -271,9 +271,8 @@ PPPOEDisconnectDevice(void)
+ sp.sa_addr.pppoe.sid = 0;
+ memcpy(sp.sa_addr.pppoe.dev, conn->ifName, IFNAMSIZ);
+ memcpy(sp.sa_addr.pppoe.remote, conn->peerEth, ETH_ALEN);
+- if (connect(conn->sessionSocket, (struct sockaddr *) &sp,
+- sizeof(struct sockaddr_pppox)) < 0)
+- error("Failed to disconnect PPPoE socket: %d %m", errno);
++ connect(conn->sessionSocket, (struct sockaddr *) &sp,
++ sizeof(struct sockaddr_pppox));
+ close(conn->sessionSocket);
+ sendPADT(conn, NULL);
+ if (conn->discoverySocket >= 0)