STM32F103 SPI DMA slave mode sends first byte twice
I have an STM32F103 configured in slave mode using NSS for slave select and using DMA. I'm using 8 bit mode. When the master starts clocking the STM32F103 it always shifts out the first byte in the buffer twice. So rather than seeing 0xF0, 0xF1, 0xF2, 0xF3, I'm seeing 0xF0, 0xF0, 0xF1, 0xF2 shifted out and then I get the DMA transfer complete interupt.
If I call it in 16 bit mode, (and I change the DMA PSIZE and MSIZE to be 16 bits as well) and do a transfer of size 2 ( to get my four bytes) it works perfectly (even though the data is transmitted little endian but I expect that)
I've read a whole bunch on this today but not much turned up so I expect it is something I'm doing. I don't really want to use 16 bit transfers as I would have to massage the data so it's in big endian format when tranmitted which wouln't be acceptable.
I've also tried 8 bit mode but leaving PSIZE and MSIZE as 16 bits and it shifts out 0xF0, 0xF0, 0xF2, 0xF3.
Any ideas?

