--- linux/drivers/scsi/scsi_ioctl.c.old	Mon Aug 11 21:00:52 1997
+++ linux/drivers/scsi/scsi_ioctl.c	Sat Aug 23 15:02:57 1997
@@ -10,4 +10,5 @@
 #include <asm/segment.h>
 #include <asm/system.h>
+#include <asm/page.h>
 
 #include <linux/errno.h>
@@ -29,5 +30,5 @@
 #define READ_ELEMENT_STATUS_TIMEOUT (5 * 60 * HZ)
 
-#define MAX_BUF 4096
+#define MAX_BUF PAGE_SIZE
 
 #define max(a,b) (((a) > (b)) ? (a) : (b))
@@ -206,6 +207,6 @@
      * should use scsi_generics instead.
      */
-    if( inlen > MAX_BUF ) inlen = MAX_BUF;
-    if( outlen > MAX_BUF ) outlen = MAX_BUF;
+    if( inlen > MAX_BUF )  return -EINVAL;
+    if( outlen > MAX_BUF )  return -EINVAL;
 
     cmd_in = (char *) ( ((int *)buffer) + 2);
