Author: avg
Date: Tue Jul 16 08:36:49 2019
New Revision: 350025
URL: https://svnweb.freebsd.org/changeset/base/350025

Log:
  bge: check that the bus is a pci bus before using it as such
  
  This fixes the following panic on powerpc:
    pci_get_vendor failed for pcib1 on bus ofwbus0, error = 2
  
  PR:           238730
  Reported by:  Dennis Clarke <dcla...@blastwave.org>
  Tested by:    Dennis Clarke <dcla...@blastwave.org>
  MFC after:    2 weeks

Modified:
  head/sys/dev/bge/if_bge.c

Modified: head/sys/dev/bge/if_bge.c
==============================================================================
--- head/sys/dev/bge/if_bge.c   Tue Jul 16 04:17:25 2019        (r350024)
+++ head/sys/dev/bge/if_bge.c   Tue Jul 16 08:36:49 2019        (r350025)
@@ -3276,6 +3276,8 @@ bge_mbox_reorder(struct bge_softc *sc)
                bus = device_get_parent(dev);
                if (device_get_devclass(dev) != pcib)
                        break;
+               if (device_get_devclass(bus) != pci)
+                       break;
                for (i = 0; i < nitems(mbox_reorder_lists); i++) {
                        if (pci_get_vendor(dev) ==
                            mbox_reorder_lists[i].vendor &&
@@ -3287,8 +3289,6 @@ bge_mbox_reorder(struct bge_softc *sc)
                                return (1);
                        }
                }
-               if (device_get_devclass(bus) != pci)
-                       break;
        }
        return (0);
 }
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to