Good day all

We are running ofono 1.29 with a Telit HE910 modem connected via HSIC (USB).  
When I suspend the kernel and wake again the following events happen:
gatio.c - read_watcher_destroy_notify
gatchat.c - io_disconnect
                   - chat_cleanup
                   - in chat_cleanup chat->command_queue is freed and set to 
NULL
Then (I haven't traced the root of this one)
drivers/atmodem/gprs-context.c - at_gprs_activate_primary()
gatchat.c - g_at_chat_send()
                In here it fails because command_queue is null

It then continues forever to try and call at_gprs_activate_primary().

I did not trace everything into glib, but I'm assuming that when going to sleep 
and then waking removes and then re-adds the ttyACM's for the modem, which 
causes the destroy notify.

There are two possible ways to fix the problem.  Fix it in ofono to recreate 
the command_queue before actually calling at_gprs_activate_primary (which in 
the long term should probably be the best fix) or try and prevent - on a driver 
level - to not remove the ttyACM's between sleep and resume.  The latter would 
then not kick of the destroy notify.

Our product would be receiving data calls, so I would like to wake from sleep 
and then read the packets on the connection and answer the call.  What is the 
best solution in the group's opinion?

Kind regards
Christo


Important Notice:

This e-mail and its contents are subject to the Nanoteq (Pty) Ltd e-mail legal 
notice available at:
http://www.nanoteq.com/AboutUs/EmailDisclaimer.aspx
_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to