Message ID | 1563541046-6432-6-git-send-email-patrick.delaunay@st.com |
---|---|
State | Superseded |
Delegated to: | Patrick Delaunay |
Headers | show |
Series | dfu: update dfu stack and use them for stm32mp1 | expand |
Hi Patrick, > This patch allows into the DFU backend to indicate that there is no > remaining data (for EOF for example). That allows users to read a > buffer greater than the device size; the dfu stack stops the read > request when the backend return a length=0 without error. > > Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> > --- > > drivers/dfu/dfu.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c > index 01ec690..bcfa170 100644 > --- a/drivers/dfu/dfu.c > +++ b/drivers/dfu/dfu.c > @@ -395,6 +395,8 @@ static int dfu_read_buffer_fill(struct dfu_entity > *dfu, void *buf, int size) debug("%s: Read error!\n", __func__); > return ret; > } > + if (dfu->b_left == 0) > + break; > dfu->offset += dfu->b_left; > dfu->r_left -= dfu->b_left; > Reviewed-by: Lukasz Majewski <lukma@denx.de> Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c index 01ec690..bcfa170 100644 --- a/drivers/dfu/dfu.c +++ b/drivers/dfu/dfu.c @@ -395,6 +395,8 @@ static int dfu_read_buffer_fill(struct dfu_entity *dfu, void *buf, int size) debug("%s: Read error!\n", __func__); return ret; } + if (dfu->b_left == 0) + break; dfu->offset += dfu->b_left; dfu->r_left -= dfu->b_left;
This patch allows into the DFU backend to indicate that there is no remaining data (for EOF for example). That allows users to read a buffer greater than the device size; the dfu stack stops the read request when the backend return a length=0 without error. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> --- drivers/dfu/dfu.c | 2 ++ 1 file changed, 2 insertions(+)