patch-2.4.20 linux-2.4.20/net/bluetooth/af_bluetooth.c
Next file: linux-2.4.20/net/bluetooth/bnep/Config.in
Previous file: linux-2.4.20/net/bluetooth/Makefile
Back to the patch index
Back to the overall index
- Lines: 53
- Date:
Thu Nov 28 15:53:15 2002
- Orig file:
linux-2.4.19/net/bluetooth/af_bluetooth.c
- Orig date:
Fri Aug 2 17:39:46 2002
diff -urN linux-2.4.19/net/bluetooth/af_bluetooth.c linux-2.4.20/net/bluetooth/af_bluetooth.c
@@ -25,9 +25,9 @@
/*
* BlueZ Bluetooth address family and sockets.
*
- * $Id: af_bluetooth.c,v 1.6 2002/06/25 22:03:39 maxk Exp $
+ * $Id: af_bluetooth.c,v 1.8 2002/07/22 20:32:54 maxk Exp $
*/
-#define VERSION "2.1"
+#define VERSION "2.2"
#include <linux/config.h>
#include <linux/module.h>
@@ -111,18 +111,18 @@
void bluez_sock_link(struct bluez_sock_list *l, struct sock *sk)
{
- write_lock(&l->lock);
+ write_lock_bh(&l->lock);
sk->next = l->head;
l->head = sk;
sock_hold(sk);
- write_unlock(&l->lock);
+ write_unlock_bh(&l->lock);
}
void bluez_sock_unlink(struct bluez_sock_list *l, struct sock *sk)
{
struct sock **skp;
- write_lock(&l->lock);
+ write_lock_bh(&l->lock);
for (skp = &l->head; *skp; skp = &((*skp)->next)) {
if (*skp == sk) {
*skp = sk->next;
@@ -130,7 +130,7 @@
break;
}
}
- write_unlock(&l->lock);
+ write_unlock_bh(&l->lock);
}
void bluez_accept_enqueue(struct sock *parent, struct sock *sk)
@@ -242,6 +242,9 @@
if (sk->state == BT_CLOSED)
mask |= POLLHUP;
+ if (sk->state == BT_CONNECT || sk->state == BT_CONNECT2)
+ return mask;
+
if (sock_writeable(sk))
mask |= POLLOUT | POLLWRNORM | POLLWRBAND;
else
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)