From 2d113871046dcf84737bf622a1e0c6a441f50e4f Mon Sep 17 00:00:00 2001 From: "matthias.ringwald" Date: Thu, 9 Sep 2010 17:44:36 +0000 Subject: [PATCH] also check write() error on packet type --- src/hci_transport_h4.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/hci_transport_h4.c b/src/hci_transport_h4.c index 94a0e3d09..1fa56aacd 100644 --- a/src/hci_transport_h4.c +++ b/src/hci_transport_h4.c @@ -204,8 +204,12 @@ static int h4_send_packet(uint8_t packet_type, uint8_t * packet, int size){ if (hci_transport_h4->ds == NULL) return -1; if (hci_transport_h4->uart_fd == 0) return -1; hci_dump_packet( (uint8_t) packet_type, 0, packet, size); - write(hci_transport_h4->uart_fd, &packet_type, 1); char *data = (char*) packet; + int bytes_written = write(hci_transport_h4->uart_fd, &packet_type, 1); + while (bytes_written < 1) { + usleep(5000); + bytes_written = write(hci_transport_h4->uart_fd, &packet_type, 1); + }; while (size > 0) { int bytes_written = write(hci_transport_h4->uart_fd, data, size); if (bytes_written < 0) {