[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