diff options
author | Philippe Nunes <philippe.nunes@linux.intel.com> | 2012-09-05 18:56:20 +0200 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2012-09-05 15:00:14 -0500 |
commit | 1bb7222d83f4d601f697c9736054439d1360f0d2 (patch) | |
tree | df81020eafcdffece125f6b5f56268ea3e9050bf /src/call-forwarding.c | |
parent | 20138aed75efe2cc4394fefc6cdbe9c80b624e1d (diff) | |
download | ofono-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.c | 10 |
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); } |