svn commit: r195439 - head/sys/dev/ata/chipsets
Alexander Motin
mav at FreeBSD.org
Wed Jul 8 06:00:21 UTC 2009
Author: mav
Date: Wed Jul 8 06:00:21 2009
New Revision: 195439
URL: http://svn.freebsd.org/changeset/base/195439
Log:
Fix kernel panic, when ataahci driver is used on system with increased
MAXPHYS. Current ataahci driver memory allocation scheme includes only
64 items in DMA S/G table, and so not guarantied to support transactions
with more then 252K data.
Approved by: re (kensmith)
MFC after: 2 weeks
Modified:
head/sys/dev/ata/chipsets/ata-ahci.c
Modified: head/sys/dev/ata/chipsets/ata-ahci.c
==============================================================================
--- head/sys/dev/ata/chipsets/ata-ahci.c Wed Jul 8 06:00:18 2009 (r195438)
+++ head/sys/dev/ata/chipsets/ata-ahci.c Wed Jul 8 06:00:21 2009 (r195439)
@@ -914,7 +914,7 @@ ata_ahci_dmainit(device_t dev)
ata_dmainit(dev);
/* note start and stop are not used here */
ch->dma.setprd = ata_ahci_dmasetprd;
- ch->dma.max_iosize = 8192 * DEV_BSIZE;
+ ch->dma.max_iosize = (ATA_AHCI_DMA_ENTRIES - 1) * PAGE_SIZE;
if (ATA_INL(ctlr->r_res2, ATA_AHCI_CAP) & ATA_AHCI_CAP_64BIT)
ch->dma.max_address = BUS_SPACE_MAXADDR;
}
More information about the svn-src-head
mailing list