Hi everyone, Hi Nico,

Currently there is a regression in flashprog that causes the dediprog to read wrong data from the flash chip.
I git bisected the issue to the following commit "dediprog: Implement multi-i/o reads" (a1b7f35).

Here is a sample diff on a W25Q128BV 16MiB chip (left: flashprog read, right: correct data)
```
< 00000000 9c 90 02 00 d6 00 00 00 05 ff ff ff ff 5a a5 f0 |.............Z..|
< 00000010 0f 03 00 04 00 08 02 10 5a 30 03 34 00 00 00 20 |........Z0.4... |
< 00000020 00 ff ff ff ff ff ff ff ff ff ff ff ff f5 fc 50 |...............P|
< 00000030 12 21 42 60 ad b7 b9 c4 c7 ff ff ff ff 00 00 00 |.!B`............|
< 00000040 00 00 04 ff 0f 03 00 ff 03 01 00 02 00 ff 7f 00 |................|
< 00000050 00 ff 7f 00 00 ff 7f 00 00 ff 7f 00 00 ff 7f 00 |................|
< *
< 00000070 00 ff 7f 00 00 ff 7f 00 00 ff 7f 00 00 00 0f a0 |................|
< 00000080 00 00 0d 40 00 00 09 80 00 00 00 00 00 00 01 01 |...@............|
< 00000090 10 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff |................|
---
> 00000000 11 00 00 9c 90 02 00 d6 00 00 00 05 ff ff ff ff |................|
> 00000010 5a a5 f0 0f 03 00 04 00 08 02 10 5a 30 03 34 00 |Z..........Z0.4.|
> 00000020 00 00 20 00 ff ff ff ff ff ff ff ff ff ff ff ff |.. .............|
> 00000030 f5 fc 50 12 21 42 60 ad b7 b9 c4 c7 ff ff ff ff |..P.!B`.........|
> 00000040 00 00 00 00 00 04 ff 0f 03 00 ff 03 01 00 02 00 |................|
> 00000050 ff 7f 00 00 ff 7f 00 00 ff 7f 00 00 ff 7f 00 00 |................|
> *
> 00000080 00 0f a0 00 00 0d 40 00 00 09 80 00 00 00 00 00 |......@.........|
> 00000090 00 01 01 10 00 00 00 00 ff ff ff ff ff ff ff ff |................|
[...]
```

With flashprog I always get the same wrong data result, so this is probably a deterministic problem.
Do you know what the problem might be? Let me know if you want me to test a patch or provide additional information.

Thanks
Marcello