Compare commits

..

5 Commits

Author SHA1 Message Date
Martti Piirainen
fed4a94862 Merge pull request #150 from jpoutiai/master
[rilmodem] fix CF to support all the service classes
2014-01-15 00:54:21 -08:00
Jarko Poutiainen
ccc8d1afd4 [rilmodem] use SERVICE_CLASS_NONE insteead of hard coded value
Signed-off-by: Jarko Poutiainen <Jarko.Poutiainen@oss.tieto.com>
2014-01-13 12:08:02 +02:00
Jarko Poutiainen
417f20c662 [rilmodem] define SERVICE_CLASS_NONE
Signed-off-by: Jarko Poutiainen <Jarko.Poutiainen@oss.tieto.com>
2014-01-13 12:07:28 +02:00
Jarko Poutiainen
304f7cc197 [rilmodem] remove comments regarding the BEARER_CLASS_DEFAULT
Signed-off-by: Jarko Poutiainen <Jarko.Poutiainen@oss.tieto.com>
2014-01-13 12:07:04 +02:00
Jarko Poutiainen
354285a438 [rilmodem] fix CF to support all the service classes
Signed-off-by: Jarko Poutiainen <Jarko.Poutiainen@oss.tieto.com>
2014-01-13 12:06:22 +02:00
2 changed files with 22 additions and 25 deletions

View File

@@ -89,18 +89,16 @@ static void ril_registration(struct ofono_call_forwarding *cf, int type,
parcel_w_int32(&rilp, type);
/* Modem seems to respond with error to all queries
/*
* Modem seems to respond with error to all queries
* or settings made with bearer class
* BEARER_CLASS_DEFAULT. Design decision: If given
* class is BEARER_CLASS_DEFAULT let's map it to
* SERVICE_CLASS_VOICE effectively making it the
* default bearer. This in line with API which is
* contains only voice anyways. TODO: Checkout
* the behaviour with final modem
* SERVICE_CLASS_NONE as with it e.g. ./send-ussd '*21*<phone_number>#'
* returns cls:53 i.e. 1+4+16+32 as service class.
*/
if (cls == BEARER_CLASS_DEFAULT)
cls = BEARER_CLASS_VOICE;
cls = SERVICE_CLASS_NONE;
parcel_w_int32(&rilp, cls);
@@ -137,18 +135,16 @@ static void ril_send_forward_cmd(struct ofono_call_forwarding *cf,
parcel_w_int32(&rilp, type);
/* Modem seems to respond with error to all queries
/*
* Modem seems to respond with error to all queries
* or settings made with bearer class
* BEARER_CLASS_DEFAULT. Design decision: If given
* class is BEARER_CLASS_DEFAULT let's map it to
* SERVICE_CLASS_VOICE effectively making it the
* default bearer. This in line with API which is
* contains only voice anyways. TODO: Checkout
* the behaviour with final modem
* SERVICE_CLASS_NONE as with it e.g. ./send-ussd '*21*<phone_number>#'
* returns cls:53 i.e. 1+4+16+32 as service class.
*/
if (cls == BEARER_CLASS_DEFAULT)
cls = BEARER_CLASS_VOICE;
cls = SERVICE_CLASS_NONE;
parcel_w_int32(&rilp, cls); /* Service class */
@@ -246,7 +242,7 @@ static void ril_query_cb(struct ril_msg *message, gpointer user_data)
}
CALLBACK_WITH_SUCCESS(cb, 1, list, cbd->data);
CALLBACK_WITH_SUCCESS(cb, nmbr_of_resps, list, cbd->data);
g_free(list);
} else {
@@ -272,18 +268,16 @@ static void ril_query(struct ofono_call_forwarding *cf, int type, int cls,
parcel_w_int32(&rilp, type);
/* Modem seems to respond with error to all queries
/*
* Modem seems to respond with error to all queries
* or settings made with bearer class
* BEARER_CLASS_DEFAULT. Design decision: If given
* class is BEARER_CLASS_DEFAULT let's map it to
* SERVICE_CLASS_VOICE effectively making it the
* default bearer. This in line with API which is
* contains only voice anyways. TODO: Checkout
* the behaviour with final modem
* SERVICE_CLASS_NONE as with it e.g. ./send-ussd '*21*<phone_number>#'
* returns cls:53 i.e. 1+4+16+32 as service class.
*/
if (cls == BEARER_CLASS_DEFAULT)
cls = BEARER_CLASS_VOICE;
cls = SERVICE_CLASS_NONE;
parcel_w_int32(&rilp, cls);
@@ -351,10 +345,10 @@ static struct ofono_call_forwarding_driver driver = {
.probe = ril_call_forwarding_probe,
.remove = ril_call_forwarding_remove,
.erasure = ril_erasure,
.deactivation = ril_deactivate,
.deactivation = ril_deactivate,
.query = ril_query,
.registration = ril_registration,
.activation = ril_activate
.registration = ril_registration,
.activation = ril_activate
};
void ril_call_forwarding_init(void)

View File

@@ -384,4 +384,7 @@
#define RIL_UNSOL_STK_CC_ALPHA_NOTIFY 1040
#define RIL_UNSOL_UICC_SUBSCRIPTION_STATUS_CHANGED 1041
/* Suplementary services Service class*/
#define SERVICE_CLASS_NONE 0
#endif /*__RIL_CONSTANTS_H*/