On Thu, 2019-06-13 at 18:23 +0200, Alfonso Sánchez-Beato via networkmanager-list wrote: > pppd restores the previous settings for the serial port it uses right > before exiting. It is especially important to do so because otherwise > ModemManager is not able to recover the port as it can receive a > hangup > event from the port due to CLOCAL not being restored. However, there > is > currently a race condition that produces this issue. This is because > when PHASE_DEAD is notified, pppd still has not restored the port > settings - it does that a bit later, in the die() function. > > This patch delays notifying PHASE_DEAD until when the exitnotify() > hook > is called by pppd: when this happens the port settings have already > been > restored. > > There were previously efforts to fix this in commit fe090c3, so > PHASE_DEAD was used instead of PHASE_DISCONNECT to notify MM that the > port was disconnected, but that still early to ensure that the port > settings are restored. > > The MM traces seen when the bug is triggered are: > > ModemManager[2158]: <warn> (ttyACM1): could not re-acquire serial > port lock: (5) Input/output error > ModemManager[2158]: <warn> Couldn't load Operator Code: 'Cannot run > sequence: 'Could not open serial device ttyACM1: it has been forced > close' > --- > src/ppp/nm-pppd-plugin.c | 21 ++++++++++++++++++--- > 1 file changed, 18 insertions(+), 3 deletions(-) >
Hi, merged to master as https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=a251712a729f676c9c2d38e469e4f88e250229ba thanks for the patch!! Thomas
signature.asc
Description: This is a digitally signed message part
_______________________________________________ networkmanager-list mailing list networkmanager-list@gnome.org https://mail.gnome.org/mailman/listinfo/networkmanager-list