Re: [PATCH] modem-manager: avoid assertion when exposed modem has no 3GPP/3GPP2 capabilities
- From: Dan Williams <dcbw redhat com>
- To: Aleksander Morgado <aleksander lanedo com>
- Cc: networkmanager-list gnome org
- Subject: Re: [PATCH] modem-manager: avoid assertion when exposed modem has no 3GPP/3GPP2 capabilities
- Date: Wed, 19 Dec 2012 10:40:39 -0600
On Wed, 2012-12-19 at 08:28 +0100, Aleksander Morgado wrote:
> If, for any reason, MM exposes a modem object without 3GPP or 3GPP2
> capabilities, just return an error instead of assert()-ing.
Pushed, thanks.
Dan
> ---
> src/modem-manager/nm-modem-broadband.c | 19 +++++++++++++++----
> 1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/src/modem-manager/nm-modem-broadband.c b/src/modem-manager/nm-modem-broadband.c
> index d4d89d6..e3edab3 100644
> --- a/src/modem-manager/nm-modem-broadband.c
> +++ b/src/modem-manager/nm-modem-broadband.c
> @@ -351,8 +351,11 @@ act_stage1_prepare (NMModem *_self,
> self->priv->connect_properties = create_gsm_connect_properties (connection);
> else if (MODEM_CAPS_3GPP2 (caps))
> self->priv->connect_properties = create_cdma_connect_properties (connection);
> - else
> - g_assert_not_reached ();
> + else {
> + nm_log_warn (LOGD_MB, "(%s) not a mobile broadband modem",
> + nm_modem_get_uid (NM_MODEM (self)));
> + return NM_ACT_STAGE_RETURN_FAILURE;
> + }
>
> if (!self->priv->simple_iface)
> self->priv->simple_iface = mm_object_get_modem_simple (self->priv->modem_object);
> @@ -473,7 +476,11 @@ check_connection_compatible (NMModem *_self,
> return TRUE;
> }
>
> - g_assert_not_reached ();
> + g_set_error (error,
> + NM_MODEM_BROADBAND_ERROR,
> + NM_MODEM_BROADBAND_ERROR_CONNECTION_INCOMPATIBLE,
> + "Device is not a mobile broadband modem");
> + return FALSE;
> }
>
> /*****************************************************************************/
> @@ -550,7 +557,11 @@ complete_connection (NMModem *_self,
> return TRUE;
> }
>
> - g_assert_not_reached ();
> + g_set_error (error,
> + NM_MODEM_BROADBAND_ERROR,
> + NM_MODEM_BROADBAND_ERROR_CONNECTION_INCOMPATIBLE,
> + "Device is not a mobile broadband modem");
> + return FALSE;
> }
>
> /*****************************************************************************/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]