On 08/29/2012 11:49 AM, Nicolas Ferre :
> If the number of ports present on the SoC/board is not the maximum
> and that the platform data is not filled with all data, there is
> an easy way to mess the PIO setup for this interface.
> This quick fix addresses mis-configuration in USB host platform data
> that is common in at91 boards since commit 0ee6d1e (USB: ohci-at91:
> change maximum number of ports) that did not modified the associatd
> board files.
>
> Reported-by: Klaus Falkner <[email protected]>
> Signed-off-by: Nicolas Ferre <[email protected]>
> Cc: Alan Stern <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: [email protected]
> Cc: Stable <[email protected]> [3.4+]
Alan, Greg, gentle ping...
I really would like to seen it landing in stable soon...
Thanks, best regards,
> ---
> drivers/usb/host/ohci-at91.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
> index a665b3e..aaa8d2b 100644
> --- a/drivers/usb/host/ohci-at91.c
> +++ b/drivers/usb/host/ohci-at91.c
> @@ -570,6 +570,16 @@ static int __devinit ohci_hcd_at91_drv_probe(struct
> platform_device *pdev)
>
> if (pdata) {
> at91_for_each_port(i) {
> + /*
> + * do not configure PIO if not in relation with
> + * real USB port on board
> + */
> + if (i >= pdata->ports) {
> + pdata->vbus_pin[i] = -EINVAL;
> + pdata->overcurrent_pin[i] = -EINVAL;
> + break;
> + }
> +
> if (!gpio_is_valid(pdata->vbus_pin[i]))
> continue;
> gpio = pdata->vbus_pin[i];
>
--
Nicolas Ferre
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/