From: Christoph Hellwig Date: Thu, 31 May 2007 15:38:02 +0000 (+0200) Subject: [S390] dasd_eer: use mutex instead of semaphore X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=3006d7c67139e5173cf58986c7b6e080a893e2ac;p=openwrt%2Fstaging%2Fblogic.git [S390] dasd_eer: use mutex instead of semaphore Signed-off-by: Christoph Hellwig Signed-off-by: Martin Schwidefsky --- diff --git a/drivers/s390/block/dasd_eer.c b/drivers/s390/block/dasd_eer.c index a1dc8c466ec9..0c081a664ee8 100644 --- a/drivers/s390/block/dasd_eer.c +++ b/drivers/s390/block/dasd_eer.c @@ -14,9 +14,9 @@ #include #include #include +#include #include -#include #include #include @@ -514,7 +514,7 @@ void dasd_eer_disable(struct dasd_device *device) * to transfer in a readbuffer, which is protected by the readbuffer_mutex. */ static char readbuffer[PAGE_SIZE]; -static DECLARE_MUTEX(readbuffer_mutex); +static DEFINE_MUTEX(readbuffer_mutex); static int dasd_eer_open(struct inode *inp, struct file *filp) { @@ -579,7 +579,7 @@ static ssize_t dasd_eer_read(struct file *filp, char __user *buf, struct eerbuffer *eerb; eerb = (struct eerbuffer *) filp->private_data; - if (down_interruptible(&readbuffer_mutex)) + if (mutex_lock_interruptible(&readbuffer_mutex)) return -ERESTARTSYS; spin_lock_irqsave(&bufferlock, flags); @@ -588,7 +588,7 @@ static ssize_t dasd_eer_read(struct file *filp, char __user *buf, /* has been deleted */ eerb->residual = 0; spin_unlock_irqrestore(&bufferlock, flags); - up(&readbuffer_mutex); + mutex_unlock(&readbuffer_mutex); return -EIO; } else if (eerb->residual > 0) { /* OK we still have a second half of a record to deliver */ @@ -602,7 +602,7 @@ static ssize_t dasd_eer_read(struct file *filp, char __user *buf, if (!tc) { /* no data available */ spin_unlock_irqrestore(&bufferlock, flags); - up(&readbuffer_mutex); + mutex_unlock(&readbuffer_mutex); if (filp->f_flags & O_NONBLOCK) return -EAGAIN; rc = wait_event_interruptible( @@ -610,7 +610,7 @@ static ssize_t dasd_eer_read(struct file *filp, char __user *buf, eerb->head != eerb->tail); if (rc) return rc; - if (down_interruptible(&readbuffer_mutex)) + if (mutex_lock_interruptible(&readbuffer_mutex)) return -ERESTARTSYS; spin_lock_irqsave(&bufferlock, flags); } @@ -626,11 +626,11 @@ static ssize_t dasd_eer_read(struct file *filp, char __user *buf, spin_unlock_irqrestore(&bufferlock, flags); if (copy_to_user(buf, readbuffer, effective_count)) { - up(&readbuffer_mutex); + mutex_unlock(&readbuffer_mutex); return -EFAULT; } - up(&readbuffer_mutex); + mutex_unlock(&readbuffer_mutex); return effective_count; }