Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH 1/2] android/gatt: Fix embeded services not responsing to some requests
@ 2014-12-16 12:02 Jakub Tyszkowski
  2014-12-16 12:02 ` [PATCH 2/2] android/gatt: Report error on invalid value length for CCC descriptor Jakub Tyszkowski
  2014-12-18 10:02 ` [PATCH 1/2] android/gatt: Fix embeded services not responsing to some requests Szymon Janc
  0 siblings, 2 replies; 4+ messages in thread
From: Jakub Tyszkowski @ 2014-12-16 12:02 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Jakub Tyszkowski

For application attributes this is triggered when application sends response but
for embeded ones we need to trigger this manually. As in prepare and execute
write requests handlers we don't know if its embeded or application attribute,
we should try sending processed request responses if there are any.
---
 android/gatt.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/android/gatt.c b/android/gatt.c
index 2aa52b0..1e2627b 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -4414,6 +4414,9 @@ static void send_dev_complete_response(struct gatt_device *device,
 	uint16_t len = 0;
 	uint8_t error = 0;
 
+	if (queue_isempty(device->pending_requests))
+		return;
+
 	if (queue_find(device->pending_requests, match_pending_dev_request,
 									NULL)) {
 		DBG("Still pending requests");
@@ -6513,6 +6516,8 @@ static uint8_t write_prep_request(const uint8_t *cmd, uint16_t cmd_len,
 		return ATT_ECODE_UNLIKELY;
 	}
 
+	send_dev_complete_response(dev, cmd[0]);
+
 	return 0;
 }
 
@@ -6572,6 +6577,7 @@ static uint8_t write_execute_request(const uint8_t *cmd, uint16_t cmd_len,
 	}
 
 	queue_foreach(app_connections, send_server_write_execute_notify, &ev);
+	send_dev_complete_response(dev, cmd[0]);
 
 	return 0;
 }
-- 
1.9.1


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

end of thread, other threads:[~2014-12-18 10:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-16 12:02 [PATCH 1/2] android/gatt: Fix embeded services not responsing to some requests Jakub Tyszkowski
2014-12-16 12:02 ` [PATCH 2/2] android/gatt: Report error on invalid value length for CCC descriptor Jakub Tyszkowski
2014-12-18 10:47   ` Szymon Janc
2014-12-18 10:02 ` [PATCH 1/2] android/gatt: Fix embeded services not responsing to some requests Szymon Janc

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox