Greetings, Following the list this pasts days as a sysadmin, building a big machine with 45 sata2 disks (WD green 1.5TB), Sil3124 4 ports sata2 with 9 port multipliers with 5 each also from Silicom image. This machine should smoke but it doesn't, attached is the dmesg dump where it is possible to see the enourmous ammount of hard and soft resets.Using Ubuntu/server 10.4 2.6.32-25-server x86_64, been questioning if this patch could make me have better i/o, sata link allways at half speed, going to build a debian/ubuntu kernel image with the patch, if anyone has a link for a deb image with this patch..apreciated. Keep the good work Regards, ./hantunes On 09/10/2010 11:14 AM, Jan Beulich wrote: >>>> On 09.09.10 at 17:00, Tejun Heo wrote: >>>> >> Can you please test whether the patch at the end of this message is >> enough to fix the problem? >> > Both the revert of the original change and the patch here solved the > problem also for me (on .36-rc3). > > Thanks, Jan > > >> diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c >> index 030b1c4..6a43129 100644 >> --- a/drivers/ata/libata-sff.c >> +++ b/drivers/ata/libata-sff.c >> @@ -418,6 +418,7 @@ void ata_sff_tf_load(struct ata_port *ap, const struct >> ata_taskfile *tf) >> if (ioaddr->ctl_addr) >> iowrite8(tf->ctl, ioaddr->ctl_addr); >> ap->last_ctl = tf->ctl; >> + ap->ops->sff_check_status(ap); >> } >> >> if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) { >> @@ -453,6 +454,7 @@ void ata_sff_tf_load(struct ata_port *ap, const struct >> ata_taskfile *tf) >> iowrite8(tf->device, ioaddr->device_addr); >> VPRINTK("device 0x%X\n", tf->device); >> } >> + ap->ops->sff_check_status(ap); >> } >> EXPORT_SYMBOL_GPL(ata_sff_tf_load); >> > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-ide" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >