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 */
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to