Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Jul 2013 16:57:28 +0000 (UTC)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r253654 - head/sys/dev/uart
Message-ID:  <201307251657.r6PGvSWq003653@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marcel
Date: Thu Jul 25 16:57:27 2013
New Revision: 253654
URL: http://svnweb.freebsd.org/changeset/base/253654

Log:
  Set the device description after we call uart_probe(). In uart_probe()
  we call device-specific probe functions, which can (and typically will)
  set the device description based on low-level device probe information.
  In the end we never actually used the device description that we so
  carefully maintained in the PCI match table. By setting the device
  description after we call uart_probe(), we'll print the more user-
  friendly description by default.

Modified:
  head/sys/dev/uart/uart_bus_pci.c

Modified: head/sys/dev/uart/uart_bus_pci.c
==============================================================================
--- head/sys/dev/uart/uart_bus_pci.c	Thu Jul 25 16:34:34 2013	(r253653)
+++ head/sys/dev/uart/uart_bus_pci.c	Thu Jul 25 16:57:27 2013	(r253654)
@@ -162,6 +162,7 @@ uart_pci_probe(device_t dev)
 {
 	struct uart_softc *sc;
 	const struct pci_id *id;
+	int result;
 
 	sc = device_get_softc(dev);
 
@@ -174,9 +175,14 @@ uart_pci_probe(device_t dev)
 	return (ENXIO);
 
  match:
+	result = uart_bus_probe(dev, 0, id->rclk, id->rid, 0);
+	/* Bail out on error. */
+	if (result > 0)
+		return (result);
+	/* Set/override the device description. */
 	if (id->desc)
 		device_set_desc(dev, id->desc);
-	return (uart_bus_probe(dev, 0, id->rclk, id->rid, 0));
+	return (result);
 }
 
 DRIVER_MODULE(uart, pci, uart_pci_driver, uart_devclass, NULL, NULL);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307251657.r6PGvSWq003653>