tiny-printf: Handle %pM format when CONFIG_SPL_NET_SUPPORT is enabled
commit c091f65234 upstream.
%pM format string is used to print MAC-address and this is required while SPL
network boot.
This patch fixes the SPL boot issues like the following:
Trying to boot from USB eth
## Error: flags type check failure for "ethaddr" <= "40309614M" (type: m)
## Error inserting "ethaddr" variable, errno=1
eth0: eth_cpsw## Error: flags type check failure for "eth1addr" <=
"81f01114M" (type: m)
## Error inserting "eth1addr" variable, errno=1
, eth1: usb_ether
eth_cpsw Waiting for PHY auto negotiation to complete......... TIMEOUT !
Problem booting with BOOTP
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
This commit is contained in:
parent
a911d605c5
commit
9ac9b4bc5c
|
|
@ -9,8 +9,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <stdarg.h>
|
#include <log.h>
|
||||||
#include <serial.h>
|
#include <serial.h>
|
||||||
|
#include <stdarg.h>
|
||||||
#include <linux/ctype.h>
|
#include <linux/ctype.h>
|
||||||
|
|
||||||
struct printf_info {
|
struct printf_info {
|
||||||
|
|
@ -269,20 +270,19 @@ static int _vprintf(struct printf_info *info, const char *fmt, va_list va)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
#ifdef DEBUG
|
if (CONFIG_IS_ENABLED(NET_SUPPORT) || _DEBUG) {
|
||||||
pointer(info, fmt, va_arg(va, void *));
|
pointer(info, fmt, va_arg(va, void *));
|
||||||
/*
|
/*
|
||||||
* Skip this because it pulls in _ctype which is
|
* Skip this because it pulls in _ctype which is
|
||||||
* 256 bytes, and we don't generally implement
|
* 256 bytes, and we don't generally implement
|
||||||
* pointer anyway
|
* pointer anyway
|
||||||
*/
|
*/
|
||||||
while (isalnum(fmt[0]))
|
while (isalnum(fmt[0]))
|
||||||
fmt++;
|
fmt++;
|
||||||
break;
|
break;
|
||||||
#else
|
}
|
||||||
islong = true;
|
islong = true;
|
||||||
/* no break */
|
/* no break */
|
||||||
#endif
|
|
||||||
case 'x':
|
case 'x':
|
||||||
if (islong) {
|
if (islong) {
|
||||||
num = va_arg(va, unsigned long);
|
num = va_arg(va, unsigned long);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue