aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorKashyap Desai <Kashyap.Desai@lsi.com>2012-07-17 18:20:44 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-14 10:00:50 -0700
commitb787880f60d492c28a5638bc7c59017c067377d3 (patch)
tree4b9dfb205ca69fe41825702bcf1b0db7bc412c2f /drivers/scsi
parent3ee8d648935cc63a611c454103419f2100d45c56 (diff)
downloadkernel_samsung_smdk4412-b787880f60d492c28a5638bc7c59017c067377d3.tar.gz
kernel_samsung_smdk4412-b787880f60d492c28a5638bc7c59017c067377d3.tar.bz2
kernel_samsung_smdk4412-b787880f60d492c28a5638bc7c59017c067377d3.zip
SCSI: megaraid_sas: Move poll_aen_lock initializer
commit bd8d6dd43a77bfd2b8fef5b094b9d6095e169dee upstream. The following patch 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@lsi.com> Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/megaraid/megaraid_sas_base.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index e6e30f4da1f..931cb11083c 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -4052,7 +4052,6 @@ megasas_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
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);
@@ -5380,6 +5379,8 @@ static int __init megasas_init(void)
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;