When sending more than 60 bytes of data, the first bytes of data are repeated until the SPI transfer is completed

This severe issue was detected when the MOSI and MISO pins of a MCP2210 device were connected in loopback, to detect if the data was being received as it should. If was found out that the issue was not that the data was being received correctly, but it was found out that the data that was sent contained the first bytes of the sequence repeated. For example, the following 70 bytes were intended to be sent:

fe ef 23 ac 32 45 76 18 a5 3f 43 76 45 2a d3 34 86 7c 54 d2 75 1d 31 54 90 0a 34 75 62 4a 3c d5 34 53 74 74 24 54 53 86 87 fe 34 43 12 54 53 08 a3 75 38 19 06 34 24 76 1f 58 aa ad 7d a2 de a0 02 95 ad 63 67 89

However, what was actually sent was the following:

fe ef 23 ac 32 45 76 18 a5 3f 43 76 45 2a d3 34 86 7c 54 d2 75 1d 31 54 90 0a 34 75 62 4a 3c d5 34 53 74 74 24 54 53 86 87 fe 34 43 12 54 53 08 a3 75 38 19 06 34 24 76 1f 58 aa ad fe ef 23 ac 32 45 76 18 a5 3f

Notice that the last 10 bytes corresponds to the first 10 bytes in the sequence that was actually sent This was confirmed by using a logic analyzer. For much bigger transfers, the first 60 bytes are repeated over and over until the transfer is completed. The length of the transfer always seems to correspond to the intended length, though.

Edited by Samuel Lourenço