diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/rilmodem/call-settings.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/rilmodem/call-settings.c b/drivers/rilmodem/call-settings.c index 8dc52622..20a42381 100644 --- a/drivers/rilmodem/call-settings.c +++ b/drivers/rilmodem/call-settings.c @@ -128,7 +128,17 @@ static void ril_cw_query(struct ofono_call_settings *cs, int cls, int ret; struct parcel rilp; - g_ril_request_query_call_waiting(sd->ril, cls, &rilp); + /* + * RILD expects service class to be 0 as certain carriers can reject the + * query with specific service class + */ + cls = 0; + + parcel_init(&rilp); + parcel_w_int32(&rilp, 1); /* Number of params */ + parcel_w_int32(&rilp, cls); /* Service Class */ + + g_ril_append_print_buf(sd->ril, "(0)"); ret = g_ril_send(sd->ril, RIL_REQUEST_QUERY_CALL_WAITING, &rilp, ril_cw_query_cb, cbd, g_free); |