When receiving roaming indicator update to 0 (no roaming) network
registration status should be updated with latest value of service
indicator.
---
 drivers/hfpmodem/network-registration.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/hfpmodem/network-registration.c 
b/drivers/hfpmodem/network-registration.c
index 4cb2b14..7d26424 100644
--- a/drivers/hfpmodem/network-registration.c
+++ b/drivers/hfpmodem/network-registration.c
@@ -130,10 +130,14 @@ static void ciev_notify(GAtResult *result, gpointer 
user_data)
        } else if (index == nd->cind_pos[HFP_INDICATOR_ROAM]) {
                nd->cind_val[HFP_INDICATOR_ROAM] = value;
 
-               if (value) {
+               if (value)
                        status = NETWORK_REGISTRATION_STATUS_ROAMING;
-                       ofono_netreg_status_notify(netreg, status, -1, -1, -1);
-               }
+               else if (nd->cind_val[HFP_INDICATOR_SERVICE])
+                       status = NETWORK_REGISTRATION_STATUS_REGISTERED;
+               else
+                       status = NETWORK_REGISTRATION_STATUS_NOT_REGISTERED;
+
+               ofono_netreg_status_notify(netreg, status, -1, -1, -1);
        } else if (index == nd->cind_pos[HFP_INDICATOR_SIGNAL]) {
                nd->cind_val[HFP_INDICATOR_SIGNAL] = value;
                ofono_netreg_strength_notify(netreg, value * 20);
-- 
1.7.1

_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono

Reply via email to