mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 18:39:59 +00:00
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: Tony Prisk <linux@prisktech.co.nz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c5211187f7
commit
09eeffb70c
1 changed files with 9 additions and 0 deletions
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue