svn commit: r271061 - stable/9/sys/dev/pccbb

Gavin Atkinson gavin at FreeBSD.org
Wed Sep 3 23:08:49 UTC 2014


Author: gavin
Date: Wed Sep  3 23:08:48 2014
New Revision: 271061
URL: http://svnweb.freebsd.org/changeset/base/271061

Log:
  Merge r269488 from head:
  
    For reasons which are not clear, r254263 broke some PCMCIA and CardBus
    bridges in strange ways, either rendering them unable to detect
    insertion and removal events, or possibly unable to read from the
    device behind the bridge.
  
    This fixes at least one laptop, a Toshiba Tecra M5 with a Texas
    Instruments PCxx12 (d=0x8039 v=0c104c) bridge.  The very similar
    Tecra M9 has the same bridge, but worked fine without this change.
  
    The bridge chip has no I/O port BAR, and there is nothing in the spec
    to suggest I/O decoding should be enabled; however enabling it fixes
    the issue.  Add an XXX comment to this effect.
  
  Discussed with:		jhb, imp

Modified:
  stable/9/sys/dev/pccbb/pccbb_pci.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/pccbb/pccbb_pci.c
==============================================================================
--- stable/9/sys/dev/pccbb/pccbb_pci.c	Wed Sep  3 23:08:21 2014	(r271060)
+++ stable/9/sys/dev/pccbb/pccbb_pci.c	Wed Sep  3 23:08:48 2014	(r271061)
@@ -472,6 +472,8 @@ cbb_chipinit(struct cbb_softc *sc)
 
 	/* Enable memory access */
 	pci_enable_busmaster(sc->dev);
+	/* XXX: This should not be necessary, but some chipsets require it */
+	PCI_MASK_CONFIG(sc->dev, PCIR_COMMAND, | PCIM_CMD_PORTEN, 2);
 
 	/* disable Legacy IO */
 	switch (sc->chipset) {


More information about the svn-src-all mailing list