Skip to content

Commit

Permalink
[NET]: sem2mutex part 2
Browse files Browse the repository at this point in the history
Semaphore to mutex conversion.

The conversion was generated via scripts, and the result was validated
automatically via a script as well.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Ingo Molnar authored and David S. Miller committed Mar 21, 2006
1 parent 6613f82 commit 57b47a5
Show file tree
Hide file tree
Showing 13 changed files with 107 additions and 99 deletions.
2 changes: 1 addition & 1 deletion include/linux/sunrpc/svcsock.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ struct svc_sock {

struct list_head sk_deferred; /* deferred requests that need to
* be revisted */
struct semaphore sk_sem; /* to serialize sending data */
struct mutex sk_mutex; /* to serialize sending data */

int (*sk_recvfrom)(struct svc_rqst *rqstp);
int (*sk_sendto)(struct svc_rqst *rqstp);
Expand Down
3 changes: 2 additions & 1 deletion include/net/af_unix.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include <linux/config.h>
#include <linux/socket.h>
#include <linux/un.h>
#include <linux/mutex.h>
#include <net/sock.h>

extern void unix_inflight(struct file *fp);
Expand Down Expand Up @@ -71,7 +72,7 @@ struct unix_sock {
struct unix_address *addr;
struct dentry *dentry;
struct vfsmount *mnt;
struct semaphore readsem;
struct mutex readlock;
struct sock *peer;
struct sock *other;
struct sock *gc_tree;
Expand Down
4 changes: 2 additions & 2 deletions net/atm/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -451,12 +451,12 @@ int vcc_connect(struct socket *sock, int itf, short vpi, int vci)
dev = try_then_request_module(atm_dev_lookup(itf), "atm-device-%d", itf);
} else {
dev = NULL;
down(&atm_dev_mutex);
mutex_lock(&atm_dev_mutex);
if (!list_empty(&atm_devs)) {
dev = list_entry(atm_devs.next, struct atm_dev, dev_list);
atm_dev_hold(dev);
}
up(&atm_dev_mutex);
mutex_unlock(&atm_dev_mutex);
}
if (!dev)
return -ENODEV;
Expand Down
32 changes: 17 additions & 15 deletions net/atm/resources.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
#include <linux/bitops.h>
#include <linux/capability.h>
#include <linux/delay.h>
#include <linux/mutex.h>

#include <net/sock.h> /* for struct sock */

#include "common.h"
Expand All @@ -26,7 +28,7 @@


LIST_HEAD(atm_devs);
DECLARE_MUTEX(atm_dev_mutex);
DEFINE_MUTEX(atm_dev_mutex);

static struct atm_dev *__alloc_atm_dev(const char *type)
{
Expand Down Expand Up @@ -65,9 +67,9 @@ struct atm_dev *atm_dev_lookup(int number)
{
struct atm_dev *dev;

down(&atm_dev_mutex);
mutex_lock(&atm_dev_mutex);
dev = __atm_dev_lookup(number);
up(&atm_dev_mutex);
mutex_unlock(&atm_dev_mutex);
return dev;
}

Expand All @@ -83,11 +85,11 @@ struct atm_dev *atm_dev_register(const char *type, const struct atmdev_ops *ops,
type);
return NULL;
}
down(&atm_dev_mutex);
mutex_lock(&atm_dev_mutex);
if (number != -1) {
if ((inuse = __atm_dev_lookup(number))) {
atm_dev_put(inuse);
up(&atm_dev_mutex);
mutex_unlock(&atm_dev_mutex);
kfree(dev);
return NULL;
}
Expand All @@ -112,12 +114,12 @@ struct atm_dev *atm_dev_register(const char *type, const struct atmdev_ops *ops,
printk(KERN_ERR "atm_dev_register: "
"atm_proc_dev_register failed for dev %s\n",
type);
up(&atm_dev_mutex);
mutex_unlock(&atm_dev_mutex);
kfree(dev);
return NULL;
}
list_add_tail(&dev->dev_list, &atm_devs);
up(&atm_dev_mutex);
mutex_unlock(&atm_dev_mutex);

return dev;
}
Expand All @@ -133,9 +135,9 @@ void atm_dev_deregister(struct atm_dev *dev)
* with same number can appear, such we need deregister proc,
* release async all vccs and remove them from vccs list too
*/
down(&atm_dev_mutex);
mutex_lock(&atm_dev_mutex);
list_del(&dev->dev_list);
up(&atm_dev_mutex);
mutex_unlock(&atm_dev_mutex);

atm_dev_release_vccs(dev);
atm_proc_dev_deregister(dev);
Expand Down Expand Up @@ -196,24 +198,24 @@ int atm_dev_ioctl(unsigned int cmd, void __user *arg)
return -EFAULT;
if (get_user(len, &iobuf->length))
return -EFAULT;
down(&atm_dev_mutex);
mutex_lock(&atm_dev_mutex);
list_for_each(p, &atm_devs)
size += sizeof(int);
if (size > len) {
up(&atm_dev_mutex);
mutex_unlock(&atm_dev_mutex);
return -E2BIG;
}
tmp_buf = kmalloc(size, GFP_ATOMIC);
if (!tmp_buf) {
up(&atm_dev_mutex);
mutex_unlock(&atm_dev_mutex);
return -ENOMEM;
}
tmp_p = tmp_buf;
list_for_each(p, &atm_devs) {
dev = list_entry(p, struct atm_dev, dev_list);
*tmp_p++ = dev->number;
}
up(&atm_dev_mutex);
mutex_unlock(&atm_dev_mutex);
error = ((copy_to_user(buf, tmp_buf, size)) ||
put_user(size, &iobuf->length))
? -EFAULT : 0;
Expand Down Expand Up @@ -400,13 +402,13 @@ static __inline__ void *dev_get_idx(loff_t left)

void *atm_dev_seq_start(struct seq_file *seq, loff_t *pos)
{
down(&atm_dev_mutex);
mutex_lock(&atm_dev_mutex);
return *pos ? dev_get_idx(*pos) : (void *) 1;
}

void atm_dev_seq_stop(struct seq_file *seq, void *v)
{
up(&atm_dev_mutex);
mutex_unlock(&atm_dev_mutex);
}

void *atm_dev_seq_next(struct seq_file *seq, void *v, loff_t *pos)
Expand Down
3 changes: 2 additions & 1 deletion net/atm/resources.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@

#include <linux/config.h>
#include <linux/atmdev.h>
#include <linux/mutex.h>


extern struct list_head atm_devs;
extern struct semaphore atm_dev_mutex;
extern struct mutex atm_dev_mutex;

int atm_dev_ioctl(unsigned int cmd, void __user *arg);

Expand Down
Loading

0 comments on commit 57b47a5

Please sign in to comment.