> When I force the pass-through mode, it oopses (haven't captured it yet as it's > too long). Forcing pass-through mode works fine with UDMA-capable drives: Couldn't reproduce that yet but the HPA case should be fixed by the following patch: pata_it821x: With newer firmware we see HPA flags From: Alan Cox <alan@xxxxxxxxxx> We don't want HPA flags set at this point as we don't allow the issuing of HPA operations via the 'smart' firmware interface. It could be 1.7 firmware supports this but for the moment the blunt hammer is appealing (one reason being right now we don't actually know how to peek at the firmware rev!) --- drivers/ata/pata_it821x.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/ata/pata_it821x.c b/drivers/ata/pata_it821x.c index e108169..977e5f8 100644 --- a/drivers/ata/pata_it821x.c +++ b/drivers/ata/pata_it821x.c @@ -80,7 +80,7 @@ #define DRV_NAME "pata_it821x" -#define DRV_VERSION "0.3.8" +#define DRV_VERSION "0.3.9" struct it821x_dev { @@ -519,6 +519,8 @@ static void it821x_dev_config(struct ata_device *adev) /* This is a controller firmware triggered funny, don't report the drive faulty! */ adev->horkage &= ~ATA_HORKAGE_DIAGNOSTIC; + /* No HPA in 'smart' mode */ + adev->horkage |= ATA_HORKAGE_BROKEN_HPA; } /** @@ -546,7 +548,9 @@ static int it821x_ident_hack(struct ata_port *ap) adev->id[76] = 0; /* No NCQ/AN etc */ } } - return ata_cable_unknown(ap); + /* This is actually meaningless, but reporting 80 wire avoids + warnings about cable types */ + return ata_cable_80wire(ap); } -- 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