On Sat, 2019-11-09 at 20:14 +0100, Kars de Jong wrote: > When using this driver on a Blizzard 1260, there were failures > whenever DMA transfers from the SCSI bus to memory of 65535 bytes > were followed by a DMA transfer of 1 byte. This caused the byte at > offset 65535 to be overwritten with 0xff. The Blizzard hardware can't > handle single byte DMA transfers. > > Besides this issue, limiting the DMA length to something that is not > a multiple of the page size is very inefficient on most file systems. > > It seems this limit was chosen because the DMA transfer counter of > the ESP by default is 16 bits wide, thus limiting the length to 65535 > bytes. However, the value 0 means 65536 bytes, which is handled by > the ESP and the Blizzard just fine. It is also the default maximum > used by esp_scsi when drivers don't provide their own > dma_length_limit() function. Have you tested this on any other hardware? the reason most legacy hardware would have a setting like this is because they have a two byte transfer length register and zero doesn't mean 65536. If this is the case for any of the cards the zorro_esp drives, it might be better to lower the max length to 61440 (64k-4k) so the residual is a page. James