Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Sep 2016 21:55:27 +0000 (UTC)
From:      "Landon J. Fuller" <landonf@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r305443 - head/sys/dev/bwn
Message-ID:  <201609052155.u85LtRSL099567@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: landonf
Date: Mon Sep  5 21:55:27 2016
New Revision: 305443
URL: https://svnweb.freebsd.org/changeset/base/305443

Log:
  bwn(4): ignore BCM4321's unpopulated USB11 host controller core.
  
  Broadcom Intensi-fi chipsets provided a common set of IP cores; on PCI/PCIe
  devices, the USB11 host controller is left floating.
  
  Approved by:	adrian (mentor, implicit)

Modified:
  head/sys/dev/bwn/if_bwn_pci.c
  head/sys/dev/bwn/if_bwn_pcivar.h

Modified: head/sys/dev/bwn/if_bwn_pci.c
==============================================================================
--- head/sys/dev/bwn/if_bwn_pci.c	Mon Sep  5 21:48:16 2016	(r305442)
+++ head/sys/dev/bwn/if_bwn_pci.c	Mon Sep  5 21:55:27 2016	(r305443)
@@ -84,10 +84,12 @@ static const struct bwn_pci_device siba_
 	BWN_BCM_DEV(BCM4318_D11A,	"BCM4318 802.11a",
 	    BWN_QUIRK_UNTESTED|BWN_QUIRK_WLAN_DUALCORE),
 
-	BWN_BCM_DEV(BCM4321_D11N,	"BCM4321 802.11n Dual-Band",	0),
-	BWN_BCM_DEV(BCM4321_D11N2G,	"BCM4321 802.11n 2GHz",		0),
+	BWN_BCM_DEV(BCM4321_D11N,	"BCM4321 802.11n Dual-Band",
+	    BWN_QUIRK_USBH_UNPOPULATED),
+	BWN_BCM_DEV(BCM4321_D11N2G,	"BCM4321 802.11n 2GHz",
+	    BWN_QUIRK_USBH_UNPOPULATED),
 	BWN_BCM_DEV(BCM4321_D11N2G,	"BCM4321 802.11n 5GHz",
-	    BWN_QUIRK_UNTESTED),
+	    BWN_QUIRK_UNTESTED|BWN_QUIRK_USBH_UNPOPULATED),
 
 	BWN_BCM_DEV(BCM4322_D11N,	"BCM4322 802.11n Dual-Band",	0),
 	BWN_BCM_DEV(BCM4322_D11N2G,	"BCM4322 802.11n 2GHz",
@@ -263,6 +265,9 @@ bwn_pci_is_core_disabled(device_t dev, d
 	case BHND_DEVCLASS_ENET_MAC:
 	case BHND_DEVCLASS_ENET_PHY:
 		return ((sc->quirks & BWN_QUIRK_ENET_HW_UNPOPULATED) != 0);
+		
+	case BHND_DEVCLASS_USB_HOST:
+		return ((sc->quirks & BWN_QUIRK_USBH_UNPOPULATED) != 0);
 
 	default:
 		return (false);

Modified: head/sys/dev/bwn/if_bwn_pcivar.h
==============================================================================
--- head/sys/dev/bwn/if_bwn_pcivar.h	Mon Sep  5 21:48:16 2016	(r305442)
+++ head/sys/dev/bwn/if_bwn_pcivar.h	Mon Sep  5 21:55:27 2016	(r305443)
@@ -68,6 +68,13 @@ enum {
 	 * this quirk to treat these cores as unpopulated.
 	 */
 	BWN_QUIRK_ENET_HW_UNPOPULATED	= 1<<2,
+
+	/**
+	 * Some PCI/PCIe "Intensi-fi" chipsets shipped with floating USB
+	 * host controller cores; set this quirk to treat these cores as
+	 * unpopulated.
+	 */
+	BWN_QUIRK_USBH_UNPOPULATED	= 1<<3,
 };
 
 /* PCI device descriptor */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609052155.u85LtRSL099567>