diff --git a/src/hci_transport_h4.c b/src/hci_transport_h4.c index e9e8bb925..70ca9b4cc 100644 --- a/src/hci_transport_h4.c +++ b/src/hci_transport_h4.c @@ -197,7 +197,8 @@ static int h4_send_packet(uint8_t packet_type, uint8_t * packet, int size){ while (size > 0) { int bytes_written = write(hci_transport_h4->ds->fd, data, size); if (bytes_written < 0) { - return bytes_written; + usleep(5000); + continue; } data += bytes_written; size -= bytes_written; diff --git a/src/hci_transport_h5.c b/src/hci_transport_h5.c index 209b0ce1d..7afb54e6e 100644 --- a/src/hci_transport_h5.c +++ b/src/hci_transport_h5.c @@ -179,7 +179,8 @@ static int h5_send_packet(uint8_t packet_type, uint8_t *packet, int size){ while (size > 0) { int bytes_written = write(hci_transport_h5->ds->fd, data, size); if (bytes_written < 0) { - return bytes_written; + usleep(5000); + continue; } data += bytes_written; size -= bytes_written;