[U-Boot] spl: avoid printf when we might be doing Ymodem with CONFIG_SPL_FIT_SIGNATURE

Tom Rini trini at konsulko.com
Mon Apr 22 17:02:16 UTC 2019


On Mon, Apr 22, 2019 at 06:40:33PM +0200, Marek Vasut wrote:
> On 4/22/19 6:12 PM, Tom Rini wrote:
> > On Wed, Mar 20, 2019 at 07:52:20PM +0000, Alex Kiernan wrote:
> >> If CONFIG_SPL_FIT_SIGNATURE is enabled and U-Boot is being loaded from UART
> >> over Ymodem then we can't emit messages using printf() without causing
> >> errors like:
> >>
> >>   Sending: u-boot-dtb.img
> >>   Ymodem sectors/kbytes sent: 3009/376kRetry 0: Got 23 for sector ACK
> >>   Retry 0: NAK on sector
> >>   Retry 0: Got 68 for sector ACK
> >>   Retry 0: NAK on sector
> >>   Ymodem sectors/kbytes sent: 3273/409kRetry 0: Got 23 for sector ACK
> >>   Retry 0: NAK on sector
> >>   Retry 0: Got 68 for sector ACK
> >>   Retry 0: NAK on sector
> >>
> >> Use debug() rather than printf() to avoid sending messages on the serial
> >> port.
> >>
> >> Signed-off-by: Alex Kiernan <alex.kiernan at gmail.com>
> >> ---
> >>
> >>  common/spl/spl_fit.c | 6 +++---
> >>  1 file changed, 3 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
> >> index db436268cbcd..08faf2c1b058 100644
> >> --- a/common/spl/spl_fit.c
> >> +++ b/common/spl/spl_fit.c
> >> @@ -240,12 +240,12 @@ static int spl_load_fit_image(struct spl_load_info *info, ulong sector,
> >>  	}
> >>  
> >>  #ifdef CONFIG_SPL_FIT_SIGNATURE
> >> -	printf("## Checking hash(es) for Image %s ... ",
> >> -	       fit_get_name(fit, node, NULL));
> >> +	debug("## Checking hash(es) for Image %s ... ",
> >> +	      fit_get_name(fit, node, NULL));
> >>  	if (!fit_image_verify_with_data(fit, node,
> >>  					 src, length))
> >>  		return -EPERM;
> >> -	puts("OK\n");
> >> +	debug("OK\n");
> >>  #endif
> >>  
> >>  #ifdef CONFIG_SPL_FIT_IMAGE_POST_PROCESS
> > 
> > I think in this case we want to have that bit of "garbage" happen as the
> > protocol handles them correctly and if there is a problem it's visible
> > "on the line" to be seen at least and can be dug at.  The other
> > alternative here would be to re-work the code to only printf anything on
> > the error case and debug that we're checking at all.
> 
> Can we do something similar to this ?
> https://patchwork.ozlabs.org/patch/1055047/

Another valid approach, yes.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190422/4dd81c73/attachment.sig>


More information about the U-Boot mailing list