I have discovered that the Read-Status-Register command has the same problem.
With the SST25L SPI flash chips, if the chip enable is deasserted after sending
a command that command will get aborted.
I ran across this while testing a new spi master driver for the ep93xx on an
EDB9307A dev board. That board uses the processors SFRMOUT signal as part of
the chip select logic. Unfortunately the ep93xx only asserts the SFRMOUT
signal as long as the spi transmit fifo contains data. As soon as the last
bit is clocked into the receive fifo it gets deasserted. Many of the other
ep93xx based boards have that same issue.
I have an updated patch that changes both of these into one synchronous message
which fixes the sst25l_status and sst25l_match_device functions. These changes
should be transparent to any users of this driver.
Could you drop the current patch and I will submit the updated one for review?