Fixup SS control case

In certain cases, querying/setting prperties via SS control req
doesn't provide complete state, resulting in subsequent
GetProperties reporting incorrect values
This commit is contained in:
Denis Kenzior 2009-05-20 12:35:15 -05:00
parent e220d45b86
commit a76864dd5f
2 changed files with 6 additions and 0 deletions

View File

@ -1145,6 +1145,7 @@ static gboolean cf_ss_control(struct ofono_modem *modem, int type, const char *s
cf->ss_req->cls = cls;
cf->pending = dbus_message_ref(msg);
cls |= BEARER_CLASS_DEFAULT | BEARER_CLASS_SMS;
switch (cf->ss_req->ss_type) {
case SS_CONTROL_TYPE_REGISTRATION:

View File

@ -306,6 +306,7 @@ static void cw_ss_set_callback(const struct ofono_error *error, void *data)
{
struct ofono_modem *modem = data;
struct call_waiting_data *cw = modem->call_waiting;
int cls;
if (error->type != OFONO_ERROR_TYPE_NO_ERROR) {
ofono_debug("setting CW via SS failed");
@ -315,6 +316,8 @@ static void cw_ss_set_callback(const struct ofono_error *error, void *data)
return;
}
cls = cw->ss_req_cls | BEARER_CLASS_DEFAULT;
cw->ops->query(modem, cw->ss_req_cls, cw_ss_query_callback, modem);
}
@ -365,6 +368,8 @@ static gboolean cw_ss_control(struct ofono_modem *modem, int type,
cw->ss_req_cls = cls;
cw->pending = dbus_message_ref(msg);
cls |= BEARER_CLASS_DEFAULT;
switch (type) {
case SS_CONTROL_TYPE_REGISTRATION:
case SS_CONTROL_TYPE_ACTIVATION: