Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 09eeffb7 authored by Tony Prisk's avatar Tony Prisk Committed by Greg Kroah-Hartman
Browse files

usb: Missing dma_mask in uhci-platform.c when probed from device-tree



Device-tree probed devices don't get a dev.dma_mask set. This patch
sets a default 32bit mask on platforms using devicetree.

Without this patch, arch-vt8500 cannot detect uhci attached devices.

Signed-off-by: default avatarTony Prisk <linux@prisktech.co.nz>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c5211187
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ static const struct hc_driver uhci_platform_hc_driver = {
	.hub_control =		uhci_hub_control,
};

static u64 platform_uhci_dma_mask = DMA_BIT_MASK(32);

static int __devinit uhci_hcd_platform_probe(struct platform_device *pdev)
{
@@ -71,6 +72,14 @@ static int __devinit uhci_hcd_platform_probe(struct platform_device *pdev)
	if (usb_disabled())
		return -ENODEV;

	/*
	 * Right now device-tree probed devices don't get dma_mask set.
	 * Since shared usb code relies on it, set it here for now.
	 * Once we have dma capability bindings this can go away.
	 */
	if (!pdev->dev.dma_mask)
		pdev->dev.dma_mask = &platform_uhci_dma_mask;

	hcd = usb_create_hcd(&uhci_platform_hc_driver, &pdev->dev,
			pdev->name);
	if (!hcd)