diff options
-rw-r--r-- | cras/src/server/cras_bt_device.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cras/src/server/cras_bt_device.c b/cras/src/server/cras_bt_device.c index 353c2938..682edba4 100644 --- a/cras/src/server/cras_bt_device.c +++ b/cras/src/server/cras_bt_device.c @@ -863,6 +863,13 @@ int cras_bt_device_sco_connect(struct cras_bt_device *device) goto error; } + if (pollfds[0].revents & (POLLERR | POLLHUP)) { + syslog(LOG_ERR, "SCO socket error, revents: %u", + pollfds[0].revents); + bt_device_schedule_suspend(device, 0); + goto error; + } + return sk; error: |