MEGASAS_IOC_FIRMWARE can't be redefined if CONFIG_COMPAT is set, we need to define a MEGASAS_IOC_FIRMWARE32 define so native binaries continue to work. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Index: linux-2.6/drivers/scsi/megaraid/megaraid_sas.c =================================================================== --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_sas.c 2005-10-04 20:22:11.000000000 +0200 +++ linux-2.6/drivers/scsi/megaraid/megaraid_sas.c 2005-10-04 20:29:14.000000000 +0200 @@ -2615,9 +2615,8 @@ unsigned long arg) { switch (cmd) { - case MEGASAS_IOC_FIRMWARE:{ - return megasas_mgmt_compat_ioctl_fw(file, arg); - } + case MEGASAS_IOC_FIRMWARE32: + return megasas_mgmt_compat_ioctl_fw(file, arg); case MEGASAS_IOC_GET_AEN: return megasas_mgmt_ioctl_aen(file, arg); } Index: linux-2.6/drivers/scsi/megaraid/megaraid_sas.h =================================================================== --- linux-2.6.orig/drivers/scsi/megaraid/megaraid_sas.h 2005-10-04 20:07:32.000000000 +0200 +++ linux-2.6/drivers/scsi/megaraid/megaraid_sas.h 2005-10-04 20:28:27.000000000 +0200 @@ -1124,12 +1124,10 @@ } frame; struct compat_iovec sgl[MAX_IOCTL_SGE]; } __attribute__ ((packed)); - -#define MEGASAS_IOC_FIRMWARE _IOWR('M', 1, struct compat_megasas_iocpacket) -#else -#define MEGASAS_IOC_FIRMWARE _IOWR('M', 1, struct megasas_iocpacket) #endif +#define MEGASAS_IOC_FIRMWARE _IOWR('M', 1, struct megasas_iocpacket) +#define MEGASAS_IOC_FIRMWARE32 _IOWR('M', 1, struct compat_megasas_iocpacket) #define MEGASAS_IOC_GET_AEN _IOW('M', 3, struct megasas_aen) struct megasas_mgmt_info { - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html