diff options
author | Denis Kenzior <denkenz@gmail.com> | 2015-11-04 21:08:09 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2015-11-04 21:08:09 -0600 |
commit | 626612c48c6a2b19bf5f3380f7e23be88599136d (patch) | |
tree | ddad2302bc0e22d3e11519da81ed60ac9ad6d3fc /drivers/rilmodem | |
parent | da97370eee5d5bcac5bfc92bdd03f75d6a0ac36f (diff) | |
download | ofono-626612c48c6a2b19bf5f3380f7e23be88599136d.tar.bz2 |
rilmodem: Implement ril_cw_query inline
Diffstat (limited to 'drivers/rilmodem')
-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); |