Felipe,
> -----Original Message-----
> From: Liu, Bin
> Sent: Tuesday, March 24, 2015 3:09 PM
> To: [email protected]
> Cc: Balbi, Felipe; Liu, Bin
> Subject: [PATCH v2] usb: musb: only set test mode once
>
> The MUSB test mode register can only be set once, otherwise the result is
> undefined.
>
> This prevents the debugfs testmode entry to set the register more than once
> which causes test failure.
>
> Signed-off-by: Bin Liu <[email protected]>
I see you have not picked up this patch yet. Can you please hold on it?
I noticed only the USB2.0 Specs mentioned about USB reset to exit test mode,
but not in the MUSB data manual.
I am guessing running multiple 'test packet' command causing incorrect test
packets is due to the driver loading the test packets into EP0 FIFO multiple
times. I simply masked this then the analyzer trace shows the test packets are
correct even after ran 'test packet' command multiple times.
I will have to hook up a scope to measure the signal to ensure the DP/DM
signals are still correct after run each test mode command multiple times for
MUSB. If so, then the patch we need is to ensure not loading the test packet to
FIFO multiple times.
Regards,
-Bin.
> ---
> v2: revise the dev_err message.
>
> drivers/usb/musb/musb_debugfs.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/musb/musb_debugfs.c
> b/drivers/usb/musb/musb_debugfs.c index 78a283e..04382ec 100644
> --- a/drivers/usb/musb/musb_debugfs.c
> +++ b/drivers/usb/musb/musb_debugfs.c
> @@ -191,9 +191,16 @@ static ssize_t musb_test_mode_write(struct file *file, {
> struct seq_file *s = file->private_data;
> struct musb *musb = s->private;
> - u8 test = 0;
> + u8 test;
> char buf[18];
>
> + test = musb_readb(musb->mregs, MUSB_TESTMODE);
> + if (test) {
> + dev_err(musb->controller, "Error: test mode is already set. "
> + "Please do USB Bus Reset to start a new test.\n");
> + return count;
> + }
> +
> memset(buf, 0x00, sizeof(buf));
>
> if (copy_from_user(buf, ubuf, min_t(size_t, sizeof(buf) - 1, count)))
> --
> 1.8.4
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html