[PATCH c2] huawei: handle disconnection via ^NDISSTAT unsolicited message

Ben Chan benchan at chromium.org
Wed Sep 18 00:05:40 PDT 2013


>
>
> Still, isn't it possible to avoid the _is_connect_pending() and
> _is_disconnect_pending() calls? Whenever a NDISSTAT message arrives,the
> modem object can report the new connection status to the bearer, and
> then the bearer decide internally whether to ignore the reported status
> (e.g. if a connect or disconnect was pending). Check e.g.
> mm_broadband_bearer_hso_report_connection_status() in the option/hso
> plugin. I think that would simplify the logic as it would only be in one
> place (the bearer) as opposed to in two places (modem and bearer). At
> the end, the idea of ignoring NDISSTAT unsolicited messages during a
> connection/disconnection sequence is applicable to the actual
> connection/disconnection logic, which is implemented in the bearer.
>
>
Sorry, I didn't clarify the reason behind. On MU736, we observe premature
^NDISSTAT notifications before a network-initiated disconnection actually
completes. As a workaround, we need to (in a follow-up patch) defer the
invocation of mm_bearer_report_disconnection() by a few seconds upon
receiving a ^NDISSTAT message. That prevents any premature reconnection,
which may drive the modem into a bad state.

To handle both the client-initiated and network-initiated disconnection, we
still need to check whether ^NDISSTAT is received when a bearer is being
connected/disconnected.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/modemmanager-devel/attachments/20130918/079362b3/attachment-0001.html>


More information about the ModemManager-devel mailing list