Skip to content

Commit

Permalink
[SCSI] sem2mutex: scsi_transport_spi.c
Browse files Browse the repository at this point in the history
Convert the SCSI transport class code to use a mutex rather than a
semaphore.

Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
  • Loading branch information
Jes Sorensen authored and James Bottomley committed Jan 14, 2006
1 parent f20139b commit d158d26
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
10 changes: 5 additions & 5 deletions drivers/scsi/scsi_transport_spi.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#include <linux/module.h>
#include <linux/workqueue.h>
#include <linux/blkdev.h>
#include <asm/semaphore.h>
#include <linux/mutex.h>
#include <scsi/scsi.h>
#include "scsi_priv.h"
#include <scsi/scsi_device.h>
Expand All @@ -48,7 +48,7 @@

/* Private data accessors (keep these out of the header file) */
#define spi_dv_pending(x) (((struct spi_transport_attrs *)&(x)->starget_data)->dv_pending)
#define spi_dv_sem(x) (((struct spi_transport_attrs *)&(x)->starget_data)->dv_sem)
#define spi_dv_mutex(x) (((struct spi_transport_attrs *)&(x)->starget_data)->dv_mutex)

struct spi_internal {
struct scsi_transport_template t;
Expand Down Expand Up @@ -242,7 +242,7 @@ static int spi_setup_transport_attrs(struct transport_container *tc,
spi_hold_mcs(starget) = 0;
spi_dv_pending(starget) = 0;
spi_initial_dv(starget) = 0;
init_MUTEX(&spi_dv_sem(starget));
mutex_init(&spi_dv_mutex(starget));

return 0;
}
Expand Down Expand Up @@ -915,15 +915,15 @@ spi_dv_device(struct scsi_device *sdev)
scsi_target_quiesce(starget);

spi_dv_pending(starget) = 1;
down(&spi_dv_sem(starget));
mutex_lock(&spi_dv_mutex(starget));

starget_printk(KERN_INFO, starget, "Beginning Domain Validation\n");

spi_dv_device_internal(sdev, buffer);

starget_printk(KERN_INFO, starget, "Ending Domain Validation\n");

up(&spi_dv_sem(starget));
mutex_unlock(&spi_dv_mutex(starget));
spi_dv_pending(starget) = 0;

scsi_target_resume(starget);
Expand Down
2 changes: 1 addition & 1 deletion include/scsi/scsi_transport_spi.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ struct spi_transport_attrs {
unsigned int support_qas; /* supports quick arbitration and selection */
/* Private Fields */
unsigned int dv_pending:1; /* Internal flag */
struct semaphore dv_sem; /* semaphore to serialise dv */
struct mutex dv_mutex; /* semaphore to serialise dv */
};

enum spi_signal_type {
Expand Down

0 comments on commit d158d26

Please sign in to comment.