From 0579825b69640941c497820bcbaac80476da0096 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Wed, 2 Aug 2017 14:28:17 -0600 Subject: [PATCH] Fix some errors in IOCTL decoding macros --- include/nuttx/fs/ioctl.h | 4 ++-- include/nuttx/wireless/wireless.h | 10 ++++++---- net/netdev/netdev_ioctl.c | 1 + 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/nuttx/fs/ioctl.h b/include/nuttx/fs/ioctl.h index 4e02de5371a..05f3d7288d9 100644 --- a/include/nuttx/fs/ioctl.h +++ b/include/nuttx/fs/ioctl.h @@ -98,8 +98,8 @@ /* Macros used to manage ioctl commands */ #define _IOC_MASK (0x00ff) -#define _IOC_TYPE(cmd) ((cmd)&~_IOC_MASK) -#define _IOC_NR(cmd) ((cmd)&_IOC_MASK) +#define _IOC_TYPE(cmd) ((cmd) & ~_IOC_MASK) +#define _IOC_NR(cmd) ((cmd) & _IOC_MASK) #define _IOC(type,nr) ((type)|(nr)) diff --git a/include/nuttx/wireless/wireless.h b/include/nuttx/wireless/wireless.h index 238c526fa52..37c84d61a36 100644 --- a/include/nuttx/wireless/wireless.h +++ b/include/nuttx/wireless/wireless.h @@ -166,15 +166,17 @@ #define WL_802154FIRST (WL_NETFIRST + WL_NNETCMDS) #define WL_N802154CMDS (3) -#define WL_ISPKTRADIOCMD(cmd) ((cmd) >= WL_802154FIRST && \ - (cmd) < (WL_802154FIRST + WL_N802154CMDS)) +#define WL_IS802154CMD(cmd) (_WLIOCVALID(cmd) && \ + _IOC_NR(cmd) >= WL_802154FIRST && \ + _IOC_NR(cmd) < (WL_802154FIRST + WL_N802154CMDS)) /* Reserved for network packet radio network devices */ #define WL_PKTRADIOFIRST (WL_802154FIRST + WL_N802154CMDS) #define WL_NPKTRADIOCMDS (3) -#define WL_ISPKTRADIOCMD(cmd) ((cmd) >= WL_PKTRADIOFIRST && \ - (cmd) < (WL_PKTRADIOFIRST + WL_NPKTRADIOCMDS)) +#define WL_ISPKTRADIOCMD(cmd) (_WLIOCVALID(cmd) && \ + _IOC_NR(cmd) >= WL_PKTRADIOFIRST && \ + _IOC_NR(cmd) < (WL_PKTRADIOFIRST + WL_NPKTRADIOCMDS)) /* ------------------------------- WIRELESS EVENTS ------------------------------- */ /* Those are *NOT* ioctls, do not issue request on them !!! */ diff --git a/net/netdev/netdev_ioctl.c b/net/netdev/netdev_ioctl.c index fbefabe29fc..28f3c4d0293 100644 --- a/net/netdev/netdev_ioctl.c +++ b/net/netdev/netdev_ioctl.c @@ -440,6 +440,7 @@ static int netdev_pktradio_ioctl(FAR struct socket *psock, int cmd, { /* Not a packet radio IOCTL command */ + nwarn("WARNING: Not a packet radio IOCTL command: %d\n", cmd); return -ENOTTY; }