diff options
Diffstat (limited to 'sys/netgraph/bluetooth/socket')
5 files changed, 21 insertions, 12 deletions
diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket.c b/sys/netgraph/bluetooth/socket/ng_btsocket.c index be719fc..e8ad4ad 100644 --- a/sys/netgraph/bluetooth/socket/ng_btsocket.c +++ b/sys/netgraph/bluetooth/socket/ng_btsocket.c @@ -25,12 +25,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ng_btsocket.c,v 1.3 2003/01/19 00:19:04 max Exp $ + * $Id: ng_btsocket.c,v 1.4 2003/09/14 23:29:06 max Exp $ * $FreeBSD$ */ #include <sys/param.h> #include <sys/systm.h> +#include <sys/bitstring.h> #include <sys/errno.h> #include <sys/domain.h> #include <sys/kernel.h> @@ -41,7 +42,6 @@ #include <sys/socketvar.h> #include <sys/sysctl.h> #include <sys/taskqueue.h> -#include <sys/bitstring.h> #include <netgraph/ng_message.h> #include <netgraph/netgraph.h> #include "ng_bluetooth.h" diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c b/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c index 631753d..bcf4196 100644 --- a/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c +++ b/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c @@ -25,12 +25,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ng_btsocket_hci_raw.c,v 1.13 2003/04/01 18:15:27 max Exp $ + * $Id: ng_btsocket_hci_raw.c,v 1.14 2003/09/14 23:29:06 max Exp $ * $FreeBSD$ */ #include <sys/param.h> #include <sys/systm.h> +#include <sys/bitstring.h> #include <sys/domain.h> #include <sys/endian.h> #include <sys/errno.h> @@ -49,7 +50,6 @@ #include <sys/taskqueue.h> #include <netgraph/ng_message.h> #include <netgraph/netgraph.h> -#include <sys/bitstring.h> #include "ng_bluetooth.h" #include "ng_hci.h" #include "ng_l2cap.h" diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c b/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c index d074342..799e259 100644 --- a/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c +++ b/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c @@ -25,12 +25,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ng_btsocket_l2cap.c,v 1.14 2003/04/06 22:53:18 max Exp $ + * $Id: ng_btsocket_l2cap.c,v 1.16 2003/09/14 23:29:06 max Exp $ * $FreeBSD$ */ #include <sys/param.h> #include <sys/systm.h> +#include <sys/bitstring.h> #include <sys/domain.h> #include <sys/endian.h> #include <sys/errno.h> @@ -49,7 +50,6 @@ #include <sys/taskqueue.h> #include <netgraph/ng_message.h> #include <netgraph/netgraph.h> -#include <sys/bitstring.h> #include "ng_bluetooth.h" #include "ng_hci.h" #include "ng_l2cap.h" @@ -1411,7 +1411,7 @@ ng_btsocket_l2cap_data_input(struct mbuf *m, hook_p hook) rt->src.b[2], rt->src.b[1], rt->src.b[0], hdr->dcid, hdr->length); - if (NG_L2CAP_FIRST_CID <= hdr->dcid && hdr->dcid <= NG_L2CAP_LAST_CID) { + if (hdr->dcid >= NG_L2CAP_FIRST_CID) { mtx_lock(&ng_btsocket_l2cap_sockets_mtx); diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c b/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c index 7fcb36e..85df6c2 100644 --- a/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c +++ b/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c @@ -25,12 +25,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ng_btsocket_l2cap_raw.c,v 1.11 2003/04/27 19:52:14 max Exp $ + * $Id: ng_btsocket_l2cap_raw.c,v 1.12 2003/09/14 23:29:06 max Exp $ * $FreeBSD$ */ #include <sys/param.h> #include <sys/systm.h> +#include <sys/bitstring.h> #include <sys/domain.h> #include <sys/errno.h> #include <sys/filedesc.h> @@ -48,7 +49,6 @@ #include <sys/taskqueue.h> #include <netgraph/ng_message.h> #include <netgraph/netgraph.h> -#include <sys/bitstring.h> #include "ng_bluetooth.h" #include "ng_hci.h" #include "ng_l2cap.h" diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c b/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c index 7ffb828..8827210 100644 --- a/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c +++ b/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c @@ -25,12 +25,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ng_btsocket_rfcomm.c,v 1.24 2003/04/07 01:37:05 max Exp $ + * $Id: ng_btsocket_rfcomm.c,v 1.28 2003/09/14 23:29:06 max Exp $ * $FreeBSD$ */ #include <sys/param.h> #include <sys/systm.h> +#include <sys/bitstring.h> #include <sys/domain.h> #include <sys/endian.h> #include <sys/errno.h> @@ -51,7 +52,6 @@ #include <sys/uio.h> #include <netgraph/ng_message.h> #include <netgraph/netgraph.h> -#include <sys/bitstring.h> #include "ng_bluetooth.h" #include "ng_hci.h" #include "ng_l2cap.h" @@ -2025,6 +2025,9 @@ ng_btsocket_rfcomm_receive_sabm(ng_btsocket_rfcomm_session_p s, int dlci) pcb->dlci = dlci; error = ng_btsocket_rfcomm_send_command(s,RFCOMM_FRAME_UA,dlci); + if (error == 0) + error = ng_btsocket_rfcomm_send_msc(pcb); + if (error == 0) { pcb->state = NG_BTSOCKET_RFCOMM_DLC_CONNECTED; soisconnected(pcb->so); @@ -3139,7 +3142,13 @@ ng_btsocket_rfcomm_send_pn(ng_btsocket_rfcomm_pcb_p pcb) hdr->length = RFCOMM_MKLEN8(sizeof(*pn)); pn->dlci = pcb->dlci; - pn->priority = 0; + + /* + * Set default DLCI priority as described in GSM 07.10 + * (ETSI TS 101 369) clause 5.6 page 42 + */ + + pn->priority = (pcb->dlci < 56)? (((pcb->dlci >> 3) << 3) + 7) : 61; pn->ack_timer = 0; pn->mtu = htole16(pcb->mtu); pn->max_retrans = 0; |