Re: 3.7 kernel hangs when doing scp

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

 



Hi Peter,

On Thu, Dec 20, 2012 at 2:39 AM, Peter Chen <peter.chen@xxxxxxxxxxxxx> wrote:

> Please to see if the Stream mode disable (bit4, usbmode) is set or not?
> If it is not, please try below patch
>
> diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
> index c97503b..258bc02 100644
> --- a/drivers/usb/host/ehci-hcd.c
> +++ b/drivers/usb/host/ehci-hcd.c
> @@ -227,6 +227,7 @@ static void tdi_reset (struct ehci_hcd *ehci)
>
>         tmp = ehci_readl(ehci, &ehci->regs->usbmode);
>         tmp |= USBMODE_CM_HC;
> +       tmp |= (1 << 4); /* disable stream mode */
>         /* The default byte access to MMR space is LE after
>          * controller reset. Set the required endian mode
>          * for transfer buffers to match the host microprocessor

Excellent! Your suggestion made scp work with mx6 on 3.7.

I assume that this "fix" or workaround would need a better place, right?

Should this fix go into the chipidea host driver instead?

Also, I wonder on how "standard" this USBMODE register is. i.e. there
is a deviation from the FSL EHCI USBMODE register.
I found it in include/linux/usb/ehci_def.h:

#define USBMODE_SDIS            (1<<3)          /* Stream disable */

, which is at a different bit position from the i.MX6 Reference Manual:

4 SDIS Stream Disable Mode. (0 - Inactive [default]; 1 - Active)

Also interested to know more details at to why disabling stream mode
make things work.

Thanks a lot!

Fabio Estevam
--
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