diff --git a/devices/generic.c b/devices/generic.c index 4e266b8b32e9d71cee3827c6df707f724415eeec..afef6e4d003a6f827a30d87f94fd244c70022889 100644 --- a/devices/generic.c +++ b/devices/generic.c @@ -314,11 +314,11 @@ void ec_gen_device_poll( struct kvec iov; int ret, budget = 10; // FIXME - iov.iov_base = dev->rx_buf; - iov.iov_len = EC_GEN_RX_BUF_SIZE; - memset(&msg, 0, sizeof(msg)); - do { + iov.iov_base = dev->rx_buf; + iov.iov_len = EC_GEN_RX_BUF_SIZE; + memset(&msg, 0, sizeof(msg)); + ret = kernel_recvmsg(dev->socket, &msg, &iov, 1, iov.iov_len, MSG_DONTWAIT); if (ret > 0) {