transfer ends in stead of doing it before starting a new transfer. Use a different CSR bit to wait for "chip not busy" (may be necessary to make this conditional on chip revision).