mirror of
https://gitlab.com/etherlab.org/ethercat.git
synced 2026-08-23 15:18:39 +08:00
fix ccat startup stall. In case the dma memory was allocated above 4 GB limit, CCAT is unable to access it.
-> limit the dma_mask to 32-bit to omit this situation
This commit is contained in:
committed by
Florian Pose
parent
ec5c35306e
commit
20aba4ed2e
@@ -288,9 +288,8 @@ static int ccat_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||
goto cleanup_pci_device;
|
||||
}
|
||||
|
||||
if (!dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64))) {
|
||||
pr_debug("64 bit DMA supported, pci rev: %u\n", revision);
|
||||
} else if (!dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32))) {
|
||||
/* CCAT is unable to access memory above 4 GB */
|
||||
if (!dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32))) {
|
||||
pr_debug("32 bit DMA supported, pci rev: %u\n", revision);
|
||||
} else {
|
||||
pr_warn("No suitable DMA available, pci rev: %u\n", revision);
|
||||
|
||||
Reference in New Issue
Block a user