Re: [PATCH 1/2] usb: Missing dma_mask in uhci-platform.c when probed from device-tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 7 Oct 2012, Tony Prisk wrote:

> 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@xxxxxxxxxxxxxxx>

This patch has a small problem...

> --- a/drivers/usb/host/uhci-platform.c
> +++ b/drivers/usb/host/uhci-platform.c
> @@ -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)
> @@ -82,7 +91,7 @@ static int __devinit uhci_hcd_platform_probe(struct platform_device *pdev)
>  
>  	if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, hcd_name)) {
>  		pr_err("%s: request_mem_region failed\n", __func__);
> -		ret = -EBUSY;
> +		ret = -EBUSY;static u64 platform_uhci_dma_mask = DMA_BIT_MASK(32);

What happened here?  Did you try compiling this patch?

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux