We need to download FW to a spi device when booting up. If we use command "reboot" to boot up the machine, we will got follow erro:
a. Transfer data without DMA
[ 21.977433] fm1388_i2c 16-002c: <fm1388_dsp_load_fw> dsp load fw: FM1388_5FFC0000.dat
[ 21.985411] fm1388_spi spi0.0: fm1388_spi_burst_write: begin...
[ 23.003712] spi_master spi0: failed to transfer one message from queue
[ 23.011692] fm1388_spi spi0.0: fm1388_spi_burst_write error -110
b. Transfer data with DMA
[ 26.318445] fm1388_i2c 19-002c: <fm1388_dsp_load_fw> dsp load fw: FM1388_5FFC0000.dat
[ 26.326325] fm1388_spi spi0.0: fm1388_spi_burst_write: begin...
[ 28.338617] fsl_lpspi 5a020000.lpspi: I/O Error in DMA TX
[ 28.344077] fm1388_spi spi0.0: SPI transfer failed: -110
[ 28.349446] spi_master spi0: failed to transfer one message from queue
[ 28.356000] fm1388_spi spi0.0: fm1388_spi_burst_write error -110
But, if we "power down--->power on" the machine, spi transfer is ok.
Note: current Linux version is 4.14.98, and version 4.14.62 have no this problem.