megaraid_sas: fix compat ioctl handling
Subsystems (2)
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.
Signed-off-by Christoph Hellwig <[email protected]>
drivers/scsi/megaraid/megaraid_sas.c +2 -3
@@ -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
@@ -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 {