drm/sun4i: backend: Fix probe failure with multiple backends
Commite0d072782c
("dma-mapping: introduce DMA range map, supplanting dma_pfn_offset") introduced a regression in our code since the second backed to probe will now get -EINVAL back from dma_direct_set_offset and will prevent the entire DRM device from probing. Ignore -EINVAL as a temporary measure to get it back working, before removing that call entirely. Fixes:e0d072782c
("dma-mapping: introduce DMA range map, supplanting dma_pfn_offset") Signed-off-by: Maxime Ripard <maxime@cerno.tech> Reviewed-by: Chen-Yu Tsai <wens@csie.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
3650b228f8
commit
957a1ea359
@ -814,9 +814,15 @@ static int sun4i_backend_bind(struct device *dev, struct device *master,
|
||||
*
|
||||
* XXX(hch): this has no business in a driver and needs to move
|
||||
* to the device tree.
|
||||
*
|
||||
* If we have two subsequent calls to dma_direct_set_offset
|
||||
* returns -EINVAL. Unfortunately, this happens when we have two
|
||||
* backends in the system, and will result in the driver
|
||||
* reporting an error while it has been setup properly before.
|
||||
* Ignore EINVAL, but it should really be removed eventually.
|
||||
*/
|
||||
ret = dma_direct_set_offset(drm->dev, PHYS_OFFSET, 0, SZ_4G);
|
||||
if (ret)
|
||||
if (ret && ret != -EINVAL)
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user