From b9f59cca0d3f142de2acd5426da7bb950c85bb3e Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Wed, 14 Apr 2010 15:29:32 +0000 Subject: [PATCH] For early ALI chips do not announce I/O sizes that require unsupported 48bit DMA commands. --- sys/dev/ata/chipsets/ata-acerlabs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/dev/ata/chipsets/ata-acerlabs.c b/sys/dev/ata/chipsets/ata-acerlabs.c index b7f11472da29..fee9692ebd5e 100644 --- a/sys/dev/ata/chipsets/ata-acerlabs.c +++ b/sys/dev/ata/chipsets/ata-acerlabs.c @@ -184,8 +184,11 @@ ata_ali_ch_attach(device_t dev) if (ctlr->chip->cfg2 & ALI_NEW && ctlr->chip->chiprev < 0xc7) ch->flags |= ATA_CHECKS_CABLE; /* older chips can't do 48bit DMA transfers */ - if (ctlr->chip->chiprev <= 0xc4) + if (ctlr->chip->chiprev <= 0xc4) { ch->flags |= ATA_NO_48BIT_DMA; + if (ch->dma.max_iosize > 256 * 512) + ch->dma.max_iosize = 256 * 512; + } return 0; }