base-bearer: report connection error on network initiated disconnections
By default, fallback to "unknown" mobile equipment error when the modem gets disconnected by the network and we don't have any way to know a more detailed reason.
This commit is contained in:
@@ -777,8 +777,9 @@ disconnect_3gpp (MMBroadbandBearer *_self,
|
||||
/*****************************************************************************/
|
||||
|
||||
static void
|
||||
report_connection_status (MMBaseBearer *bearer,
|
||||
MMBearerConnectionStatus status)
|
||||
report_connection_status (MMBaseBearer *bearer,
|
||||
MMBearerConnectionStatus status,
|
||||
const GError *connection_error)
|
||||
{
|
||||
MMBroadbandBearerHuawei *self = MM_BROADBAND_BEARER_HUAWEI (bearer);
|
||||
|
||||
@@ -801,7 +802,8 @@ report_connection_status (MMBaseBearer *bearer,
|
||||
/* Report disconnected right away */
|
||||
MM_BASE_BEARER_CLASS (mm_broadband_bearer_huawei_parent_class)->report_connection_status (
|
||||
bearer,
|
||||
MM_BEARER_CONNECTION_STATUS_DISCONNECTED);
|
||||
MM_BEARER_CONNECTION_STATUS_DISCONNECTED,
|
||||
NULL);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
@@ -700,7 +700,8 @@ dial_3gpp (MMBroadbandBearer *_self,
|
||||
|
||||
static void
|
||||
report_connection_status (MMBaseBearer *_self,
|
||||
MMBearerConnectionStatus status)
|
||||
MMBearerConnectionStatus status,
|
||||
const GError *connection_error)
|
||||
{
|
||||
MMBroadbandBearerIcera *self = MM_BROADBAND_BEARER_ICERA (_self);
|
||||
|
||||
@@ -729,7 +730,8 @@ report_connection_status (MMBaseBearer *_self,
|
||||
* disconnected. Make sure we only pass 'DISCONNECTED' to the parent */
|
||||
MM_BASE_BEARER_CLASS (mm_broadband_bearer_icera_parent_class)->report_connection_status (
|
||||
_self,
|
||||
MM_BEARER_CONNECTION_STATUS_DISCONNECTED);
|
||||
MM_BEARER_CONNECTION_STATUS_DISCONNECTED,
|
||||
connection_error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -799,7 +799,8 @@ disconnect_3gpp (MMBroadbandBearer *_self,
|
||||
|
||||
static void
|
||||
report_connection_status (MMBaseBearer *_self,
|
||||
MMBearerConnectionStatus status)
|
||||
MMBearerConnectionStatus status,
|
||||
const GError *connection_error)
|
||||
{
|
||||
MMBroadbandBearerMbm *self = MM_BROADBAND_BEARER_MBM (_self);
|
||||
|
||||
@@ -829,7 +830,8 @@ report_connection_status (MMBaseBearer *_self,
|
||||
* disconnected. Make sure we only pass 'DISCONNECTED' to the parent */
|
||||
MM_BASE_BEARER_CLASS (mm_broadband_bearer_mbm_parent_class)->report_connection_status (
|
||||
_self,
|
||||
MM_BEARER_CONNECTION_STATUS_DISCONNECTED);
|
||||
MM_BEARER_CONNECTION_STATUS_DISCONNECTED,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -699,7 +699,8 @@ disconnect_3gpp (MMBroadbandBearer *self,
|
||||
|
||||
static void
|
||||
report_connection_status (MMBaseBearer *_self,
|
||||
MMBearerConnectionStatus status)
|
||||
MMBearerConnectionStatus status,
|
||||
const GError *connection_error)
|
||||
{
|
||||
MMBroadbandBearerHso *self = MM_BROADBAND_BEARER_HSO (_self);
|
||||
|
||||
@@ -719,9 +720,7 @@ report_connection_status (MMBaseBearer *_self,
|
||||
if (status == MM_BEARER_CONNECTION_STATUS_DISCONNECTED) {
|
||||
/* If no connection attempt on-going, make sure we mark ourselves as
|
||||
* disconnected */
|
||||
MM_BASE_BEARER_CLASS (mm_broadband_bearer_hso_parent_class)->report_connection_status (
|
||||
_self,
|
||||
status);
|
||||
MM_BASE_BEARER_CLASS (mm_broadband_bearer_hso_parent_class)->report_connection_status (_self, status,connection_error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user