20 lines
448 B
Diff
20 lines
448 B
Diff
|
--- pppd/auth.c
|
||
|
+++ pppd/auth.c
|
||
|
@@ -546,6 +546,8 @@
|
||
|
int unit;
|
||
|
{
|
||
|
char *msg;
|
||
|
+ if (phase == PHASE_DISCONNECT) /* we are called via link_terminated, must be ignored */
|
||
|
+ return;
|
||
|
|
||
|
new_phase(PHASE_SERIALCONN);
|
||
|
|
||
|
@@ -658,6 +660,7 @@
|
||
|
the_channel->disconnect();
|
||
|
devfd = -1;
|
||
|
}
|
||
|
+ /* not only disconnect, cleanup should also be called to close the devices */
|
||
|
if (the_channel->cleanup)
|
||
|
(*the_channel->cleanup)();
|
||
|
|