2008-03-06 17:24:31

by Julia Lawall

[permalink] [raw]
Subject: [PATCH] arch/cris: Use mutex_unlock rather than spin_unlock

From: Julia Lawall <[email protected]>

It looks at least odd to apply spin_unlock to a mutex.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@def@
declarer DEFINE_MUTEX;
identifier m;
@@

DEFINE_MUTEX(m);

@@
identifier def.m;
@@

(
- spin_lock(&m)
+ mutex_lock(&m)
|
- spin_unlock(&m)
+ mutex_unlock(&m)
)
// </smpl>

Signed-off-by: Julia Lawall <[email protected]>

---
arch/cris/arch-v10/drivers/pcf8563.c | 2 +-
arch/cris/arch-v32/drivers/pcf8563.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff -u -p a/arch/cris/arch-v10/drivers/pcf8563.c b/arch/cris/arch-v10/drivers/pcf8563.c
--- a/arch/cris/arch-v10/drivers/pcf8563.c 2008-02-10 22:34:04.000000000 +0100
+++ b/arch/cris/arch-v10/drivers/pcf8563.c 2008-03-05 22:06:18.000000000 +0100
@@ -233,7 +233,7 @@ int pcf8563_ioctl(struct inode *inode, s

if (copy_to_user((struct rtc_time *) arg, &tm,
sizeof tm)) {
- spin_unlock(&rtc_lock);
+ mutex_unlock(&rtc_lock);
return -EFAULT;
}

diff -u -p a/arch/cris/arch-v32/drivers/pcf8563.c b/arch/cris/arch-v32/drivers/pcf8563.c
--- a/arch/cris/arch-v32/drivers/pcf8563.c 2008-02-10 22:34:04.000000000 +0100
+++ b/arch/cris/arch-v32/drivers/pcf8563.c 2008-03-05 22:06:18.000000000 +0100
@@ -229,7 +229,7 @@ int pcf8563_ioctl(struct inode *inode, s

if (copy_to_user((struct rtc_time *) arg, &tm,
sizeof tm)) {
- spin_unlock(&rtc_lock);
+ mutex_unlock(&rtc_lock);
return -EFAULT;
}


2008-03-06 18:08:39

by Jesper Nilsson

[permalink] [raw]
Subject: Re: [PATCH] arch/cris: Use mutex_unlock rather than spin_unlock

On Thu, Mar 06, 2008 at 06:24:05PM +0100, Julia Lawall wrote:
> From: Julia Lawall <[email protected]>
>
> It looks at least odd to apply spin_unlock to a mutex.
>
> The semantic patch that makes this change is as follows:
> (http://www.emn.fr/x-info/coccinelle/)
>
> // <smpl>
> @def@
> declarer DEFINE_MUTEX;
> identifier m;
> @@
>
> DEFINE_MUTEX(m);
>
> @@
> identifier def.m;
> @@
>
> (
> - spin_lock(&m)
> + mutex_lock(&m)
> |
> - spin_unlock(&m)
> + mutex_unlock(&m)
> )
> // </smpl>
>
> Signed-off-by: Julia Lawall <[email protected]>
>
> ---
> arch/cris/arch-v10/drivers/pcf8563.c | 2 +-
> arch/cris/arch-v32/drivers/pcf8563.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff -u -p a/arch/cris/arch-v10/drivers/pcf8563.c b/arch/cris/arch-v10/drivers/pcf8563.c
> --- a/arch/cris/arch-v10/drivers/pcf8563.c 2008-02-10 22:34:04.000000000 +0100
> +++ b/arch/cris/arch-v10/drivers/pcf8563.c 2008-03-05 22:06:18.000000000 +0100
> @@ -233,7 +233,7 @@ int pcf8563_ioctl(struct inode *inode, s
>
> if (copy_to_user((struct rtc_time *) arg, &tm,
> sizeof tm)) {
> - spin_unlock(&rtc_lock);
> + mutex_unlock(&rtc_lock);
> return -EFAULT;
> }
>
> diff -u -p a/arch/cris/arch-v32/drivers/pcf8563.c b/arch/cris/arch-v32/drivers/pcf8563.c
> --- a/arch/cris/arch-v32/drivers/pcf8563.c 2008-02-10 22:34:04.000000000 +0100
> +++ b/arch/cris/arch-v32/drivers/pcf8563.c 2008-03-05 22:06:18.000000000 +0100
> @@ -229,7 +229,7 @@ int pcf8563_ioctl(struct inode *inode, s
>
> if (copy_to_user((struct rtc_time *) arg, &tm,
> sizeof tm)) {
> - spin_unlock(&rtc_lock);
> + mutex_unlock(&rtc_lock);
> return -EFAULT;
> }
>

Quite correct, I'll add it to my queue.

Thanks,

/^JN - Jesper Nilsson
--
Jesper Nilsson -- [email protected]