I've took a look at status register, it contains 3-bits: Read buffer full flag, Transmit empty flag, Fault flag.
As I can see, transmit data register is empty doesn't mean "transmit complete",
Data may still in the shift register. If then I disable spi peripheral, error will occur.