summaryrefslogtreecommitdiffstats
path: root/src/call-forwarding.c
diff options
context:
space:
mode:
authorPhilippe Nunes <philippe.nunes@linux.intel.com>2012-09-05 18:56:20 +0200
committerDenis Kenzior <denkenz@gmail.com>2012-09-05 15:00:14 -0500
commit1bb7222d83f4d601f697c9736054439d1360f0d2 (patch)
treedf81020eafcdffece125f6b5f56268ea3e9050bf /src/call-forwarding.c
parent20138aed75efe2cc4394fefc6cdbe9c80b624e1d (diff)
downloadofono-1bb7222d83f4d601f697c9736054439d1360f0d2.tar.bz2
call-forwarding: SS query is made with given cls
GCF test cases 31.2.1.6.1/2 are asking to make a query according a specific class. The default class is applied in the query form when no class is specified in the SS code.
Diffstat (limited to 'src/call-forwarding.c')
-rw-r--r--src/call-forwarding.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/call-forwarding.c b/src/call-forwarding.c
index 91e34c6c..2746771e 100644
--- a/src/call-forwarding.c
+++ b/src/call-forwarding.c
@@ -1012,7 +1012,15 @@ static void ss_set_query_cf_callback(const struct ofono_error *error, int total,
static void ss_set_query_next_cf_cond(struct ofono_call_forwarding *cf)
{
- cf->driver->query(cf, cf->query_next, BEARER_CLASS_DEFAULT,
+ int cls;
+
+ cls = (cf->ss_req->ss_type == SS_CONTROL_TYPE_QUERY) ?
+ cf->ss_req->cls : BEARER_CLASS_DEFAULT;
+
+ if (cls == BEARER_CLASS_SS_DEFAULT)
+ cls = BEARER_CLASS_DEFAULT;
+
+ cf->driver->query(cf, cf->query_next, cls,
ss_set_query_cf_callback, cf);
}