From 9d3abe8b712e46d254326c094c012acb7c47afff Mon Sep 17 00:00:00 2001 From: xucheng5 Date: Fri, 11 Aug 2023 11:14:13 +0800 Subject: [PATCH] socket can : support ioctl cmd SIOCCANRECOVERY send CMD to restart controller in state bus-off Signed-off-by: xucheng5 --- include/nuttx/net/ioctl.h | 1 + net/netdev/netdev_ioctl.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/include/nuttx/net/ioctl.h b/include/nuttx/net/ioctl.h index d84733a20e..7400a38a65 100644 --- a/include/nuttx/net/ioctl.h +++ b/include/nuttx/net/ioctl.h @@ -121,6 +121,7 @@ #define SIOCDCANEXTFILTER _SIOC(0x002F) /* Delete hardware-level exteneded ID filter */ #define SIOCACANSTDFILTER _SIOC(0x0030) /* Add hardware-level standard ID filter */ #define SIOCDCANSTDFILTER _SIOC(0x0031) /* Delete hardware-level standard ID filter */ +#define SIOCCANRECOVERY _SIOC(0x0032) /* Recovery can, work only when bus-off state */ /* Network socket control ***************************************************/ diff --git a/net/netdev/netdev_ioctl.c b/net/netdev/netdev_ioctl.c index f906f6af9c..24bbfd18c9 100644 --- a/net/netdev/netdev_ioctl.c +++ b/net/netdev/netdev_ioctl.c @@ -710,6 +710,7 @@ static ssize_t net_ioctl_ifreq_arglen(int cmd) case SIOCDCANEXTFILTER: case SIOCACANSTDFILTER: case SIOCDCANSTDFILTER: + case SIOCCANRECOVERY: case SIOCSIFNAME: case SIOCGIFNAME: case SIOCGIFINDEX: @@ -1106,6 +1107,7 @@ static int netdev_ifr_ioctl(FAR struct socket *psock, int cmd, case SIOCDCANEXTFILTER: /* Delete an extended-ID filter */ case SIOCACANSTDFILTER: /* Add a standard-ID filter */ case SIOCDCANSTDFILTER: /* Delete a standard-ID filter */ + case SIOCCANRECOVERY: /* Recovery can controller when bus-off */ if (dev->d_ioctl) { FAR struct can_ioctl_filter_s *can_filter =