From: Bin Liu <b-liu@ti.com>
To: Maxim Uvarov <muvarov@gmail.com>
Cc: <linux-kernel@vger.kernel.org>, <linux-usb@vger.kernel.org>,
Greg KH <gregkh@linuxfoundation.org>,
<sergei.shtylyov@cogentembedded.com>
Subject: Re: [PATCHv2] musb_host: fix lockup on rxcsr_h_error
Date: Thu, 28 Apr 2016 09:37:14 -0500 [thread overview]
Message-ID: <20160428143714.GA7222@uda0271908> (raw)
In-Reply-To: <CAJGZr0JwefevBRxbG_k5jPqf8Bi9ndMMieTcAKfkgCRGcbfjrg@mail.gmail.com>
Hi,
On Thu, Apr 28, 2016 at 09:51:37AM +0300, Maxim Uvarov wrote:
[snip]
> Hello Bin,
>
> yes, it also works with that reset and go to finish:
>
> diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
> index c3d5fc9..8cd98e7 100644
> --- a/drivers/usb/musb/musb_host.c
> +++ b/drivers/usb/musb/musb_host.c
> @@ -1599,6 +1599,10 @@ void musb_host_rx(struct musb *musb, u8 epnum)
> status = -EPROTO;
> musb_writeb(epio, MUSB_RXINTERVAL, 0);
>
> + rx_csr &= ~MUSB_RXCSR_H_ERROR;
> + musb_writew(epio, MUSB_RXCSR, rx_csr);
> +
> + goto finish;
> } else if (rx_csr & MUSB_RXCSR_DATAERROR) {
>
> if (USB_ENDPOINT_XFER_ISOC != qh->type) {
>
Thanks for testing it.
>
> That I think a key thing, which is done in other error. If that change
> is good for you than I'm also happy with it.
We need to understand why the controller keeps generating the same
interrupt to come out a proper fix.
I will take a look. But I can only use my spare time on this, so be
patient.
>
> I also not sure if musb_writeb(epio, MUSB_RXINTERVAL, 0); is needed.
> In my case it's the same result with it and without it.
> In other scenarios might be reasonable...
It disables NAK timeout.
>
>
> > First of all, I don't like the idea of merging the two branches, it
> > makes the code ugly.
>
> Yes, I don't like that function at all, it's too long and difficult to
> read if you first look on it first time. It will be good to split it
> on 3 small functions for each big if.
This particular function is not that hard to understand, but the driver
in general is messy. But I am not sure if anyone in the community can
refactory this driver. The community had some effort in the past to
clean up this driver, but it always broke usecases on different
platforms.
Regards,
-Bin.
next prev parent reply other threads:[~2016-04-28 14:37 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-27 6:51 [PATCHv2] musb_host: fix lockup on rxcsr_h_error Max Uvarov
2016-04-27 15:46 ` Bin Liu
2016-04-27 18:26 ` Maxim Uvarov
2016-04-27 19:13 ` Bin Liu
2016-04-27 21:28 ` Bin Liu
2016-04-28 6:51 ` Maxim Uvarov
2016-04-28 14:37 ` Bin Liu [this message]
2016-05-03 10:03 ` Yegor Yefremov
2016-05-03 13:48 ` Bin Liu
2016-05-03 14:25 ` Yegor Yefremov
2016-05-03 14:35 ` Bin Liu
2016-05-04 14:49 ` Yegor Yefremov
2016-05-04 18:56 ` Bin Liu
2016-05-04 19:02 ` Sergei Shtylyov
2016-05-04 19:17 ` Bin Liu
2016-05-04 20:19 ` Greg KH
2016-05-04 20:47 ` Bin Liu
2016-05-05 13:21 ` Sergei Shtylyov
2016-05-05 13:31 ` Bin Liu
2016-05-05 13:39 ` Sergei Shtylyov
2016-05-05 13:45 ` Bin Liu
2018-01-25 15:45 ` Bin Liu
2018-01-25 16:24 ` Maxim Uvarov
2018-01-25 16:31 ` Bin Liu
2018-01-26 9:24 ` Maxim Uvarov
2018-02-08 2:38 ` Bin Liu
2018-01-26 10:42 ` Tomas Paukrt
2018-08-06 13:19 ` Tomas Paukrt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160428143714.GA7222@uda0271908 \
--to=b-liu@ti.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=muvarov@gmail.com \
--cc=sergei.shtylyov@cogentembedded.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox