All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/8] ussd: Recover idle state in case of response sending failure
@ 2012-08-22 16:18 Philippe Nunes
  2012-08-22 16:18 ` [PATCH 2/8] stkagent: '+' is considered as a digit Philippe Nunes
                   ` (7 more replies)
  0 siblings, 8 replies; 20+ messages in thread
From: Philippe Nunes @ 2012-08-22 16:18 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1181 bytes --]

GCF test case 31.8.1.2.3 is rejecting the user response.
Any subsequent USSD notification are not handled because USSD is always in
state user-action.
---
 src/ussd.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/ussd.c b/src/ussd.c
index 74888b2..0ad4f61 100644
--- a/src/ussd.c
+++ b/src/ussd.c
@@ -414,6 +414,10 @@ void ofono_ussd_notify(struct ofono_ussd *ussd, int status, int dcs,
 		return;
 	}
 
+	if (status == OFONO_USSD_STATUS_TERMINATED &&
+			ussd->state == USSD_STATE_IDLE)
+		return;
+
 	if (status == OFONO_USSD_STATUS_NOT_SUPPORTED) {
 		ussd_change_state(ussd, USSD_STATE_IDLE);
 
@@ -595,9 +599,11 @@ static void ussd_response_callback(const struct ofono_error *error, void *data)
 	struct ofono_ussd *ussd = data;
 	DBusMessage *reply;
 
-	if (error->type != OFONO_ERROR_TYPE_NO_ERROR)
+	if (error->type != OFONO_ERROR_TYPE_NO_ERROR) {
 		DBG("ussd response failed with error: %s",
 				telephony_error_to_str(error));
+		ussd_change_state(ussd, USSD_STATE_IDLE);
+	}
 
 	if (error->type == OFONO_ERROR_TYPE_NO_ERROR) {
 		ussd_change_state(ussd, USSD_STATE_RESPONSE_SENT);
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2012-08-23 18:32 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-22 16:18 [PATCH 1/8] ussd: Recover idle state in case of response sending failure Philippe Nunes
2012-08-22 16:18 ` [PATCH 2/8] stkagent: '+' is considered as a digit Philippe Nunes
2012-08-22 22:55   ` Denis Kenzior
2012-08-23 15:53     ` Philippe Nunes
2012-08-23 18:15       ` Denis Kenzior
2012-08-22 16:18 ` [PATCH 3/8] call-forwarding: return specific errors for SS query Philippe Nunes
2012-08-22 23:18   ` Denis Kenzior
2012-08-22 16:18 ` [PATCH 4/8] call-forwarding: class applied is the class given by SS code Philippe Nunes
2012-08-22 23:36   ` Denis Kenzior
2012-08-23 15:30     ` Philippe Nunes
2012-08-23 18:32       ` Denis Kenzior
2012-08-22 16:18 ` [PATCH 5/8] call-barring: Return specific errors for SS query Philippe Nunes
2012-08-22 23:19   ` Denis Kenzior
2012-08-22 16:18 ` [PATCH 6/8] call-barring: class applied is the class given by SS code Philippe Nunes
2012-08-22 16:18 ` [PATCH 7/8] call-settings: Return specific errors for SS query Philippe Nunes
2012-08-22 23:19   ` Denis Kenzior
2012-08-22 16:18 ` [PATCH 8/8] call-settings: class applied is the class given by SS code Philippe Nunes
2012-08-22 23:41   ` Denis Kenzior
2012-08-22 23:02 ` [PATCH 1/8] ussd: Recover idle state in case of response sending failure Denis Kenzior
2012-08-23 10:30   ` Philippe Nunes

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.