Author: sbruno
Date: Fri Jan  5 23:50:50 2018
New Revision: 327606
URL: https://svnweb.freebsd.org/changeset/base/327606

Log:
  Handle misconfigured/nonexistent pcidev for comconsole instead of BTX panic.
  
  PR:           203319
  Reviewed by:  imp jhb
  MFC after:    2 weeks
  Sponsored by: Limelight Networks
  Differential Revision:        https://reviews.freebsd.org/D13776

Modified:
  head/stand/i386/libi386/comconsole.c

Modified: head/stand/i386/libi386/comconsole.c
==============================================================================
--- head/stand/i386/libi386/comconsole.c        Fri Jan  5 23:21:47 2018        
(r327605)
+++ head/stand/i386/libi386/comconsole.c        Fri Jan  5 23:50:50 2018        
(r327606)
@@ -267,6 +267,16 @@ comc_pcidev_handle(uint32_t locator)
                printf("Cannot read bar at 0x%x\n", locator);
                return (CMD_ERROR);
        }
+
+       /* 
+        * biospci_read_config() sets port == 0xffffffff if the pcidev
+        * isn't found on the bus.  Check for 0xffffffff and return to not
+        * panic in BTX.
+        */
+       if (port == 0xffffffff) {
+               printf("Cannot find specified pcidev\n");
+               return (CMD_ERROR);
+       }
        if (!PCI_BAR_IO(port)) {
                printf("Memory bar at 0x%x\n", locator);
                return (CMD_ERROR);
_______________________________________________
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