1) Read RXLVL (TXLVL) at the end of each read buffer command (in the same SPI transfer message) 2) Use kthread instead of workqueue 3) Implement driver in async way using callbacks