[Midnightbsd-cvs] src [9929] trunk/sys/netgraph/bluetooth/drivers: update bluetooth drivers
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Fri May 25 09:15:11 EDT 2018
Revision: 9929
http://svnweb.midnightbsd.org/src/?rev=9929
Author: laffer1
Date: 2018-05-25 09:15:11 -0400 (Fri, 25 May 2018)
Log Message:
-----------
update bluetooth drivers
Modified Paths:
--------------
trunk/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c
trunk/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_var.h
trunk/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c
trunk/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h
trunk/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c
Modified: trunk/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c
===================================================================
--- trunk/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c 2018-05-25 13:13:07 UTC (rev 9928)
+++ trunk/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c 2018-05-25 13:15:11 UTC (rev 9929)
@@ -28,8 +28,8 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ng_bt3c_pccard.c,v 1.4 2013-11-27 03:41:16 laffer1 Exp $
- * $FreeBSD$
+ * $Id: ng_bt3c_pccard.c,v 1.5 2003/04/01 18:15:21 max Exp $
+ * $FreeBSD: stable/10/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c 243882 2012-12-05 08:04:20Z glebius $
*
* XXX XXX XX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX
*
@@ -808,7 +808,7 @@
sc->state = NG_BT3C_W4_PKT_IND;
sc->want = 1;
- MGETHDR(sc->m, M_DONTWAIT, MT_DATA);
+ MGETHDR(sc->m, M_NOWAIT, MT_DATA);
if (sc->m == NULL) {
NG_BT3C_ERR(sc->dev, "Could not get mbuf\n");
NG_BT3C_STAT_IERROR(sc->stat);
@@ -816,7 +816,7 @@
break; /* XXX lost of sync */
}
- MCLGET(sc->m, M_DONTWAIT);
+ MCLGET(sc->m, M_NOWAIT);
if (!(sc->m->m_flags & M_EXT)) {
NG_FREE_M(sc->m);
Modified: trunk/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_var.h
===================================================================
--- trunk/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_var.h 2018-05-25 13:13:07 UTC (rev 9928)
+++ trunk/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_var.h 2018-05-25 13:15:11 UTC (rev 9929)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
/*
* ng_bt3c_var.h
*/
@@ -27,8 +28,8 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ng_bt3c_var.h,v 1.1.1.4 2012-07-21 15:17:19 laffer1 Exp $
- * $FreeBSD$
+ * $Id: ng_bt3c_var.h,v 1.1 2002/11/24 19:46:54 max Exp $
+ * $FreeBSD: stable/10/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_var.h 160114 2006-07-05 17:18:47Z emax $
*
* XXX XXX XX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX
*
Modified: trunk/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c
===================================================================
--- trunk/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c 2018-05-25 13:13:07 UTC (rev 9928)
+++ trunk/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c 2018-05-25 13:15:11 UTC (rev 9929)
@@ -28,8 +28,8 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ng_ubt.c,v 1.2 2013-11-27 03:41:35 laffer1 Exp $
- * $FreeBSD$
+ * $Id: ng_ubt.c,v 1.16 2003/10/10 19:15:06 max Exp $
+ * $FreeBSD: stable/10/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c 255128 2013-09-01 19:27:32Z eadler $
*/
/*
@@ -387,6 +387,39 @@
{
/* AVM USB Bluetooth-Adapter BlueFritz! v1.0 */
{ USB_VPI(USB_VENDOR_AVM, 0x2200, 0) },
+
+ /* Atheros 3011 with sflash firmware */
+ { USB_VPI(0x0cf3, 0x3002, 0) },
+ { USB_VPI(0x0cf3, 0xe019, 0) },
+ { USB_VPI(0x13d3, 0x3304, 0) },
+ { USB_VPI(0x0930, 0x0215, 0) },
+ { USB_VPI(0x0489, 0xe03d, 0) },
+ { USB_VPI(0x0489, 0xe027, 0) },
+
+ /* Atheros AR9285 Malbec with sflash firmware */
+ { USB_VPI(0x03f0, 0x311d, 0) },
+
+ /* Atheros 3012 with sflash firmware */
+ { USB_VPI(0x0cf3, 0x3004, 0) },
+ { USB_VPI(0x0cf3, 0x311d, 0) },
+ { USB_VPI(0x13d3, 0x3375, 0) },
+ { USB_VPI(0x04ca, 0x3005, 0) },
+ { USB_VPI(0x04ca, 0x3006, 0) },
+ { USB_VPI(0x04ca, 0x3008, 0) },
+ { USB_VPI(0x13d3, 0x3362, 0) },
+ { USB_VPI(0x0cf3, 0xe004, 0) },
+ { USB_VPI(0x0930, 0x0219, 0) },
+ { USB_VPI(0x0489, 0xe057, 0) },
+ { USB_VPI(0x13d3, 0x3393, 0) },
+ { USB_VPI(0x0489, 0xe04e, 0) },
+ { USB_VPI(0x0489, 0xe056, 0) },
+
+ /* Atheros AR5BBU12 with sflash firmware */
+ { USB_VPI(0x0489, 0xe02c, 0) },
+
+ /* Atheros AR5BBU12 with sflash firmware */
+ { USB_VPI(0x0489, 0xe03c, 0) },
+ { USB_VPI(0x0489, 0xe036, 0) },
};
/* List of supported bluetooth devices */
@@ -405,6 +438,67 @@
USB_IFACE_CLASS(UICLASS_VENDOR),
USB_IFACE_SUBCLASS(UDSUBCLASS_RF),
USB_IFACE_PROTOCOL(UDPROTO_BLUETOOTH) },
+
+ /* Apple-specific (Broadcom) devices */
+ { USB_VENDOR(USB_VENDOR_APPLE),
+ USB_IFACE_CLASS(UICLASS_VENDOR),
+ USB_IFACE_SUBCLASS(UDSUBCLASS_RF),
+ USB_IFACE_PROTOCOL(UDPROTO_BLUETOOTH) },
+
+ /* Foxconn - Hon Hai */
+ { USB_VENDOR(USB_VENDOR_FOXCONN),
+ USB_IFACE_CLASS(UICLASS_VENDOR),
+ USB_IFACE_SUBCLASS(UDSUBCLASS_RF),
+ USB_IFACE_PROTOCOL(UDPROTO_BLUETOOTH) },
+
+ /* MediaTek MT76x0E */
+ { USB_VPI(USB_VENDOR_MEDIATEK, 0x763f, 0) },
+
+ /* Broadcom SoftSailing reporting vendor specific */
+ { USB_VPI(USB_VENDOR_BROADCOM, 0x21e1, 0) },
+
+ /* Apple MacBookPro 7,1 */
+ { USB_VPI(USB_VENDOR_APPLE, 0x8213, 0) },
+
+ /* Apple iMac11,1 */
+ { USB_VPI(USB_VENDOR_APPLE, 0x8215, 0) },
+
+ /* Apple MacBookPro6,2 */
+ { USB_VPI(USB_VENDOR_APPLE, 0x8218, 0) },
+
+ /* Apple MacBookAir3,1, MacBookAir3,2 */
+ { USB_VPI(USB_VENDOR_APPLE, 0x821b, 0) },
+
+ /* Apple MacBookAir4,1 */
+ { USB_VPI(USB_VENDOR_APPLE, 0x821f, 0) },
+
+ /* MacBookAir6,1 */
+ { USB_VPI(USB_VENDOR_APPLE, 0x828f, 0) },
+
+ /* Apple MacBookPro8,2 */
+ { USB_VPI(USB_VENDOR_APPLE, 0x821a, 0) },
+
+ /* Apple MacMini5,1 */
+ { USB_VPI(USB_VENDOR_APPLE, 0x8281, 0) },
+
+ /* Bluetooth Ultraport Module from IBM */
+ { USB_VPI(USB_VENDOR_TDK, 0x030a, 0) },
+
+ /* ALPS Modules with non-standard ID */
+ { USB_VPI(USB_VENDOR_ALPS, 0x3001, 0) },
+ { USB_VPI(USB_VENDOR_ALPS, 0x3002, 0) },
+
+ { USB_VPI(USB_VENDOR_ERICSSON2, 0x1002, 0) },
+
+ /* Canyon CN-BTU1 with HID interfaces */
+ { USB_VPI(USB_VENDOR_CANYON, 0x0000, 0) },
+
+ /* Broadcom BCM20702A0 */
+ { USB_VPI(USB_VENDOR_ASUS, 0x17b5, 0) },
+ { USB_VPI(USB_VENDOR_ASUS, 0x17cb, 0) },
+ { USB_VPI(USB_VENDOR_LITEON, 0x2003, 0) },
+ { USB_VPI(USB_VENDOR_FOXCONN, 0xe042, 0) },
+ { USB_VPI(USB_VENDOR_DELL, 0x8197, 0) },
};
/*
@@ -446,6 +540,7 @@
struct ubt_softc *sc = device_get_softc(dev);
struct usb_endpoint_descriptor *ed;
struct usb_interface_descriptor *id;
+ struct usb_interface *iface;
uint16_t wMaxPacketSize;
uint8_t alt_index, i, j;
uint8_t iface_index[2] = { 0, 1 };
@@ -561,10 +656,21 @@
goto detach;
}
- /* Claim all interfaces on the device */
- for (i = 1; usbd_get_iface(uaa->device, i) != NULL; i ++)
- usbd_set_parent_iface(uaa->device, i, uaa->info.bIfaceIndex);
+ /* Claim all interfaces belonging to the Bluetooth part */
+ for (i = 1;; i++) {
+ iface = usbd_get_iface(uaa->device, i);
+ if (iface == NULL)
+ break;
+ id = usbd_get_interface_descriptor(iface);
+ if ((id != NULL) &&
+ (id->bInterfaceClass == UICLASS_WIRELESS) &&
+ (id->bInterfaceSubClass == UISUBCLASS_RF) &&
+ (id->bInterfaceProtocol == UIPROTO_BLUETOOTH)) {
+ usbd_set_parent_iface(uaa->device, i,
+ uaa->info.bIfaceIndex);
+ }
+ }
return (0); /* success */
detach:
@@ -705,13 +811,13 @@
switch (USB_GET_STATE(xfer)) {
case USB_ST_TRANSFERRED:
/* Allocate a new mbuf */
- MGETHDR(m, M_DONTWAIT, MT_DATA);
+ MGETHDR(m, M_NOWAIT, MT_DATA);
if (m == NULL) {
UBT_STAT_IERROR(sc);
goto submit_next;
}
- MCLGET(m, M_DONTWAIT);
+ MCLGET(m, M_NOWAIT);
if (!(m->m_flags & M_EXT)) {
UBT_STAT_IERROR(sc);
goto submit_next;
@@ -805,13 +911,13 @@
switch (USB_GET_STATE(xfer)) {
case USB_ST_TRANSFERRED:
/* Allocate new mbuf */
- MGETHDR(m, M_DONTWAIT, MT_DATA);
+ MGETHDR(m, M_NOWAIT, MT_DATA);
if (m == NULL) {
UBT_STAT_IERROR(sc);
goto submit_next;
}
- MCLGET(m, M_DONTWAIT);
+ MCLGET(m, M_NOWAIT);
if (!(m->m_flags & M_EXT)) {
UBT_STAT_IERROR(sc);
goto submit_next;
@@ -1015,13 +1121,13 @@
while (total > 0) {
if (m == NULL) {
/* Start new reassembly buffer */
- MGETHDR(m, M_DONTWAIT, MT_DATA);
+ MGETHDR(m, M_NOWAIT, MT_DATA);
if (m == NULL) {
UBT_STAT_IERROR(sc);
return (-1); /* XXX out of sync! */
}
- MCLGET(m, M_DONTWAIT);
+ MCLGET(m, M_NOWAIT);
if (!(m->m_flags & M_EXT)) {
UBT_STAT_IERROR(sc);
NG_FREE_M(m);
Modified: trunk/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h
===================================================================
--- trunk/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h 2018-05-25 13:13:07 UTC (rev 9928)
+++ trunk/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h 2018-05-25 13:15:11 UTC (rev 9929)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
/*
* ng_ubt_var.h
*/
@@ -27,8 +28,8 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ng_ubt_var.h,v 1.1.1.4 2012-07-21 15:17:19 laffer1 Exp $
- * $FreeBSD$
+ * $Id: ng_ubt_var.h,v 1.2 2003/03/22 23:44:36 max Exp $
+ * $FreeBSD: stable/10/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h 196219 2009-08-14 20:03:53Z jhb $
*/
#ifndef _NG_UBT_VAR_H_
Modified: trunk/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c
===================================================================
--- trunk/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c 2018-05-25 13:13:07 UTC (rev 9928)
+++ trunk/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c 2018-05-25 13:15:11 UTC (rev 9929)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
/*
* ubtbcmfw.c
*/
@@ -27,8 +28,8 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ubtbcmfw.c,v 1.1.1.4 2012-07-21 15:17:19 laffer1 Exp $
- * $FreeBSD$
+ * $Id: ubtbcmfw.c,v 1.3 2003/10/10 19:15:08 max Exp $
+ * $FreeBSD: stable/10/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c 223486 2011-06-24 02:30:02Z hselasky $
*/
#include <sys/stdint.h>
More information about the Midnightbsd-cvs
mailing list