X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Fplugins%2Frp-pppoe%2Fplugin.c;fp=pppd%2Fplugins%2Frp-pppoe%2Fplugin.c;h=c89be94250bc660203beb0a163776fddbb5d074b;hp=90fb8089ad8f69590fe196cd9e9f49787809e574;hb=84684243d651f55f6df69d2a6707b52fbbe62bb9;hpb=cd2c14f998c57bbe6a01dc5854f2763c0d7f31fb diff --git a/pppd/plugins/rp-pppoe/plugin.c b/pppd/plugins/rp-pppoe/plugin.c index 90fb808..c89be94 100644 --- a/pppd/plugins/rp-pppoe/plugin.c +++ b/pppd/plugins/rp-pppoe/plugin.c @@ -270,7 +270,7 @@ PPPOEDisconnectDevice(void) 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) + sizeof(struct sockaddr_pppox)) < 0 && errno != EALREADY) error("Failed to disconnect PPPoE socket: %d %m", errno); close(conn->sessionSocket); if (conn->discoverySocket >= 0) {