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 --- |