RE: [patch 17/17] use mutex instead of semaphore in Megaraid Mailbox driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ack.

--Sumant

-----Original Message-----
From: akpm@xxxxxxxxxxxxxxxxxxxx [mailto:akpm@xxxxxxxxxxxxxxxxxxxx] 
Sent: Monday, July 09, 2007 12:00 PM
To: James.Bottomley@xxxxxxxxxxxx
Cc: linux-scsi@xxxxxxxxxxxxxxx; akpm@xxxxxxxxxxxxxxxxxxxx;
matthias.kaehlcke@xxxxxxxxx; Patro, Sumant
Subject: [patch 17/17] use mutex instead of semaphore in Megaraid
Mailbox driver

From: Matthias Kaehlcke <matthias.kaehlcke@xxxxxxxxx>

The Megaraid Mailbox driver uses a semaphore as mutex.  Use the mutex
API
instead of the (binary) semaphore.

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@xxxxxxxxx>
Cc: "Patro, Sumant" <Sumant.Patro@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 drivers/scsi/megaraid/mega_common.h   |    1 +
 drivers/scsi/megaraid/megaraid_mbox.c |    6 +++---
 drivers/scsi/megaraid/megaraid_mbox.h |    4 ++--
 3 files changed, 6 insertions(+), 5 deletions(-)

diff -puN
drivers/scsi/megaraid/mega_common.h~use-mutex-instead-of-semaphore-in-me
garaid-mailbox-driver drivers/scsi/megaraid/mega_common.h
---
a/drivers/scsi/megaraid/mega_common.h~use-mutex-instead-of-semaphore-in-
megaraid-mailbox-driver
+++ a/drivers/scsi/megaraid/mega_common.h
@@ -21,6 +21,7 @@
 #include <linux/types.h>
 #include <linux/pci.h>
 #include <linux/spinlock.h>
+#include <linux/mutex.h>
 #include <linux/interrupt.h>
 #include <linux/delay.h>
 #include <linux/blkdev.h>
diff -puN
drivers/scsi/megaraid/megaraid_mbox.c~use-mutex-instead-of-semaphore-in-
megaraid-mailbox-driver drivers/scsi/megaraid/megaraid_mbox.c
---
a/drivers/scsi/megaraid/megaraid_mbox.c~use-mutex-instead-of-semaphore-i
n-megaraid-mailbox-driver
+++ a/drivers/scsi/megaraid/megaraid_mbox.c
@@ -3880,7 +3880,7 @@ megaraid_sysfs_alloc_resources(adapter_t
 		megaraid_sysfs_free_resources(adapter);
 	}
 
-	sema_init(&raid_dev->sysfs_sem, 1);
+	mutex_init(&raid_dev->sysfs_mtx);
 
 	init_waitqueue_head(&raid_dev->sysfs_wait_q);
 
@@ -3981,7 +3981,7 @@ megaraid_sysfs_get_ldmap(adapter_t *adap
 	/*
 	 * Allow only one read at a time to go through the sysfs
attributes
 	 */
-	down(&raid_dev->sysfs_sem);
+	mutex_lock(&raid_dev->sysfs_mtx);
 
 	uioc	= raid_dev->sysfs_uioc;
 	mbox64	= raid_dev->sysfs_mbox64;
@@ -4057,7 +4057,7 @@ megaraid_sysfs_get_ldmap(adapter_t *adap
 
 	del_timer_sync(timerp);
 
-	up(&raid_dev->sysfs_sem);
+	mutex_unlock(&raid_dev->sysfs_mtx);
 
 	return rval;
 }
diff -puN
drivers/scsi/megaraid/megaraid_mbox.h~use-mutex-instead-of-semaphore-in-
megaraid-mailbox-driver drivers/scsi/megaraid/megaraid_mbox.h
---
a/drivers/scsi/megaraid/megaraid_mbox.h~use-mutex-instead-of-semaphore-i
n-megaraid-mailbox-driver
+++ a/drivers/scsi/megaraid/megaraid_mbox.h
@@ -168,7 +168,7 @@ typedef struct {
  * @hw_error			: set if FW not responding
  * @fast_load			: If set, skip physical device scanning
  * @channel_class		: channel class, RAID or SCSI
- * @sysfs_sem			: semaphore to serialize access to sysfs
res.
+ * @sysfs_mtx			: mutex to serialize access to sysfs
res.
  * @sysfs_uioc			: management packet to issue FW calls
from sysfs
  * @sysfs_mbox64		: mailbox packet to issue FW calls from
sysfs
  * @sysfs_buffer		: data buffer for FW commands issued
from sysfs
@@ -208,7 +208,7 @@ typedef struct {
 	int				hw_error;
 	int				fast_load;
 	uint8_t				channel_class;
-	struct semaphore		sysfs_sem;
+	struct mutex			sysfs_mtx;
 	uioc_t				*sysfs_uioc;
 	mbox64_t			*sysfs_mbox64;
 	caddr_t				sysfs_buffer;
_
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux