summaryrefslogtreecommitdiff
path: root/android/ipc.c
diff options
context:
space:
mode:
authorSzymon Janc <szymon.janc@tieto.com>2013-11-18 13:58:39 +0100
committerJohan Hedberg <johan.hedberg@intel.com>2013-11-18 15:17:22 +0200
commitfc10c55498bd9a704d2e732eeac8f747de18f899 (patch)
treea024132893ab9454bb7cb944a4b6b5e67807753f /android/ipc.c
parentd9c8be6132715c3d9f34b5a4db8bd1536f645c59 (diff)
downloadbluez-fc10c55498bd9a704d2e732eeac8f747de18f899.tar.gz
android: Improve IPC helper to not send invalid status response
This fix issue with sending invalid success response from several places where ipc_send_rsp was used for reporting success. Instead of using using ipc_send for success response, make helper handle that.
Diffstat (limited to 'android/ipc.c')
-rw-r--r--android/ipc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/android/ipc.c b/android/ipc.c
index 729f15771..8467b286c 100644
--- a/android/ipc.c
+++ b/android/ipc.c
@@ -80,10 +80,15 @@ void ipc_send(int sk, uint8_t service_id, uint8_t opcode, uint16_t len,
}
}
-void ipc_send_rsp(int sk, uint8_t service_id, uint8_t status)
+void ipc_send_rsp(int sk, uint8_t service_id, uint8_t opcode, uint8_t status)
{
struct hal_status s;
+ if (status == HAL_STATUS_SUCCESS) {
+ ipc_send(sk, service_id, opcode, 0, NULL, -1);
+ return;
+ }
+
s.code = status;
ipc_send(sk, service_id, HAL_OP_STATUS, sizeof(s), &s, -1);