Commit 49bc8be
Christoph Hellwig
ARM/dma-mappіng: don't override ->dma_coherent when set from a bus notifier
Commit ae626eb ("ARM/dma-mapping: use dma-direct unconditionally")
caused a regression on the mvebu platform, wherein devices that are
dma-coherent are marked as dma-noncoherent, because although
mvebu_hwcc_notifier() after that commit still marks then as coherent,
the arm_coherent_dma_ops() function, which is called later, overwrites
this setting, since it is being called from drivers/of/device.c with
coherency parameter determined by of_dma_is_coherent(), and the
device-trees do not declare the 'dma-coherent' property.
Fix this by defaulting never clearing the dma_coherent flag in
arm_coherent_dma_ops().
Fixes: ae626eb ("ARM/dma-mapping: use dma-direct unconditionally")
Reported-by: Marek Behún <[email protected]>
Signed-off-by: Christoph Hellwig <[email protected]>
Reviewed-by: Russell King (Oracle) <[email protected]>
Tested-by: Marek Behún <[email protected]>1 parent f7f04d1 commit 49bc8be
1 file changed
+10
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1769 | 1769 | | |
1770 | 1770 | | |
1771 | 1771 | | |
1772 | | - | |
1773 | | - | |
| 1772 | + | |
| 1773 | + | |
| 1774 | + | |
| 1775 | + | |
| 1776 | + | |
| 1777 | + | |
| 1778 | + | |
| 1779 | + | |
| 1780 | + | |
| 1781 | + | |
1774 | 1782 | | |
1775 | 1783 | | |
1776 | 1784 | | |
| |||
0 commit comments