summaryrefslogtreecommitdiff
path: root/cras/src/server/cras_bt_device.c
diff options
context:
space:
mode:
Diffstat (limited to 'cras/src/server/cras_bt_device.c')
-rw-r--r--cras/src/server/cras_bt_device.c7
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: