usb: dfu: correct dfu buffer inited value
authorBo Shen <voice.shen@atmel.com>
Wed, 16 Oct 2013 09:26:38 +0000 (17:26 +0800)
committerChanho Park <chanho61.park@samsung.com>
Fri, 24 Jul 2015 07:29:51 +0000 (16:29 +0900)
After dfu buffer is initialized, the buffer should be all available,
while not 0. Initialize its value to min(dfu_buf_size, dfu->r_left).

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Tested-by: Lukasz Majewski <l.majewski@samsung.com>
Acked-by: Lukasz Majewski <l.majewski@samsung.com>
drivers/dfu/dfu.c

index 2a514d08bc428cf74f02f583dbda3e2d4b323686..c661cd385ecedc38019b76a72ecceee38363363f 100644 (file)
@@ -300,7 +300,7 @@ int dfu_read(struct dfu_entity *dfu, void *buf, int size, int blk_seq_num)
                dfu->offset = 0;
                dfu->i_buf_end = dfu_get_buf() + dfu_buf_size;
                dfu->i_buf = dfu->i_buf_start;
-               dfu->b_left = 0;
+               dfu->b_left = min(dfu_buf_size, dfu->r_left);
 
                dfu->bad_skip = 0;