diff --git a/adb/daemon/usb.cpp b/adb/daemon/usb.cpp index a44ff43b6..f4458a2c8 100644 --- a/adb/daemon/usb.cpp +++ b/adb/daemon/usb.cpp @@ -270,29 +270,15 @@ struct UsbFfsConnection : public Connection { bool started = false; bool running = true; while (running) { - int timeout = -1; - if (!bound || !started) { - timeout = 5000 /*ms*/; - } - adb_pollfd pfd[2] = { { .fd = control_fd_.get(), .events = POLLIN, .revents = 0 }, { .fd = monitor_event_fd_.get(), .events = POLLIN, .revents = 0 }, }; - int rc = TEMP_FAILURE_RETRY(adb_poll(pfd, 2, timeout)); + int rc = TEMP_FAILURE_RETRY(adb_poll(pfd, 2, -1)); if (rc == -1) { PLOG(FATAL) << "poll on USB control fd failed"; } else if (rc == 0) { - // Something in the kernel presumably went wrong. - // Close our endpoints, wait for a bit, and then try again. - StopWorker(); - aio_context_.reset(); - read_fd_.reset(); - write_fd_.reset(); - control_fd_.reset(); - std::this_thread::sleep_for(5s); - HandleError("didn't receive FUNCTIONFS_ENABLE, retrying"); - return; + LOG(FATAL) << "poll on USB control fd returned 0"; } if (pfd[1].revents) {