|
@@ -31,6 +31,7 @@
|
|
|
#include <linux/moduleparam.h>
|
|
|
#include <linux/module.h>
|
|
|
#include <linux/spinlock.h>
|
|
|
+#include <linux/mutex.h>
|
|
|
#include <linux/interrupt.h>
|
|
|
#include <linux/delay.h>
|
|
|
#include <linux/uio.h>
|
|
@@ -2358,7 +2359,7 @@ megasas_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
|
|
|
|
|
|
spin_lock_init(&instance->cmd_pool_lock);
|
|
|
|
|
|
- sema_init(&instance->aen_mutex, 1);
|
|
|
+ mutex_init(&instance->aen_mutex);
|
|
|
sema_init(&instance->ioctl_sem, MEGASAS_INT_CMDS);
|
|
|
|
|
|
/*
|
|
@@ -2874,10 +2875,10 @@ static int megasas_mgmt_ioctl_aen(struct file *file, unsigned long arg)
|
|
|
if (!instance)
|
|
|
return -ENODEV;
|
|
|
|
|
|
- down(&instance->aen_mutex);
|
|
|
+ mutex_lock(&instance->aen_mutex);
|
|
|
error = megasas_register_aen(instance, aen.seq_num,
|
|
|
aen.class_locale_word);
|
|
|
- up(&instance->aen_mutex);
|
|
|
+ mutex_unlock(&instance->aen_mutex);
|
|
|
return error;
|
|
|
}
|
|
|
|