At present there is an arbitrary limit of 4KB for padding. Rockchip needs more than that, so remove this restriction. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
@ -488,12 +488,6 @@ copy_file (int ifd, const char *datafile, int pad)
int size;
struct image_type_params *tparams = imagetool_get_type(params.type);
if (pad >= sizeof(zeros)) {
fprintf(stderr, "%s: Can't pad to %d\n",
params.cmdname, pad);
exit(EXIT_FAILURE);
}
memset(zeros, 0, sizeof(zeros));
if (params.vflag) {
@ -563,11 +557,18 @@ copy_file (int ifd, const char *datafile, int pad)
exit (EXIT_FAILURE);
} else if (pad > 1) {
if (write(ifd, (char *)&zeros, pad) != pad) {
fprintf(stderr, "%s: Write error on %s: %s\n",
params.cmdname, params.imagefile,
strerror(errno));
while (pad > 0) {
int todo = sizeof(zeros);
if (todo > pad)
todo = pad;
if (write(ifd, (char *)&zeros, todo) != todo) {
pad -= todo;