diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/i2c/i2c-dev.c linux-2.5/drivers/i2c/i2c-dev.c
--- bk-linus/drivers/i2c/i2c-dev.c	2002-11-21 02:14:27.000000000 +0000
+++ linux-2.5/drivers/i2c/i2c-dev.c	2002-11-21 17:58:07.000000000 +0000
@@ -115,6 +115,9 @@ static ssize_t i2cdev_read (struct file 
 
 	struct i2c_client *client = (struct i2c_client *)file->private_data;
 
+	if(count > 8192)
+		count = 8192;
+		
 	/* copy user space data to kernel space. */
 	tmp = kmalloc(count,GFP_KERNEL);
 	if (tmp==NULL)
@@ -143,6 +146,9 @@ static ssize_t i2cdev_write (struct file
 	struct inode *inode = file->f_dentry->d_inode;
 #endif /* DEBUG */
 
+	if(count > 8192)
+		count = 8192;
+		
 	/* copy user space data to kernel space. */
 	tmp = kmalloc(count,GFP_KERNEL);
 	if (tmp==NULL)
