Limit SPI transaction to 16 bits.
Some error handling cleanup.