diff --git a/[refs] b/[refs] index 0b578cb91eac..04b1d3866b61 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2bfc3611bd91986ed2b979a7f536c52751c8ac8f +refs/heads/master: 5c9a76118d24f044b8d8ee721dbbf4e5c7db3dbb diff --git a/trunk/drivers/ata/pata_via.c b/trunk/drivers/ata/pata_via.c index cc09d47fb927..ff93e8f71cf8 100644 --- a/trunk/drivers/ata/pata_via.c +++ b/trunk/drivers/ata/pata_via.c @@ -161,10 +161,15 @@ static int via_pre_reset(struct ata_port *ap) return -ENOENT; } - if ((config->flags & VIA_UDMA) >= VIA_UDMA_66) + if ((config->flags & VIA_UDMA) >= VIA_UDMA_100) ap->cbl = via_cable_detect(ap); - else + /* The UDMA66 series has no cable detect so do drive side detect */ + else if ((config->flags & VIA_UDMA) < VIA_UDMA_66) ap->cbl = ATA_CBL_PATA40; + else + ap->cbl = ATA_CBL_PATA_UNK; + + return ata_std_prereset(ap); }