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

Attachment: 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

Reply via email to