summaryrefslogtreecommitdiff
path: root/nuttx/drivers/usbhost/usbhost_hidmouse.c
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-04-17 11:47:00 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-04-17 11:47:00 -0600
commit1ab1f3da2b44e0528b87000b23da329aec0a522e (patch)
treed8f265f9baaca641163d6d943d7b49b2961bf658 /nuttx/drivers/usbhost/usbhost_hidmouse.c
parentfbbdc2c1b7f118f592b3c8ffa0832a965685acb5 (diff)
downloadnuttx-1ab1f3da2b44e0528b87000b23da329aec0a522e.tar.gz
nuttx-1ab1f3da2b44e0528b87000b23da329aec0a522e.tar.bz2
nuttx-1ab1f3da2b44e0528b87000b23da329aec0a522e.zip
HID mouse: Don't include NAKs in error count. From Leo
Diffstat (limited to 'nuttx/drivers/usbhost/usbhost_hidmouse.c')
-rw-r--r--nuttx/drivers/usbhost/usbhost_hidmouse.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/nuttx/drivers/usbhost/usbhost_hidmouse.c b/nuttx/drivers/usbhost/usbhost_hidmouse.c
index 0fa49c50b..5a9cff0a7 100644
--- a/nuttx/drivers/usbhost/usbhost_hidmouse.c
+++ b/nuttx/drivers/usbhost/usbhost_hidmouse.c
@@ -1083,14 +1083,22 @@ static int usbhost_mouse_poll(int argc, char *argv[])
if (ret != OK)
{
- nerrors++;
- udbg("ERROR: DRVR_TRANSFER returned: %d/%d\n",
- ret, nerrors);
+ /* If DRVR_TRANSFER() returns EAGAIN, that simply means that
+ * the devices was not ready and has NAK'ed the transfer. That
+ * no be treated as an error (unless it persists for a long
+ * time).
+ */
- if (nerrors > 200)
+ udbg("ERROR: DRVR_TRANSFER returned: %d/%d\n", ret, nerrors);
+ if (ret != -EAGAIN)
{
- udbg("Too many errors... aborting: %d\n", nerrors);
- break;
+ nerrors++;
+
+ if (nerrors > 200)
+ {
+ udbg("Too many errors... aborting: %d\n", nerrors);
+ break;
+ }
}
}