diff -uNr linux-2.6.10.orig/drivers/mtd/mtdchar.c linux-2.6.10.nand/drivers/mtd/mtdchar.c --- linux-2.6.10.orig/drivers/mtd/mtdchar.c 2005-11-24 15:58:37.000000000 +0300 +++ linux-2.6.10.nand/drivers/mtd/mtdchar.c 2005-11-28 16:40:40.000000000 +0300 @@ -520,16 +520,9 @@ break; } - case MEMSETOOBSEL: + case MEMGETOOBAVAIL: { - if (copy_from_user(&mtd->oobinfo, argp, sizeof(struct nand_oobinfo))) - return -EFAULT; - break; - } - - case MEMGETOOBSEL: - { - if (copy_to_user(argp, &(mtd->oobinfo), sizeof(struct nand_oobinfo))) + if (copy_to_user(argp, &(mtd->oobavail), sizeof(mtd->oobavail))) return -EFAULT; break; } diff -uNr linux-2.6.10.orig/include/mtd/mtd-abi.h linux-2.6.10.nand/include/mtd/mtd-abi.h --- linux-2.6.10.orig/include/mtd/mtd-abi.h 2005-11-24 15:58:49.000000000 +0300 +++ linux-2.6.10.nand/include/mtd/mtd-abi.h 2005-11-30 16:35:24.972168568 +0300 @@ -102,14 +102,13 @@ #define MEMUNLOCK _IOW('M', 6, struct erase_info_user) #define MEMGETREGIONCOUNT _IOR('M', 7, int) #define MEMGETREGIONINFO _IOWR('M', 8, struct region_info_user) -#define MEMSETOOBSEL _IOW('M', 9, struct nand_oobinfo) -#define MEMGETOOBSEL _IOR('M', 10, struct nand_oobinfo) #define MEMGETBADBLOCK _IOW('M', 11, loff_t) #define MEMSETBADBLOCK _IOW('M', 12, loff_t) #define OTPSELECT _IOR('M', 13, int) #define OTPGETREGIONCOUNT _IOW('M', 14, int) #define OTPGETREGIONINFO _IOW('M', 15, struct otp_info) #define OTPLOCK _IOR('M', 16, struct otp_info) +#define MEMGETOOBAVAIL _IOR('M', 16, uint32_t) struct nand_oobinfo { uint32_t useecc;