Fix a cloned error in driver poll setup
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4132 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
parent
f5a411938e
commit
700f00279c
|
@ -2230,4 +2230,6 @@
|
||||||
* graphics/nxfonts/nxfonts_sans17x22.h and nxfonts_sans20x26.h: Add
|
* graphics/nxfonts/nxfonts_sans17x22.h and nxfonts_sans20x26.h: Add
|
||||||
some very small sans serif fonts.
|
some very small sans serif fonts.
|
||||||
* graphics/nxfonts/nxfonts_sans17x23b.h and nxfonts_sans20x27b.h: Add
|
* graphics/nxfonts/nxfonts_sans17x23b.h and nxfonts_sans20x27b.h: Add
|
||||||
corresponding sans serif bold fonts.
|
corresponding sans serif bold fonts.
|
||||||
|
* drivers/input/ads7843e.c and tsc2007.c: Fix some errors in the poll
|
||||||
|
setup error checking that was cloned into both drivers.
|
23
nuttx/TODO
23
nuttx/TODO
|
@ -1,4 +1,4 @@
|
||||||
NuttX TODO List (Last updated November 15, 2011)
|
NuttX TODO List (Last updated December 3, 2011)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
This file summarizes known NuttX bugs, limitations, inconsistencies with
|
This file summarizes known NuttX bugs, limitations, inconsistencies with
|
||||||
|
@ -16,7 +16,7 @@ nuttx/
|
||||||
(16) Network (net/, drivers/net)
|
(16) Network (net/, drivers/net)
|
||||||
(2) USB (drivers/usbdev, drivers/usbhost)
|
(2) USB (drivers/usbdev, drivers/usbhost)
|
||||||
(7) Libraries (lib/)
|
(7) Libraries (lib/)
|
||||||
(9) File system/Generic drivers (fs/, drivers/)
|
(11) File system/Generic drivers (fs/, drivers/)
|
||||||
(2) Graphics subystem (graphics/)
|
(2) Graphics subystem (graphics/)
|
||||||
(1) Pascal add-on (pcode/)
|
(1) Pascal add-on (pcode/)
|
||||||
(1) Documentation (Documentation/)
|
(1) Documentation (Documentation/)
|
||||||
|
@ -501,6 +501,25 @@ o File system / Generic drivers (fs/, drivers/)
|
||||||
Status: Open
|
Status: Open
|
||||||
Priority: Medium
|
Priority: Medium
|
||||||
|
|
||||||
|
Description: The serial driver (drivers/serial) should return with an
|
||||||
|
error and errno=EINTR when an interrupt is received. However,
|
||||||
|
the serial driver just continues waiting:
|
||||||
|
|
||||||
|
static void uart_takesem(FAR sem_t *sem)
|
||||||
|
{
|
||||||
|
while (sem_wait(sem) != 0)
|
||||||
|
{
|
||||||
|
ASSERT(*get_errno_ptr() == EINTR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Status: Open
|
||||||
|
Priority Medium
|
||||||
|
|
||||||
|
Description: All drivers that support the poll method should also report
|
||||||
|
POLLHUP event when the driver is closedd.
|
||||||
|
Status: Open
|
||||||
|
Priority: Medium-Low
|
||||||
|
|
||||||
o Graphics subystem (graphics/)
|
o Graphics subystem (graphics/)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
|
@ -980,7 +980,7 @@ static int ads7843e_poll(FAR struct file *filep, FAR struct pollfd *fds,
|
||||||
{
|
{
|
||||||
/* Ignore waits that do not include POLLIN */
|
/* Ignore waits that do not include POLLIN */
|
||||||
|
|
||||||
if ((fds->revents & POLLIN) == 0)
|
if ((fds->events & POLLIN) == 0)
|
||||||
{
|
{
|
||||||
ret = -EDEADLK;
|
ret = -EDEADLK;
|
||||||
goto errout;
|
goto errout;
|
||||||
|
|
|
@ -1073,7 +1073,7 @@ static int tsc2007_poll(FAR struct file *filep, FAR struct pollfd *fds,
|
||||||
{
|
{
|
||||||
FAR struct inode *inode;
|
FAR struct inode *inode;
|
||||||
FAR struct tsc2007_dev_s *priv;
|
FAR struct tsc2007_dev_s *priv;
|
||||||
int ret = OK;
|
int ret;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
ivdbg("setup: %d\n", (int)setup);
|
ivdbg("setup: %d\n", (int)setup);
|
||||||
|
@ -1098,8 +1098,9 @@ static int tsc2007_poll(FAR struct file *filep, FAR struct pollfd *fds,
|
||||||
{
|
{
|
||||||
/* Ignore waits that do not include POLLIN */
|
/* Ignore waits that do not include POLLIN */
|
||||||
|
|
||||||
if ((fds->revents & POLLIN) == 0)
|
if ((fds->events & POLLIN) == 0)
|
||||||
{
|
{
|
||||||
|
idbg("Missing POLLIN: revents: %08x\n", fds->revents);
|
||||||
ret = -EDEADLK;
|
ret = -EDEADLK;
|
||||||
goto errout;
|
goto errout;
|
||||||
}
|
}
|
||||||
|
@ -1124,6 +1125,7 @@ static int tsc2007_poll(FAR struct file *filep, FAR struct pollfd *fds,
|
||||||
|
|
||||||
if (i >= CONFIG_TSC2007_NPOLLWAITERS)
|
if (i >= CONFIG_TSC2007_NPOLLWAITERS)
|
||||||
{
|
{
|
||||||
|
idbg("No availabled slot found: %d\n", i);
|
||||||
fds->priv = NULL;
|
fds->priv = NULL;
|
||||||
ret = -EBUSY;
|
ret = -EBUSY;
|
||||||
goto errout;
|
goto errout;
|
||||||
|
|
Loading…
Reference in New Issue