diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-04-17 11:47:00 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-04-17 11:47:00 -0600 |
commit | 1ab1f3da2b44e0528b87000b23da329aec0a522e (patch) | |
tree | d8f265f9baaca641163d6d943d7b49b2961bf658 /nuttx/drivers/usbhost/usbhost_hidmouse.c | |
parent | fbbdc2c1b7f118f592b3c8ffa0832a965685acb5 (diff) | |
download | nuttx-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.c | 20 |
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; + } } } |