iface-modem-cdma: report state changes with subsystem ID
Different subsystem IDs used for CDMA1x and EVDO
This commit is contained in:
+19
-12
@@ -24,6 +24,9 @@
|
||||
#include "mm-modem-helpers.h"
|
||||
#include "mm-log.h"
|
||||
|
||||
|
||||
#define SUBSYSTEM_CDMA1X "cdma1x"
|
||||
#define SUBSYSTEM_EVDO "evdo"
|
||||
/*****************************************************************************/
|
||||
|
||||
void
|
||||
@@ -874,18 +877,20 @@ mm_iface_modem_cdma_update_evdo_registration_state (MMIfaceModemCdma *self,
|
||||
case MM_MODEM_CDMA_REGISTRATION_STATE_REGISTERED:
|
||||
case MM_MODEM_CDMA_REGISTRATION_STATE_HOME:
|
||||
case MM_MODEM_CDMA_REGISTRATION_STATE_ROAMING:
|
||||
mm_iface_modem_update_state (MM_IFACE_MODEM (self),
|
||||
MM_MODEM_STATE_REGISTERED,
|
||||
MM_MODEM_STATE_REASON_NONE);
|
||||
mm_iface_modem_update_subsystem_state (MM_IFACE_MODEM (self),
|
||||
SUBSYSTEM_EVDO,
|
||||
MM_MODEM_STATE_REGISTERED,
|
||||
MM_MODEM_STATE_REASON_NONE);
|
||||
/* TODO: report proper EVDO revision (0/A/B) */
|
||||
mm_iface_modem_update_access_tech (MM_IFACE_MODEM (self),
|
||||
MM_MODEM_ACCESS_TECHNOLOGY_EVDO0,
|
||||
ALL_CDMA_EVDO_ACCESS_TECHNOLOGIES_MASK);
|
||||
break;
|
||||
case MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN:
|
||||
mm_iface_modem_update_state (MM_IFACE_MODEM (self),
|
||||
MM_MODEM_STATE_DISABLED,
|
||||
MM_MODEM_STATE_REASON_NONE);
|
||||
mm_iface_modem_update_subsystem_state (MM_IFACE_MODEM (self),
|
||||
SUBSYSTEM_EVDO,
|
||||
MM_MODEM_STATE_ENABLED,
|
||||
MM_MODEM_STATE_REASON_NONE);
|
||||
mm_iface_modem_update_access_tech (MM_IFACE_MODEM (self),
|
||||
0,
|
||||
ALL_CDMA_EVDO_ACCESS_TECHNOLOGIES_MASK);
|
||||
@@ -921,9 +926,10 @@ mm_iface_modem_cdma_update_cdma1x_registration_state (MMIfaceModemCdma *self,
|
||||
case MM_MODEM_CDMA_REGISTRATION_STATE_HOME:
|
||||
case MM_MODEM_CDMA_REGISTRATION_STATE_ROAMING:
|
||||
mm_gdbus_modem_cdma_set_sid (skeleton, sid);
|
||||
mm_iface_modem_update_state (MM_IFACE_MODEM (self),
|
||||
MM_MODEM_STATE_REGISTERED,
|
||||
MM_MODEM_STATE_REASON_NONE);
|
||||
mm_iface_modem_update_subsystem_state (MM_IFACE_MODEM (self),
|
||||
SUBSYSTEM_CDMA1X,
|
||||
MM_MODEM_STATE_REGISTERED,
|
||||
MM_MODEM_STATE_REASON_NONE);
|
||||
mm_iface_modem_update_access_tech (MM_IFACE_MODEM (self),
|
||||
MM_MODEM_ACCESS_TECHNOLOGY_1XRTT,
|
||||
ALL_CDMA_CDMA1X_ACCESS_TECHNOLOGIES_MASK);
|
||||
@@ -931,9 +937,10 @@ mm_iface_modem_cdma_update_cdma1x_registration_state (MMIfaceModemCdma *self,
|
||||
case MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN:
|
||||
if (mm_gdbus_modem_cdma_get_sid (skeleton) != MM_MODEM_CDMA_SID_UNKNOWN)
|
||||
mm_gdbus_modem_cdma_set_sid (skeleton, MM_MODEM_CDMA_SID_UNKNOWN);
|
||||
mm_iface_modem_update_state (MM_IFACE_MODEM (self),
|
||||
MM_MODEM_STATE_DISABLED,
|
||||
MM_MODEM_STATE_REASON_NONE);
|
||||
mm_iface_modem_update_subsystem_state (MM_IFACE_MODEM (self),
|
||||
SUBSYSTEM_CDMA1X,
|
||||
MM_MODEM_STATE_ENABLED,
|
||||
MM_MODEM_STATE_REASON_NONE);
|
||||
mm_iface_modem_update_access_tech (MM_IFACE_MODEM (self),
|
||||
0,
|
||||
ALL_CDMA_CDMA1X_ACCESS_TECHNOLOGIES_MASK);
|
||||
|
||||
Reference in New Issue
Block a user