More patches/bugfixes from Kate
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5056 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
a6e8ab1d51
commit
c18b47aafb
@ -3185,3 +3185,11 @@
|
|||||||
This list handling was probably causing errors reported by Mike Smith
|
This list handling was probably causing errors reported by Mike Smith
|
||||||
* sched/sched_waitpid.c: Fix a possible issue with logic logic that
|
* sched/sched_waitpid.c: Fix a possible issue with logic logic that
|
||||||
should be brought into a critical section (suggested by Mike Smith)
|
should be brought into a critical section (suggested by Mike Smith)
|
||||||
|
* sched/sched_setuptaskfiles.c: Should be 'struct socket' not
|
||||||
|
'struct sockets'. How did this compile before? (found by Kate)
|
||||||
|
* syscall/syscall.csv: Fix prototype for usleep() and prctl() (also
|
||||||
|
from Kate).
|
||||||
|
* arch/arm/src/lpc17xx/lpc17_ethernet.c: Conditionally elide setting PHY
|
||||||
|
speed/duplex. This does not work for certain PHYs. Still some unresolved
|
||||||
|
issues (also from Kate).
|
||||||
|
|
||||||
|
@ -2100,9 +2100,29 @@ static inline int lpc17_phyinit(struct lpc17_driver_s *priv)
|
|||||||
|
|
||||||
/* Disable auto-configuration. Set the fixed speed/duplex mode.
|
/* Disable auto-configuration. Set the fixed speed/duplex mode.
|
||||||
* (probably more than little redundant).
|
* (probably more than little redundant).
|
||||||
|
*
|
||||||
|
* REVISIT: Revisit the following CONFIG_PHY_CEMENT_DISABLE work-around:
|
||||||
|
*
|
||||||
|
* "... I found this using a LPC1768 dev board with a DP83848I PHY. I'm
|
||||||
|
* using CONFIG_PHY_DP83848C for that ... I found that a static
|
||||||
|
* configuration for the PHY gave errors. I didn't investigate why.
|
||||||
|
*
|
||||||
|
* "My problem however was that autonegotiation seemingly failed -
|
||||||
|
* however on debugging I saw the calls for autonegotation were actually
|
||||||
|
* successful. I tracked the code down to [the following logic] and
|
||||||
|
* I saw that after the negotation completes, those negotiated
|
||||||
|
* parameters are then used to set a fixed speed and duplex, "just
|
||||||
|
* in case". It was that setting of a static configuration which
|
||||||
|
* failed for me."
|
||||||
|
*
|
||||||
|
* "I'm not sure if that's required for other situations or not, so I
|
||||||
|
* added a #define to optionally elide the call to cement the
|
||||||
|
* configuration. My PHY appears to be happy with this for the moment."
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef CONFIG_PHY_CEMENT_DISABLE
|
||||||
ret = lpc17_phymode(phyaddr, priv->lp_mode);
|
ret = lpc17_phymode(phyaddr, priv->lp_mode);
|
||||||
|
#endif
|
||||||
lpc17_showmii(phyaddr, "After final configuration");
|
lpc17_showmii(phyaddr, "After final configuration");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -148,8 +148,8 @@ static inline void sched_dupsockets(FAR _TCB *tcb)
|
|||||||
/* The parent task is the one at the head of the ready-to-run list */
|
/* The parent task is the one at the head of the ready-to-run list */
|
||||||
|
|
||||||
FAR _TCB *rtcb = (FAR _TCB*)g_readytorun.head;
|
FAR _TCB *rtcb = (FAR _TCB*)g_readytorun.head;
|
||||||
FAR struct sockets *parent;
|
FAR struct socket *parent;
|
||||||
FAR struct sockets *child;
|
FAR struct socket *child;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* Duplicate the socket descriptors of all sockets opened by the parent
|
/* Duplicate the socket descriptors of all sockets opened by the parent
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
"open","fcntl.h","CONFIG_NFILE_DESCRIPTORS > 0","int","const char*","int","..."
|
"open","fcntl.h","CONFIG_NFILE_DESCRIPTORS > 0","int","const char*","int","..."
|
||||||
"opendir","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","FAR DIR*","FAR const char*"
|
"opendir","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","FAR DIR*","FAR const char*"
|
||||||
"pipe","unistd.h","CONFIG_NFILE_DESCRIPTORS > 0","int","int [2]|int*"
|
"pipe","unistd.h","CONFIG_NFILE_DESCRIPTORS > 0","int","int [2]|int*"
|
||||||
"prctl", sys/prctl.h, "CONFIG_TASK_NAME_SIZE > 0","int","int","..."
|
"prctl","sys/prctl.h", "CONFIG_TASK_NAME_SIZE > 0","int","int","..."
|
||||||
"clock_systimer","nuttx/clock.h","!defined(CONFIG_DISABLE_CLOCK)","uint32_t"
|
"clock_systimer","nuttx/clock.h","!defined(CONFIG_DISABLE_CLOCK)","uint32_t"
|
||||||
"poll","poll.h","!defined(CONFIG_DISABLE_POLL) && (CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0)","int","FAR struct pollfd*","nfds_t","int"
|
"poll","poll.h","!defined(CONFIG_DISABLE_POLL) && (CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0)","int","FAR struct pollfd*","nfds_t","int"
|
||||||
"pthread_barrier_destroy","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_barrier_t*"
|
"pthread_barrier_destroy","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_barrier_t*"
|
||||||
@ -135,7 +135,7 @@
|
|||||||
#"up_assert","assert.h","","void"
|
#"up_assert","assert.h","","void"
|
||||||
"up_assert_code","assert.h","","void","FAR const uint8_t*","int","int"
|
"up_assert_code","assert.h","","void","FAR const uint8_t*","int","int"
|
||||||
#"up_assert_code","assert.h","","void","int"
|
#"up_assert_code","assert.h","","void","int"
|
||||||
"usleep","unistd.h","!defined(CONFIG_DISABLE_SIGNALS)","void","useconds_t"
|
"usleep","unistd.h","!defined(CONFIG_DISABLE_SIGNALS)","int","useconds_t"
|
||||||
#"wait","sys/wait.h","","pid_t","int*"
|
#"wait","sys/wait.h","","pid_t","int*"
|
||||||
#"waitid","sys/wait.h","","int","idtype_t","id_t id","siginfo_t*","int"
|
#"waitid","sys/wait.h","","int","idtype_t","id_t id","siginfo_t*","int"
|
||||||
"waitpid","sys/wait.h","defined(CONFIG_SCHED_WAITPID)","pid_t","pid_t","int*","int"
|
"waitpid","sys/wait.h","defined(CONFIG_SCHED_WAITPID)","pid_t","pid_t","int*","int"
|
||||||
|
Can't render this file because it has a wrong number of fields in line 2.
|
Loading…
Reference in New Issue
Block a user