Well, well, well - Three holes in the ground. My bridge boards *are* choking on > 200 sector transfers. I patched sata_via in the same way sata_sil was patched to tell the controller to use 200 as max_sectors the same way sata_sil uses 15 as max_sectors on the seagates. The problem is that ata_scsi_slave_config in libata-scsi.c is getting called *after* .dev_config in sata_via and resetting my value of 200 to 2048. If I hard code 200 into ata_scsi_slave_config then this issue never raises it's ugly head and I can't get the bridge boards to crash. I wonder if this might be happening in sata_sil also? I added a simple printk in ata_scsi_slave_config to print "Slave Config!!!" See attached log. I have also attached my patch to sata_via for sanity checking, in case I did something obviously wrong. ata9: no device found (phy stat 00000000) scsi8 : sata_promise ata10: no device found (phy stat 00000000) scsi9 : sata_promise ata11: no device found (phy stat 00000000) scsi10 : sata_promise ata12: no device found (phy stat 00000000) scsi11 : sata_promise ACPI: PCI interrupt 0000:00:0f.0[B] -> GSI 20 (level, low) -> IRQ 20 sata_via(0000:00:0f.0): routed to hard irq line 0 ata13: SATA max UDMA/133 cmd 0x8800 ctl 0x8402 bmdma 0x7400 irq 20 ata14: SATA max UDMA/133 cmd 0x8000 ctl 0x7802 bmdma 0x7408 irq 20 ata13: dev 0 ATA, max UDMA/100, 390622887 sectors: lba48 ata13(0): applying WD errata fix ata13: dev 0 configured for UDMA/100 scsi12 : sata_via ata14: no device found (phy stat 00000000) scsi13 : sata_via Vendor: ATA Model: WDC WD2000JB-00D Rev: 02.1 Type: Direct-Access ANSI SCSI revision: 05 Slave Config!!! SCSI device sda: 390622887 512-byte hdwr sectors (199999 MB) SCSI device sda: drive cache: write back /dev/scsi/host12/bus0/target0/lun0: unknown partition table Attached scsi disk sda at scsi12, channel 0, id 0, lun 0 Attached scsi generic sg0 at scsi12, channel 0, id 0, lun 0, type 0 Regards, Brad