Hi Philippe,
On 08/22/2012 11:18 AM, Philippe Nunes wrote:
The default class is applied when no class is specified by SS code.
---
src/call-settings.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/call-settings.c b/src/call-settings.c
index 51f96bf..d63d9d8 100644
--- a/src/call-settings.c
+++ b/src/call-settings.c
@@ -485,7 +485,7 @@ static void cw_ss_set_callback(const struct ofono_error *error, void
*data)
return;
}
- cs->driver->cw_query(cs, BEARER_CLASS_DEFAULT,
+ cs->driver->cw_query(cs, cs->ss_req_cls,
cw_ss_query_callback, cs);
This is only used to query after the set, why are you touching this?
}
@@ -533,13 +533,13 @@ static gboolean cw_ss_control(int type,
goto bad_format;
}
- cs->ss_req_cls = cls;
- cs->pending = dbus_message_ref(msg);
-
/* For the default case use the more readily accepted value */
if (cls == BEARER_CLASS_SS_DEFAULT)
cls = BEARER_CLASS_DEFAULT;
+ cs->ss_req_cls = cls;
+ cs->pending = dbus_message_ref(msg);
+
And again, this part is wrong since cls is used to generate the reply.
switch (type) {
case SS_CONTROL_TYPE_REGISTRATION:
case SS_CONTROL_TYPE_ACTIVATION:
@@ -554,8 +554,7 @@ static gboolean cw_ss_control(int type,
* according to 22.004 Appendix A, so CLASS_DEFAULT
* is safe to use here
*/
- cs->driver->cw_query(cs, BEARER_CLASS_DEFAULT,
- cw_ss_query_callback, cs);
+ cs->driver->cw_query(cs, cls, cw_ss_query_callback, cs);
break;
case SS_CONTROL_TYPE_DEACTIVATION:
Regards,
-Denis