Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Apr 2015 09:21:57 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r281073 - head/sys/dev/uart
Message-ID:  <201504040921.t349LvBG035719@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andrew
Date: Sat Apr  4 09:21:56 2015
New Revision: 281073
URL: https://svnweb.freebsd.org/changeset/base/281073

Log:
  Use OF_getencprop over OF_getprop and fdt32_to_cpu. The latter may give
  us the wrong data in the failure case if shift was not zero.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/dev/uart/uart_bus_fdt.c
  head/sys/dev/uart/uart_cpu_fdt.c

Modified: head/sys/dev/uart/uart_bus_fdt.c
==============================================================================
--- head/sys/dev/uart/uart_bus_fdt.c	Sat Apr  4 09:07:31 2015	(r281072)
+++ head/sys/dev/uart/uart_bus_fdt.c	Sat Apr  4 09:21:56 2015	(r281073)
@@ -89,11 +89,9 @@ uart_fdt_get_clock(phandle_t node, pcell
 static int
 uart_fdt_get_shift(phandle_t node, pcell_t *cell)
 {
-	pcell_t shift;
 
-	if ((OF_getprop(node, "reg-shift", &shift, sizeof(shift))) <= 0)
-		shift = 0;
-	*cell = fdt32_to_cpu(shift);
+	if ((OF_getencprop(node, "reg-shift", cell, sizeof(*cell))) <= 0)
+		*cell = 0;
 	return (0);
 }
 

Modified: head/sys/dev/uart/uart_cpu_fdt.c
==============================================================================
--- head/sys/dev/uart/uart_cpu_fdt.c	Sat Apr  4 09:07:31 2015	(r281072)
+++ head/sys/dev/uart/uart_cpu_fdt.c	Sat Apr  4 09:21:56 2015	(r281073)
@@ -82,11 +82,9 @@ uart_fdt_get_clock(phandle_t node, pcell
 static int
 uart_fdt_get_shift(phandle_t node, pcell_t *cell)
 {
-	pcell_t shift;
 
-	if ((OF_getprop(node, "reg-shift", &shift, sizeof(shift))) <= 0)
-		shift = 0;
-	*cell = fdt32_to_cpu(shift);
+	if ((OF_getencprop(node, "reg-shift", cell, sizeof(*cell))) <= 0)
+		*cell = 0;
 	return (0);
 }
 



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