I asked the local block driver expert and he suggested this patch as a test. You will need to know how to recompile your kernel module for this. Does it help? The 9.1 driver apparently defaulted to smaller request sizes. -Andi Sounds like trying to limit the request size for sata_promise could perhaps work. This simple patch should limit request size to 100kb for any device type, it could be worth a shot. If that works, I can improve it. --- linux-2.6.11/drivers/scsi/libata-scsi.c~ 2005-06-16 20:51:14.000000000 +0200 +++ linux-2.6.11/drivers/scsi/libata-scsi.c 2005-06-16 20:51:21.000000000 +0200 @@ -601,11 +601,13 @@ * 65534 when Jens Axboe's patch for dynamically * determining max_sectors is merged. */ +#if 0 if ((dev->flags & ATA_DFLAG_LBA48) && ((dev->flags & ATA_DFLAG_LOCK_SECTORS) == 0)) { sdev->host->max_sectors = 2048; blk_queue_max_sectors(sdev->request_queue, 2048); } +#endif } return 0; /* scsi layer doesn't check return value, sigh */