Skip to contentSkip to conversation

megaraid_sas: fix compat ioctl handling

PATCH New Christoph Hellwig 1 participant 1 message Oct 4, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 megaraid_sas: fix compat ioctl handling

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.

drivers/scsi/megaraid/megaraid_sas.c +2 -3
Index: linux-2.6/drivers/scsi/megaraid/megaraid_sas.c
===================================================================
@@ -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);
 	}
drivers/scsi/megaraid/megaraid_sas.h +2 -4
Index: linux-2.6/drivers/scsi/megaraid/megaraid_sas.h
===================================================================
@@ -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 {