You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gn...@apache.org on 2020/02/02 14:28:07 UTC

[incubator-nuttx] branch master updated (57099fe -> 0159726)

This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git.


    from 57099fe  tools/testbuild.sh: update fail to return the error value instead
     new 2d7c072  Remove duplicated NET_SLIP option from drivers/net/Kconfig
     new c5b1554  Remove NETDEV_LOOPBACK option, NET_LOOPBACK is enough
     new ca8191a  drivers/net/slip.c:  Don't use fd related operation in SLIP kernel thread
     new 0159726  drivers/net/slip.c:  It's enough to only hold the net lock in SLIP driver

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 ChangeLog                                  |  4 +--
 ReleaseNotes                               |  4 +--
 arch/arm/src/common/up_initialize.c        |  2 +-
 arch/avr/src/common/up_initialize.c        |  2 +-
 arch/hc/src/common/up_initialize.c         |  2 +-
 arch/mips/src/common/up_initialize.c       |  2 +-
 arch/or1k/src/common/up_initialize.c       |  2 +-
 arch/renesas/src/common/up_initialize.c    |  2 +-
 arch/sim/src/sim/up_initialize.c           |  2 +-
 arch/x86/src/common/up_initialize.c        |  2 +-
 arch/xtensa/src/common/xtensa_initialize.c |  2 +-
 arch/z16/src/common/up_initialize.c        |  2 +-
 arch/z80/src/common/up_initialize.c        |  2 +-
 drivers/net/Kconfig                        | 44 -----------------------
 drivers/net/Make.defs                      |  2 +-
 drivers/net/loopback.c                     |  8 ++---
 drivers/net/slip.c                         | 57 +++++++++++-------------------
 fs/userfs/Kconfig                          |  2 +-
 include/nuttx/net/loopback.h               |  2 --
 include/nuttx/net/slip.h                   |  2 +-
 net/Kconfig                                |  8 ++++-
 21 files changed, 50 insertions(+), 105 deletions(-)


[incubator-nuttx] 03/04: drivers/net/slip.c: Don't use fd related operation in SLIP kernel thread

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit ca8191ad41e78031f98bd6b542e8509e791e6fa4
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Sun Feb 2 15:21:03 2020 +0800

    drivers/net/slip.c:  Don't use fd related operation in SLIP kernel thread
---
 drivers/net/slip.c | 44 +++++++++++++++++++-------------------------
 1 file changed, 19 insertions(+), 25 deletions(-)

diff --git a/drivers/net/slip.c b/drivers/net/slip.c
index d8307c0..646e2ad 100644
--- a/drivers/net/slip.c
+++ b/drivers/net/slip.c
@@ -59,6 +59,7 @@
 #include <nuttx/signal.h>
 #include <nuttx/kthread.h>
 #include <nuttx/semaphore.h>
+#include <nuttx/fs/fs.h>
 #include <nuttx/net/net.h>
 #include <nuttx/net/netdev.h>
 #include <nuttx/net/ip.h>
@@ -139,7 +140,7 @@ struct slip_driver_s
 {
   volatile bool bifup;      /* true:ifup false:ifdown */
   bool          txnodelay;  /* True: nxsig_usleep() not needed */
-  int16_t       fd;         /* TTY file descriptor */
+  struct file   file;       /* TTY file descriptor */
   uint16_t      rxlen;      /* The number of bytes in rxbuf */
   pid_t         rxpid;      /* Receiver thread ID */
   pid_t         txpid;      /* Transmitter thread ID */
@@ -173,9 +174,9 @@ static void slip_semtake(FAR struct slip_driver_s *priv);
 static void slip_write(FAR struct slip_driver_s *priv,
                        FAR const uint8_t *buffer, int len);
 static void slip_putc(FAR struct slip_driver_s *priv, int ch);
-static int slip_transmit(FAR struct slip_driver_s *priv);
+static void slip_transmit(FAR struct slip_driver_s *priv);
 static int slip_txpoll(FAR struct net_driver_s *dev);
-static void slip_txtask(int argc, FAR char *argv[]);
+static int slip_txtask(int argc, FAR char *argv[]);
 
 /* Packet receiver task */
 
@@ -226,9 +227,8 @@ static inline void slip_write(FAR struct slip_driver_s *priv,
 {
   /* Handle the case where the write is awakened by a signal */
 
-  while (write(priv->fd, buffer, len) < 0)
+  while (file_write(&priv->file, buffer, len) < 0)
     {
-      DEBUGASSERT(errno == EINTR);
     }
 }
 
@@ -265,7 +265,7 @@ static inline void slip_putc(FAR struct slip_driver_s *priv, int ch)
  *
  ****************************************************************************/
 
-static int slip_transmit(FAR struct slip_driver_s *priv)
+static void slip_transmit(FAR struct slip_driver_s *priv)
 {
   uint8_t *src;
   uint8_t *start;
@@ -359,7 +359,6 @@ static int slip_transmit(FAR struct slip_driver_s *priv)
   slip_putc(priv, SLIP_END);
   NETDEV_TXDONE(&priv->dev);
   priv->txnodelay = true;
-  return OK;
 }
 
 /****************************************************************************
@@ -420,7 +419,7 @@ static int slip_txpoll(FAR struct net_driver_s *dev)
  *
  ****************************************************************************/
 
-static void slip_txtask(int argc, FAR char *argv[])
+static int slip_txtask(int argc, FAR char *argv[])
 {
   FAR struct slip_driver_s *priv;
   unsigned int index = *(argv[1]) - '0';
@@ -443,7 +442,7 @@ static void slip_txtask(int argc, FAR char *argv[])
   start_ticks = clock_systimer();
   for (;  ; )
     {
-      /* Wait for the timeout to expire (or until we are signaled by by  */
+      /* Wait for the timeout to expire (or until we are signaled by  */
 
       slip_semtake(priv);
       if (!priv->txnodelay)
@@ -494,6 +493,8 @@ static void slip_txtask(int argc, FAR char *argv[])
           slip_semgive(priv);
         }
     }
+
+  return OK;
 }
 
 /****************************************************************************
@@ -514,12 +515,11 @@ static inline int slip_getc(FAR struct slip_driver_s *priv)
 {
   uint8_t ch;
 
-  while (read(priv->fd, &ch, 1) < 0)
+  while (file_read(&priv->file, &ch, 1) < 0)
     {
-      DEBUGASSERT(errno == EINTR);
     }
 
-  return (int)ch;
+  return ch;
 }
 
 /****************************************************************************
@@ -952,6 +952,7 @@ int slip_initialize(int intf, FAR const char *devname)
   FAR struct slip_driver_s *priv;
   char buffer[8];
   FAR char *argv[2];
+  int ret;
 
   /* Get the interface structure associated with this interface number. */
 
@@ -972,11 +973,11 @@ int slip_initialize(int intf, FAR const char *devname)
 
   /* Open the device */
 
-  priv->fd            = nx_open(devname, O_RDWR, 0666);
-  if (priv->fd < 0)
+  ret = file_open(&priv->file, devname, O_RDWR, 0666);
+  if (ret < 0)
     {
-      nerr("ERROR: Failed to open %s: %d\n", devname, priv->fd);
-      return priv->fd;
+      nerr("ERROR: Failed to open %s: %d\n", devname, ret);
+      return ret;
     }
 
   /* Initialize the wait semaphore */
@@ -991,7 +992,7 @@ int slip_initialize(int intf, FAR const char *devname)
   argv[1] = NULL;
 
   priv->rxpid = kthread_create("rxslip", CONFIG_NET_SLIP_DEFPRIO,
-                               CONFIG_NET_SLIP_STACKSIZE, (main_t)slip_rxtask,
+                               CONFIG_NET_SLIP_STACKSIZE, slip_rxtask,
                                (FAR char * const *)argv);
   if (priv->rxpid < 0)
     {
@@ -1006,7 +1007,7 @@ int slip_initialize(int intf, FAR const char *devname)
   /* Start the SLIP transmitter kernel thread */
 
   priv->txpid = kthread_create("txslip", CONFIG_NET_SLIP_DEFPRIO,
-                               CONFIG_NET_SLIP_STACKSIZE, (main_t)slip_txtask,
+                               CONFIG_NET_SLIP_STACKSIZE, slip_txtask,
                                (FAR char * const *)argv);
   if (priv->txpid < 0)
     {
@@ -1025,13 +1026,6 @@ int slip_initialize(int intf, FAR const char *devname)
   /* Register the device with the OS so that socket IOCTLs can be performed */
 
   netdev_register(&priv->dev, NET_LL_SLIP);
-
-  /* When the RX and TX tasks were created, the TTY file descriptor was
-   * dup'ed for each task.  This task no longer needs the file descriptor
-   * and we can safely close it.
-   */
-
-  close(priv->fd);
   return OK;
 }
 


[incubator-nuttx] 04/04: drivers/net/slip.c: It's enough to only hold the net lock in SLIP driver

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 0159726da5794eecddc2a949ec46afccd6552fc3
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Sun Feb 2 15:24:17 2020 +0800

    drivers/net/slip.c:  It's enough to only hold the net lock in SLIP driver
---
 drivers/net/slip.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/net/slip.c b/drivers/net/slip.c
index 646e2ad..bdd2481 100644
--- a/drivers/net/slip.c
+++ b/drivers/net/slip.c
@@ -460,12 +460,6 @@ static int slip_txtask(int argc, FAR char *argv[])
 
       if (priv->bifup)
         {
-          /* Get exclusive access to the network (if it it is already being
-           * used slip_rxtask, then we have to wait).
-           */
-
-          slip_semtake(priv);
-
           /* Poll the networking layer for new XMIT data. */
 
           net_lock();
@@ -490,7 +484,6 @@ static int slip_txtask(int argc, FAR char *argv[])
             }
 
           net_unlock();
-          slip_semgive(priv);
         }
     }
 
@@ -705,11 +698,10 @@ static int slip_rxtask(int argc, FAR char *argv[])
 
       /* Handle the IP input.  Get exclusive access to the network. */
 
-      slip_semtake(priv);
+      net_lock();
       priv->dev.d_buf = priv->rxbuf;
       priv->dev.d_len = priv->rxlen;
 
-      net_lock();
       NETDEV_RXPACKETS(&priv->dev);
 
       /* All packets are assumed to be IP packets (we don't have a choice..
@@ -759,7 +751,6 @@ static int slip_rxtask(int argc, FAR char *argv[])
         }
 
       net_unlock();
-      slip_semgive(priv);
     }
 
   /* We won't get here */


[incubator-nuttx] 02/04: Remove NETDEV_LOOPBACK option, NET_LOOPBACK is enough

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit c5b1554d84bc4990667fb91fdf6276e2b258f501
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Sun Feb 2 14:15:24 2020 +0800

    Remove NETDEV_LOOPBACK option, NET_LOOPBACK is enough
---
 arch/arm/src/common/up_initialize.c        |  2 +-
 arch/avr/src/common/up_initialize.c        |  2 +-
 arch/hc/src/common/up_initialize.c         |  2 +-
 arch/mips/src/common/up_initialize.c       |  2 +-
 arch/or1k/src/common/up_initialize.c       |  2 +-
 arch/renesas/src/common/up_initialize.c    |  2 +-
 arch/sim/src/sim/up_initialize.c           |  2 +-
 arch/x86/src/common/up_initialize.c        |  2 +-
 arch/xtensa/src/common/xtensa_initialize.c |  2 +-
 arch/z16/src/common/up_initialize.c        |  2 +-
 arch/z80/src/common/up_initialize.c        |  2 +-
 drivers/net/Kconfig                        | 11 -----------
 drivers/net/Make.defs                      |  2 +-
 drivers/net/loopback.c                     |  8 ++++----
 fs/userfs/Kconfig                          |  2 +-
 include/nuttx/net/loopback.h               |  2 --
 net/Kconfig                                |  1 +
 17 files changed, 18 insertions(+), 30 deletions(-)

diff --git a/arch/arm/src/common/up_initialize.c b/arch/arm/src/common/up_initialize.c
index 14a287a..3ad5ff8 100644
--- a/arch/arm/src/common/up_initialize.c
+++ b/arch/arm/src/common/up_initialize.c
@@ -247,7 +247,7 @@ void up_initialize(void)
   up_netinitialize();
 #endif
 
-#ifdef CONFIG_NETDEV_LOOPBACK
+#ifdef CONFIG_NET_LOOPBACK
   /* Initialize the local loopback device */
 
   localhost_initialize();
diff --git a/arch/avr/src/common/up_initialize.c b/arch/avr/src/common/up_initialize.c
index 867d0ea..8378ac4 100644
--- a/arch/avr/src/common/up_initialize.c
+++ b/arch/avr/src/common/up_initialize.c
@@ -285,7 +285,7 @@ void up_initialize(void)
   up_netinitialize();
 #endif
 
-#ifdef CONFIG_NETDEV_LOOPBACK
+#ifdef CONFIG_NET_LOOPBACK
   /* Initialize the local loopback device */
 
   localhost_initialize();
diff --git a/arch/hc/src/common/up_initialize.c b/arch/hc/src/common/up_initialize.c
index 1b44f61..3e588fd 100644
--- a/arch/hc/src/common/up_initialize.c
+++ b/arch/hc/src/common/up_initialize.c
@@ -207,7 +207,7 @@ void up_initialize(void)
   up_netinitialize();
 #endif
 
-#ifdef CONFIG_NETDEV_LOOPBACK
+#ifdef CONFIG_NET_LOOPBACK
   /* Initialize the local loopback device */
 
   localhost_initialize();
diff --git a/arch/mips/src/common/up_initialize.c b/arch/mips/src/common/up_initialize.c
index b60662e..3456578 100644
--- a/arch/mips/src/common/up_initialize.c
+++ b/arch/mips/src/common/up_initialize.c
@@ -209,7 +209,7 @@ void up_initialize(void)
   up_netinitialize();
 #endif
 
-#ifdef CONFIG_NETDEV_LOOPBACK
+#ifdef CONFIG_NET_LOOPBACK
   /* Initialize the local loopback device */
 
   localhost_initialize();
diff --git a/arch/or1k/src/common/up_initialize.c b/arch/or1k/src/common/up_initialize.c
index 8c140e0..5609a5f 100644
--- a/arch/or1k/src/common/up_initialize.c
+++ b/arch/or1k/src/common/up_initialize.c
@@ -305,7 +305,7 @@ void up_initialize(void)
   up_netinitialize();
 #endif
 
-#ifdef CONFIG_NETDEV_LOOPBACK
+#ifdef CONFIG_NET_LOOPBACK
   /* Initialize the local loopback device */
 
   localhost_initialize();
diff --git a/arch/renesas/src/common/up_initialize.c b/arch/renesas/src/common/up_initialize.c
index cf8e761..0993bcf 100644
--- a/arch/renesas/src/common/up_initialize.c
+++ b/arch/renesas/src/common/up_initialize.c
@@ -193,7 +193,7 @@ void up_initialize(void)
   up_netinitialize();
 #endif
 
-#ifdef CONFIG_NETDEV_LOOPBACK
+#ifdef CONFIG_NET_LOOPBACK
   /* Initialize the local loopback device */
 
   localhost_initialize();
diff --git a/arch/sim/src/sim/up_initialize.c b/arch/sim/src/sim/up_initialize.c
index 124cc39..94a586f 100644
--- a/arch/sim/src/sim/up_initialize.c
+++ b/arch/sim/src/sim/up_initialize.c
@@ -274,7 +274,7 @@ void up_initialize(void)
   netdriver_init();         /* Our "real" network driver */
 #endif
 
-#ifdef CONFIG_NETDEV_LOOPBACK
+#ifdef CONFIG_NET_LOOPBACK
   /* Initialize the local loopback device */
 
   localhost_initialize();
diff --git a/arch/x86/src/common/up_initialize.c b/arch/x86/src/common/up_initialize.c
index 35498b6..432672b 100644
--- a/arch/x86/src/common/up_initialize.c
+++ b/arch/x86/src/common/up_initialize.c
@@ -209,7 +209,7 @@ void up_initialize(void)
   up_netinitialize();
 #endif
 
-#ifdef CONFIG_NETDEV_LOOPBACK
+#ifdef CONFIG_NET_LOOPBACK
   /* Initialize the local loopback device */
 
   localhost_initialize();
diff --git a/arch/xtensa/src/common/xtensa_initialize.c b/arch/xtensa/src/common/xtensa_initialize.c
index 75fd8b7..922b4a5 100644
--- a/arch/xtensa/src/common/xtensa_initialize.c
+++ b/arch/xtensa/src/common/xtensa_initialize.c
@@ -217,7 +217,7 @@ void up_initialize(void)
   up_netinitialize();
 #endif
 
-#ifdef CONFIG_NETDEV_LOOPBACK
+#ifdef CONFIG_NET_LOOPBACK
   /* Initialize the local loopback device */
 
   localhost_initialize();
diff --git a/arch/z16/src/common/up_initialize.c b/arch/z16/src/common/up_initialize.c
index 0e4e0ba..4da1978 100644
--- a/arch/z16/src/common/up_initialize.c
+++ b/arch/z16/src/common/up_initialize.c
@@ -209,7 +209,7 @@ void up_initialize(void)
   up_netinitialize();
 #endif
 
-#ifdef CONFIG_NETDEV_LOOPBACK
+#ifdef CONFIG_NET_LOOPBACK
   /* Initialize the local loopback device */
 
   localhost_initialize();
diff --git a/arch/z80/src/common/up_initialize.c b/arch/z80/src/common/up_initialize.c
index 4d42fa2..c93c776 100644
--- a/arch/z80/src/common/up_initialize.c
+++ b/arch/z80/src/common/up_initialize.c
@@ -214,7 +214,7 @@ void up_initialize(void)
   up_netinitialize();
 #endif
 
-#ifdef CONFIG_NETDEV_LOOPBACK
+#ifdef CONFIG_NET_LOOPBACK
   /* Initialize the local loopback device */
 
   localhost_initialize();
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index db05318..68b5b84 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -5,17 +5,6 @@
 
 comment "General Ethernet MAC Driver Options"
 
-config NETDEV_LOOPBACK
-	bool
-	default n if !NET_LOOPBACK
-	default y if NET_LOOPBACK
-	select ARCH_HAVE_NETDEV_STATISTICS
-	---help---
-		Add support for the local network loopback device, lo.
-
-if NETDEV_LOOPBACK
-endif # NETDEV_LOOPBACK
-
 config NET_RPMSG_DRV
 	bool "RPMSG net driver"
 	depends on NET && OPENAMP
diff --git a/drivers/net/Make.defs b/drivers/net/Make.defs
index bf8e314..c5078e0 100644
--- a/drivers/net/Make.defs
+++ b/drivers/net/Make.defs
@@ -39,7 +39,7 @@ ifeq ($(CONFIG_NET),y)
 
 # Include network interface drivers
 
-ifeq ($(CONFIG_NETDEV_LOOPBACK),y)
+ifeq ($(CONFIG_NET_LOOPBACK),y)
   CSRCS += loopback.c
 endif
 
diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c
index d990d68..88a5d05 100644
--- a/drivers/net/loopback.c
+++ b/drivers/net/loopback.c
@@ -62,13 +62,13 @@
 #  include <nuttx/net/pkt.h>
 #endif
 
-#ifdef CONFIG_NETDEV_LOOPBACK
+#ifdef CONFIG_NET_LOOPBACK
 
 /****************************************************************************
  * Pre-processor Definitions
  ****************************************************************************/
 
-/* We need to have the work queue to handle SPI interrupts */
+/* We need to have the work queue to handle interrupts */
 
 #if !defined(CONFIG_SCHED_WORKQUEUE)
 #  error Worker thread support is required (CONFIG_SCHED_WORKQUEUE)
@@ -78,7 +78,7 @@
 
 #define LO_WDDELAY   (1*CLK_TCK)
 
-/* This is a helper pointer for accessing the contents of the Ethernet header */
+/* This is a helper pointer for accessing the contents of the IP header */
 
 #define IPv4BUF ((FAR struct ipv4_hdr_s *)priv->lo_dev.d_buf)
 #define IPv6BUF ((FAR struct ipv6_hdr_s *)priv->lo_dev.d_buf)
@@ -552,4 +552,4 @@ int localhost_initialize(void)
   return lo_ifup(&priv->lo_dev);
 }
 
-#endif /* CONFIG_NETDEV_LOOPBACK */
+#endif /* CONFIG_NET_LOOPBACK */
diff --git a/fs/userfs/Kconfig b/fs/userfs/Kconfig
index 4a13140..762e4c8 100644
--- a/fs/userfs/Kconfig
+++ b/fs/userfs/Kconfig
@@ -6,7 +6,7 @@
 config FS_USERFS
 	bool "User file system"
 	default n
-	depends on NET_IPv4 && NET_UDP && NETDEV_LOOPBACK
+	depends on NET_IPv4 && NET_UDP && NET_LOOPBACK
 	---help---
 		Enable support for user file system.  See include/nuttx/fs/userfs.h
 
diff --git a/include/nuttx/net/loopback.h b/include/nuttx/net/loopback.h
index 03bc0a3..1dce9fc 100644
--- a/include/nuttx/net/loopback.h
+++ b/include/nuttx/net/loopback.h
@@ -99,9 +99,7 @@ EXTERN const net_ipv6addr_t g_lo_ipv6mask;
  *
  ****************************************************************************/
 
-#ifdef CONFIG_NETDEV_LOOPBACK
 int localhost_initialize(void);
-#endif /* CONFIG_NETDEV_LOOPBACK */
 
 #undef EXTERN
 #ifdef __cplusplus
diff --git a/net/Kconfig b/net/Kconfig
index 306268a..e7c6973 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -123,6 +123,7 @@ config NET_ETHERNET
 
 config NET_LOOPBACK
 	bool "Local loopback"
+	select ARCH_HAVE_NETDEV_STATISTICS
 	default n
 	---help---
 		Add support for the local network loopback device, lo.


[incubator-nuttx] 01/04: Remove duplicated NET_SLIP option from drivers/net/Kconfig

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 2d7c072723902aa763d3851f6399c39cbb1851fe
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Sun Feb 2 14:20:43 2020 +0800

    Remove duplicated NET_SLIP option from drivers/net/Kconfig
---
 ChangeLog                |  4 ++--
 ReleaseNotes             |  4 ++--
 drivers/net/Kconfig      | 33 ---------------------------------
 drivers/net/slip.c       |  2 +-
 include/nuttx/net/slip.h |  2 +-
 net/Kconfig              |  7 ++++++-
 6 files changed, 12 insertions(+), 40 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 33cb697..808be46 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15767,7 +15767,7 @@
 	  Other TCP-specific issues also fixed.  There remains a major
 	  outstanding issue with ACK handling.  Handle case where the local
 	  address is zero (listen socket).  Major re-architecting of TCP logic
-	  to properly handle TCP stuf like ACKs and TPC windowing which were
+	  to properly handle TCP stuf like ACKs and TCP windowing which were
 	  not properly covered in the initial design.  Still does not work;
 	  hangs waiting of ACKs.Various fixes for a clean build if either TCP
 	  or UDP are disabled.  Given the current state of TCP, it is
@@ -17528,7 +17528,7 @@
 	  use file-system in between.  NOTE that this provides the opposite
 	  capability of FTL which will let you use an MTD interface directly as a
 	  block device.  From Jussi Kivilinna (2017-10-19).
-	* There was a reference counting problem in the TPC logic of
+	* There was a reference counting problem in the TCP logic of
 	  net_clone().  net_clone() which is the common logic underlying dup() and
 	  dup2() for sockets.  When net_clone() calls net_start_monitor() and
 	  net_start_monitor() returns a failure (because the underlying TCP
diff --git a/ReleaseNotes b/ReleaseNotes
index 4feea7f..59d4810 100644
--- a/ReleaseNotes
+++ b/ReleaseNotes
@@ -16312,7 +16312,7 @@ detailed bugfix information):
       - sockgetname() files need to include udp/udp.h and tcp/tcp.h or
         otherwise NET_UDP_HAVE_STACK and NET_TCP_HAVE_STACK are undefined
         and the logic is never compiled.  Noted by Anthony Merlino.
-      - dup()/dup2():  There was a reference counting problem in the TPC
+      - dup()/dup2():  There was a reference counting problem in the TCP
         logic of net_clone().  net_clone() which is the common logic
         underlying dup() and dup2() for sockets.  When net_clone() calls
         net_start_monitor() and net_start_monitor() returns a failure
@@ -20236,7 +20236,7 @@ detailed bugfix information):
         multicast address.  Exiting logic only supported UDP multicast.  But
         MLD and certain other ICMPv6 packets also require acceptance of
         multicast packets.  From Gregory Nutt.
-      - TCP:  In TPC recv window calculations, in order to receive data we
+      - TCP:  In TCP recv window calculations, in order to receive data we
         must not only have IOBs available, but we must also have at least one
         IOB chain qentry available.  Otherwise, we will advertise that we an
         buffer a lot of data when, in fact, we cannot.  This is an
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index df323c2..db05318 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -94,10 +94,6 @@ config TELNET_DUMPBUFFER
 
 endif # NETDEV_TELNET
 
-config ARCH_HAVE_NETDEV_STATISTICS
-	bool
-	default n
-
 config NETDEV_STATISTICS
 	bool "Network device driver statistics"
 	depends on NET_STATISTICS && ARCH_HAVE_NETDEV_STATISTICS
@@ -307,35 +303,6 @@ config ENCX24J600_REGDEBUG
 
 endif # ENCX24J600
 
-menuconfig NET_SLIP
-	bool "SLIP (serial line) support"
-	default n
-	select ARCH_HAVE_NETDEV_STATISTICS
-	---help---
-		Reference: RFC 1055
-
-if NET_SLIP
-
-config NET_SLIP_STACKSIZE
-	int "Daemon stack size"
-	default 2048
-	---help---
-		Provides the stack size for SLIP RX and TX.
-
-config NET_SLIP_DEFPRIO
-	int "Daemon priority"
-	default 128
-	---help---
-		Provides the priority for SLIP RX and TX threads.
-
-config NET_SLIP_NINTERFACES
-	int "Number of SLIP interfaces"
-	default 1
-	---help---
-		Determines the number of physical interfaces that will be supported.
-
-endif
-
 menuconfig NET_FTMAC100
 	bool "Faraday 10/100 Ethernet"
 	default n
diff --git a/drivers/net/slip.c b/drivers/net/slip.c
index 0972a9c..d8307c0 100644
--- a/drivers/net/slip.c
+++ b/drivers/net/slip.c
@@ -87,7 +87,7 @@
 #endif
 
 /* The Linux slip module hard-codes its MTU size to 296 (40 bytes for the
- * IP+TPC headers plus 256 bytes of data).  So you might as well set
+ * IP+TCP headers plus 256 bytes of data).  So you might as well set
  * CONFIG_NET_SLIP_PKTSIZE to 296 as well.
  *
  * There may be an issue with this setting, however.  I see that Linux uses
diff --git a/include/nuttx/net/slip.h b/include/nuttx/net/slip.h
index 914f0ff..0efae08 100644
--- a/include/nuttx/net/slip.h
+++ b/include/nuttx/net/slip.h
@@ -62,7 +62,7 @@
  *     Default 296
  *
  *     The Linux slip module hard-codes its MTU size to 296 (40 bytes for the
- *     IP+TPC headers plus 256 bytes of data).  So you might as well set
+ *     IP+TCP headers plus 256 bytes of data).  So you might as well set
  *     CONFIG_NET_SLIP_PKTSIZE to 296 as well.
  *
  *     There may be an issue with this setting, however.  I see that Linux
diff --git a/net/Kconfig b/net/Kconfig
index 4c8d0dc..306268a 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -11,6 +11,10 @@ config ARCH_HAVE_PHY
 	bool
 	default n
 
+config ARCH_HAVE_NETDEV_STATISTICS
+	bool
+	default n
+
 config NET_WRITE_BUFFERS
 	bool
 	default n
@@ -84,7 +88,7 @@ config NET_SLIP_PKTSIZE
 		296 are not recommended.
 
 		The Linux slip module hard-codes its MTU size to 296 (40 bytes for
-		the IP+TPC headers plus 256 bytes of data).  So you might as well
+		the IP+TCP headers plus 256 bytes of data).  So you might as well
 		set CONFIG_NET_SLIP_PKTSIZE to 296 as well.
 
 		There may be an issue with this setting, however.  I see that Linux
@@ -125,6 +129,7 @@ config NET_LOOPBACK
 
 menuconfig NET_SLIP
 	bool "SLIP support"
+	select ARCH_HAVE_NETDEV_STATISTICS
 	default n
 	---help---
 		Enables building of the SLIP driver. SLIP requires