summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2015-11-04 21:08:09 -0600
committerDenis Kenzior <denkenz@gmail.com>2015-11-04 21:08:09 -0600
commit626612c48c6a2b19bf5f3380f7e23be88599136d (patch)
treeddad2302bc0e22d3e11519da81ed60ac9ad6d3fc /drivers
parentda97370eee5d5bcac5bfc92bdd03f75d6a0ac36f (diff)
downloadofono-626612c48c6a2b19bf5f3380f7e23be88599136d.tar.bz2
rilmodem: Implement ril_cw_query inline
Diffstat (limited to 'drivers')
-rw-r--r--drivers/rilmodem/call-settings.c12
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);