Cc: stable James/linux-scsi, The following patch from Kashyap Desai for megaraid_sas moves the poll_aen_lock initializer from megasas_probe_one() to megasas_init(). This prevents a crash when a user loads the driver and tries to issue a poll() system call on the ioctl interface with no adapters present. Signed-off-by: Kashyap Desai <Kashyap.Desai@xxxxxxx> Signed-off-by: Adam Radford <aradford@xxxxxxxxx> diff -Naur scsi/drivers/scsi/megaraid/megaraid_sas_base.c scsi.new/drivers/scsi/megaraid/megaraid_sas_base.c --- scsi/drivers/scsi/megaraid/megaraid_sas_base.c 2012-07-17 14:57:32.890231627 -0700 +++ scsi.new/drivers/scsi/megaraid/megaraid_sas_base.c 2012-07-17 14:59:37.285232167 -0700 @@ -4095,7 +4095,6 @@ spin_lock_init(&instance->cmd_pool_lock); spin_lock_init(&instance->hba_lock); spin_lock_init(&instance->completion_lock); - spin_lock_init(&poll_aen_lock); mutex_init(&instance->aen_mutex); mutex_init(&instance->reset_mutex); @@ -5421,6 +5420,8 @@ printk(KERN_INFO "megasas: %s %s\n", MEGASAS_VERSION, MEGASAS_EXT_VERSION); + spin_lock_init(&poll_aen_lock); + support_poll_for_event = 2; support_device_change = 1;
Attachment:
megaraid_sas.patch4
Description: Binary data