summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@kernel.bkbits.net>2003-10-29 18:41:58 -0800
committerDavid S. Miller <davem@kernel.bkbits.net>2003-10-29 18:41:58 -0800
commit36eef0113cd9373eaddadfee77bdc3dd51da8c8b (patch)
tree15ccdf525c03a3a71c2bd38f1b7e82a39af02788 /include
parenta8f975952030c0ccc5de4ec70c7fd7d422beb1fb (diff)
parent28da9dc480467f721c0f9d5823b6fa98312f3ae8 (diff)
Merge davem@nuts.ninka.net:/disk1/davem/BK/sparc-2.5
into kernel.bkbits.net:/home/davem/sparc-2.5
Diffstat (limited to 'include')
-rw-r--r--include/asm-sparc/ioctl.h4
-rw-r--r--include/asm-sparc64/ioctl.h4
2 files changed, 6 insertions, 2 deletions
diff --git a/include/asm-sparc/ioctl.h b/include/asm-sparc/ioctl.h
index 9485a8e0fd50..e6fc4de19940 100644
--- a/include/asm-sparc/ioctl.h
+++ b/include/asm-sparc/ioctl.h
@@ -54,7 +54,9 @@
(((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) )
#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_XSIZEMASK)
+#define _IOC_SIZE(nr) \
+ ((((((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) & (_IOC_WRITE|_IOC_READ)) == 0)? \
+ 0: (((nr) >> _IOC_SIZESHIFT) & _IOC_XSIZEMASK))
/* ...and for the PCMCIA and sound. */
#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
diff --git a/include/asm-sparc64/ioctl.h b/include/asm-sparc64/ioctl.h
index b86952fafa7c..253d0b57b316 100644
--- a/include/asm-sparc64/ioctl.h
+++ b/include/asm-sparc64/ioctl.h
@@ -54,7 +54,9 @@
(((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) )
#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_XSIZEMASK)
+#define _IOC_SIZE(nr) \
+ ((((((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) & (_IOC_WRITE|_IOC_READ)) == 0)? \
+ 0: (((nr) >> _IOC_SIZESHIFT) & _IOC_XSIZEMASK))
/* ...and for the PCMCIA and sound. */
#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)