Avoid transfers crossing a 4GB boundary, which can lead to data

corruption.  Thanks to scottl@ for the suggestion.

This change will likely be revised after consideration of a general
method to address this type of issue for other drivers.

Sponsored by:   Sandvine Incorporated
MFC after:      3 days
This commit is contained in:
Ed Maste 2012-02-28 17:29:31 +00:00
parent aa58a5719b
commit d80ce62eb5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=232260

View File

@ -403,7 +403,8 @@ aac_pci_attach(device_t dev)
* Note that some of these controllers are 64-bit capable.
*/
if (bus_dma_tag_create(NULL, /* parent */
PAGE_SIZE, 0, /* algnmnt, boundary */
PAGE_SIZE, /* alignment */
((bus_size_t)((uint64_t)1 << 32)), /* boundary*/
BUS_SPACE_MAXADDR, /* lowaddr */
BUS_SPACE_MAXADDR, /* highaddr */
NULL, NULL, /* filter, filterarg */