git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
net
/
irda
/
irtty-sir.c
diff --git
a/drivers/net/irda/irtty-sir.c
b/drivers/net/irda/irtty-sir.c
index
101750b
..
ad18573
100644
(file)
--- a/
drivers/net/irda/irtty-sir.c
+++ b/
drivers/net/irda/irtty-sir.c
@@
-33,6
+33,7
@@
#include <asm/uaccess.h>
#include <linux/smp_lock.h>
#include <linux/delay.h>
#include <asm/uaccess.h>
#include <linux/smp_lock.h>
#include <linux/delay.h>
+#include <linux/mutex.h>
#include <net/irda/irda.h>
#include <net/irda/irda_device.h>
#include <net/irda/irda.h>
#include <net/irda/irda_device.h>
@@
-116,7
+117,7
@@
static int irtty_change_speed(struct sir_dev *dev, unsigned speed)
{
struct sirtty_cb *priv = dev->priv;
struct tty_struct *tty;
{
struct sirtty_cb *priv = dev->priv;
struct tty_struct *tty;
- struct termios old_termios;
+ struct
k
termios old_termios;
int cflag;
IRDA_ASSERT(priv != NULL, return -1;);
int cflag;
IRDA_ASSERT(priv != NULL, return -1;);
@@
-317,7
+318,7
@@
static void irtty_write_wakeup(struct tty_struct *tty)
static inline void irtty_stop_receiver(struct tty_struct *tty, int stop)
{
static inline void irtty_stop_receiver(struct tty_struct *tty, int stop)
{
- struct termios old_termios;
+ struct
k
termios old_termios;
int cflag;
lock_kernel();
int cflag;
lock_kernel();
@@
-338,7
+339,7
@@
static inline void irtty_stop_receiver(struct tty_struct *tty, int stop)
/*****************************************************************/
/* serialize ldisc open/close with sir_dev */
/*****************************************************************/
/* serialize ldisc open/close with sir_dev */
-static DE
CLARE_MUTEX(irtty_sem
);
+static DE
FINE_MUTEX(irtty_mutex
);
/* notifier from sir_dev when irda% device gets opened (ifup) */
/* notifier from sir_dev when irda% device gets opened (ifup) */
@@
-348,11
+349,11
@@
static int irtty_start_dev(struct sir_dev *dev)
struct tty_struct *tty;
/* serialize with ldisc open/close */
struct tty_struct *tty;
/* serialize with ldisc open/close */
-
down(&irtty_sem
);
+
mutex_lock(&irtty_mutex
);
priv = dev->priv;
if (unlikely(!priv || priv->magic!=IRTTY_MAGIC)) {
priv = dev->priv;
if (unlikely(!priv || priv->magic!=IRTTY_MAGIC)) {
-
up(&irtty_sem
);
+
mutex_unlock(&irtty_mutex
);
return -ESTALE;
}
return -ESTALE;
}
@@
-363,7
+364,7
@@
static int irtty_start_dev(struct sir_dev *dev)
/* Make sure we can receive more data */
irtty_stop_receiver(tty, FALSE);
/* Make sure we can receive more data */
irtty_stop_receiver(tty, FALSE);
-
up(&irtty_sem
);
+
mutex_unlock(&irtty_mutex
);
return 0;
}
return 0;
}
@@
-375,11
+376,11
@@
static int irtty_stop_dev(struct sir_dev *dev)
struct tty_struct *tty;
/* serialize with ldisc open/close */
struct tty_struct *tty;
/* serialize with ldisc open/close */
-
down(&irtty_sem
);
+
mutex_lock(&irtty_mutex
);
priv = dev->priv;
if (unlikely(!priv || priv->magic!=IRTTY_MAGIC)) {
priv = dev->priv;
if (unlikely(!priv || priv->magic!=IRTTY_MAGIC)) {
-
up(&irtty_sem
);
+
mutex_unlock(&irtty_mutex
);
return -ESTALE;
}
return -ESTALE;
}
@@
-390,7
+391,7
@@
static int irtty_stop_dev(struct sir_dev *dev)
if (tty->driver->stop)
tty->driver->stop(tty);
if (tty->driver->stop)
tty->driver->stop(tty);
-
up(&irtty_sem
);
+
mutex_unlock(&irtty_mutex
);
return 0;
}
return 0;
}
@@
-514,13
+515,13
@@
static int irtty_open(struct tty_struct *tty)
priv->dev = dev;
/* serialize with start_dev - in case we were racing with ifup */
priv->dev = dev;
/* serialize with start_dev - in case we were racing with ifup */
-
down(&irtty_sem
);
+
mutex_lock(&irtty_mutex
);
dev->priv = priv;
tty->disc_data = priv;
tty->receive_room = 65536;
dev->priv = priv;
tty->disc_data = priv;
tty->receive_room = 65536;
-
up(&irtty_sem
);
+
mutex_unlock(&irtty_mutex
);
IRDA_DEBUG(0, "%s - %s: irda line discipline opened\n", __FUNCTION__, tty->name);
IRDA_DEBUG(0, "%s - %s: irda line discipline opened\n", __FUNCTION__, tty->name);