libmsc/ussd: don't overwrite rc if decoding failed
Change-Id: I344e4b3a9aad617686a7ddbdeae5780fd8b07e58
diff --git a/src/libmsc/ussd.c b/src/libmsc/ussd.c
index ab59571..fe1610f 100644
--- a/src/libmsc/ussd.c
+++ b/src/libmsc/ussd.c
@@ -74,8 +74,9 @@
if (!rc) {
LOGP(DMM, LOGL_ERROR, "SS/USSD message parsing error, "
"rejecting request...\n");
- rc = gsm0480_send_ussd_reject(conn, &req);
- return rc;
+ gsm0480_send_ussd_reject(conn, &req);
+ /* The GSM 04.80 API uses inverted codes (0 means error) */
+ return -EPROTO;
}
/* Interrogation or releaseComplete? */