SPI transaction timeout linux device driver
The resource setup depend on your platform, not only the driver.

An idea could be to validate your SPI bus before using it with the target chipset directly. I suggest to use spidev interface and a user space code to send something on the bus and observing the result on a logical analyser or an oscilloscope. I usually do that to validate new boards.

The list_add corruption is suspicious, but difficult to say more at that point.