On Thu, Sep 28, 2006 at 02:23:57AM -0400, Jim Paris wrote: > Hi Tejun, > > > 20us isn't enough for some SATA controllers (sata_nv) ending up not > > sending the second FIS27 to clear SRST. This usually results in SRST > > timeout causing excessive delays during hotplug. > > > > This patch lengthens the delay from 20us to 1ms and also converts it > > to msleep() instead of busy wait. > > Thanks for the patch. Unfortunately it doesn't seem to help on 2.6.18: I see. Justing, the solution doesn't seem to work. Have you guys verified that the controller doesn't send the second H2D regsiter FIS clearing SRST w/ 20us delay? If you guys did, the patch needs to make into tree whether it helps this particular case or not. If not, I think it's best to leave it alone. Jim, can you please test the following patch? It only adds ATA_FLAG_HRST_TO_RESUME. diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c index 8cd730f..647e7b8 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c @@ -257,7 +257,8 @@ static struct ata_port_info nv_port_info /* generic */ { .sht = &nv_sht, - .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY, + .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | + ATA_FLAG_HRST_TO_RESUME, .pio_mask = NV_PIO_MASK, .mwdma_mask = NV_MWDMA_MASK, .udma_mask = NV_UDMA_MASK, @@ -266,7 +267,8 @@ static struct ata_port_info nv_port_info /* nforce2/3 */ { .sht = &nv_sht, - .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY, + .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | + ATA_FLAG_HRST_TO_RESUME, .pio_mask = NV_PIO_MASK, .mwdma_mask = NV_MWDMA_MASK, .udma_mask = NV_UDMA_MASK, @@ -275,7 +277,8 @@ static struct ata_port_info nv_port_info /* ck804 */ { .sht = &nv_sht, - .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY, + .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | + ATA_FLAG_HRST_TO_RESUME, .pio_mask = NV_PIO_MASK, .mwdma_mask = NV_MWDMA_MASK, .udma_mask = NV_UDMA_MASK, - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html