Deleted Added
full compact
ng_ubt.c (241078) ng_ubt.c (243882)
1/*
2 * ng_ubt.c
3 */
4
5/*-
6 * Copyright (c) 2001-2009 Maksim Yevmenkin <m_evmenkin@yahoo.com>
7 * All rights reserved.
8 *

--- 14 unchanged lines hidden (view full) ---

23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 *
30 * $Id: ng_ubt.c,v 1.16 2003/10/10 19:15:06 max Exp $
1/*
2 * ng_ubt.c
3 */
4
5/*-
6 * Copyright (c) 2001-2009 Maksim Yevmenkin <m_evmenkin@yahoo.com>
7 * All rights reserved.
8 *

--- 14 unchanged lines hidden (view full) ---

23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 *
30 * $Id: ng_ubt.c,v 1.16 2003/10/10 19:15:06 max Exp $
31 * $FreeBSD: head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c 241078 2012-09-30 19:31:20Z hselasky $
31 * $FreeBSD: head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c 243882 2012-12-05 08:04:20Z glebius $
32 */
33
34/*
35 * NOTE: ng_ubt2 driver has a split personality. On one side it is
36 * a USB device driver and on the other it is a Netgraph node. This
37 * driver will *NOT* create traditional /dev/ enties, only Netgraph
38 * node.
39 *

--- 665 unchanged lines hidden (view full) ---

705
706 usbd_xfer_status(xfer, &actlen, NULL, NULL, NULL);
707
708 m = NULL;
709
710 switch (USB_GET_STATE(xfer)) {
711 case USB_ST_TRANSFERRED:
712 /* Allocate a new mbuf */
32 */
33
34/*
35 * NOTE: ng_ubt2 driver has a split personality. On one side it is
36 * a USB device driver and on the other it is a Netgraph node. This
37 * driver will *NOT* create traditional /dev/ enties, only Netgraph
38 * node.
39 *

--- 665 unchanged lines hidden (view full) ---

705
706 usbd_xfer_status(xfer, &actlen, NULL, NULL, NULL);
707
708 m = NULL;
709
710 switch (USB_GET_STATE(xfer)) {
711 case USB_ST_TRANSFERRED:
712 /* Allocate a new mbuf */
713 MGETHDR(m, M_DONTWAIT, MT_DATA);
713 MGETHDR(m, M_NOWAIT, MT_DATA);
714 if (m == NULL) {
715 UBT_STAT_IERROR(sc);
716 goto submit_next;
717 }
718
714 if (m == NULL) {
715 UBT_STAT_IERROR(sc);
716 goto submit_next;
717 }
718
719 MCLGET(m, M_DONTWAIT);
719 MCLGET(m, M_NOWAIT);
720 if (!(m->m_flags & M_EXT)) {
721 UBT_STAT_IERROR(sc);
722 goto submit_next;
723 }
724
725 /* Add HCI packet type */
726 *mtod(m, uint8_t *)= NG_HCI_EVENT_PKT;
727 m->m_pkthdr.len = m->m_len = 1;

--- 77 unchanged lines hidden (view full) ---

805
806 usbd_xfer_status(xfer, &actlen, NULL, NULL, NULL);
807
808 m = NULL;
809
810 switch (USB_GET_STATE(xfer)) {
811 case USB_ST_TRANSFERRED:
812 /* Allocate new mbuf */
720 if (!(m->m_flags & M_EXT)) {
721 UBT_STAT_IERROR(sc);
722 goto submit_next;
723 }
724
725 /* Add HCI packet type */
726 *mtod(m, uint8_t *)= NG_HCI_EVENT_PKT;
727 m->m_pkthdr.len = m->m_len = 1;

--- 77 unchanged lines hidden (view full) ---

805
806 usbd_xfer_status(xfer, &actlen, NULL, NULL, NULL);
807
808 m = NULL;
809
810 switch (USB_GET_STATE(xfer)) {
811 case USB_ST_TRANSFERRED:
812 /* Allocate new mbuf */
813 MGETHDR(m, M_DONTWAIT, MT_DATA);
813 MGETHDR(m, M_NOWAIT, MT_DATA);
814 if (m == NULL) {
815 UBT_STAT_IERROR(sc);
816 goto submit_next;
817 }
818
814 if (m == NULL) {
815 UBT_STAT_IERROR(sc);
816 goto submit_next;
817 }
818
819 MCLGET(m, M_DONTWAIT);
819 MCLGET(m, M_NOWAIT);
820 if (!(m->m_flags & M_EXT)) {
821 UBT_STAT_IERROR(sc);
822 goto submit_next;
823 }
824
825 /* Add HCI packet type */
826 *mtod(m, uint8_t *)= NG_HCI_ACL_DATA_PKT;
827 m->m_pkthdr.len = m->m_len = 1;

--- 187 unchanged lines hidden (view full) ---

1015 pc = usbd_xfer_get_frame(xfer, 0);
1016 m = sc->sc_isoc_in_buffer;
1017 total = usbd_xfer_frame_len(xfer, frame_no);
1018
1019 /* While we have data in the frame */
1020 while (total > 0) {
1021 if (m == NULL) {
1022 /* Start new reassembly buffer */
820 if (!(m->m_flags & M_EXT)) {
821 UBT_STAT_IERROR(sc);
822 goto submit_next;
823 }
824
825 /* Add HCI packet type */
826 *mtod(m, uint8_t *)= NG_HCI_ACL_DATA_PKT;
827 m->m_pkthdr.len = m->m_len = 1;

--- 187 unchanged lines hidden (view full) ---

1015 pc = usbd_xfer_get_frame(xfer, 0);
1016 m = sc->sc_isoc_in_buffer;
1017 total = usbd_xfer_frame_len(xfer, frame_no);
1018
1019 /* While we have data in the frame */
1020 while (total > 0) {
1021 if (m == NULL) {
1022 /* Start new reassembly buffer */
1023 MGETHDR(m, M_DONTWAIT, MT_DATA);
1023 MGETHDR(m, M_NOWAIT, MT_DATA);
1024 if (m == NULL) {
1025 UBT_STAT_IERROR(sc);
1026 return (-1); /* XXX out of sync! */
1027 }
1028
1024 if (m == NULL) {
1025 UBT_STAT_IERROR(sc);
1026 return (-1); /* XXX out of sync! */
1027 }
1028
1029 MCLGET(m, M_DONTWAIT);
1029 MCLGET(m, M_NOWAIT);
1030 if (!(m->m_flags & M_EXT)) {
1031 UBT_STAT_IERROR(sc);
1032 NG_FREE_M(m);
1033 return (-1); /* XXX out of sync! */
1034 }
1035
1036 /* Expect SCO header */
1037 *mtod(m, uint8_t *) = NG_HCI_SCO_DATA_PKT;

--- 741 unchanged lines hidden ---
1030 if (!(m->m_flags & M_EXT)) {
1031 UBT_STAT_IERROR(sc);
1032 NG_FREE_M(m);
1033 return (-1); /* XXX out of sync! */
1034 }
1035
1036 /* Expect SCO header */
1037 *mtod(m, uint8_t *) = NG_HCI_SCO_DATA_PKT;

--- 741 unchanged lines hidden ---