Author: marius
Date: Sat Apr 29 00:53:17 2017
New Revision: 317578
URL: https://svnweb.freebsd.org/changeset/base/317578

Log:
  Fix a bug introduced as part of r287726; use the right device_t for
  determining the softc of the bridge in psycho_route_interrupt(). [1]
  While at it, update the corresponding comment that the code in
  question is also necessary for U30s in addition to E450s (a fact
  that has been known for ages).
  
  PR:           218478
  Submitted by: Yoshihiko Iwama

Modified:
  head/sys/sparc64/pci/psycho.c

Modified: head/sys/sparc64/pci/psycho.c
==============================================================================
--- head/sys/sparc64/pci/psycho.c       Sat Apr 29 00:46:51 2017        
(r317577)
+++ head/sys/sparc64/pci/psycho.c       Sat Apr 29 00:53:17 2017        
(r317578)
@@ -944,14 +944,14 @@ psycho_route_interrupt(device_t bridge, 
        if (pin > 4)
                return (pin);
        /*
-        * Guess the INO; we always assume that this is a non-OBIO
-        * device, and that pin is a "real" intpin number.  Determine
-        * the mapping register to be used by the slot number.
-        * We only need to do this on E450s, it seems; here, the slot numbers
-        * for bus A are one-based, while those for bus B seemingly have an
-        * offset of 2 (hence the factor of 3 below).
+        * Guess the INO; we always assume that this is a non-OBIO device,
+        * and that pin is a "real" intpin number.  Determine the mapping
+        * register to be used by the slot number.
+        * We only need to do this on E450s and U30s, though; here, the
+        * slot numbers for bus A are one-based, while those for bus B
+        * seemingly have an offset of 2 (hence the factor of 3 below).
         */
-       sc = device_get_softc(dev);
+       sc = device_get_softc(bridge);
        intrmap = PSR_PCIA0_INT_MAP +
            8 * (pci_get_slot(dev) - 1 + 3 * sc->sc_half);
        mintr = INTINO(PSYCHO_READ8(sc, intrmap)) + pin - 1;
_______________________________________________
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