From ebdac9fa2ca5abe52400e6fd1a76301dc0f4ea1d Mon Sep 17 00:00:00 2001 From: Alan Date: Sat, 16 Dec 2006 14:32:21 +0000 Subject: [PATCH] --- yaml --- r: 44628 b: refs/heads/master c: 5c9a76118d24f044b8d8ee721dbbf4e5c7db3dbb h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/ata/pata_via.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) 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); }