* [PATCH] MUSB: Fix bug - don't mess up count number and CSR0 register value
@ 2008-08-05 3:31 Bryan Wu
2008-08-05 8:45 ` Tony Lindgren
0 siblings, 1 reply; 4+ messages in thread
From: Bryan Wu @ 2008-08-05 3:31 UTC (permalink / raw)
To: me; +Cc: linux-omap, Bryan Wu
Signed-off-by: Bryan Wu <cooloney@kernel.org>
---
drivers/usb/musb/musb_gadget_ep0.c | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/drivers/usb/musb/musb_gadget_ep0.c b/drivers/usb/musb/musb_gadget_ep0.c
index 2d2574c..e7b56df 100644
--- a/drivers/usb/musb/musb_gadget_ep0.c
+++ b/drivers/usb/musb/musb_gadget_ep0.c
@@ -452,7 +452,7 @@ static void ep0_rxstate(struct musb *musb)
{
void __iomem *regs = musb->control_ep->regs;
struct usb_request *req;
- u16 tmp;
+ u16 count, csr;
req = next_ep0_request(musb);
@@ -464,34 +464,34 @@ static void ep0_rxstate(struct musb *musb)
unsigned len = req->length - req->actual;
/* read the buffer */
- tmp = musb_readb(regs, MUSB_COUNT0);
- if (tmp > len) {
+ count = musb_readb(regs, MUSB_COUNT0);
+ if (count > len) {
req->status = -EOVERFLOW;
- tmp = len;
+ count = len;
}
- musb_read_fifo(&musb->endpoints[0], tmp, buf);
- req->actual += tmp;
- tmp = MUSB_CSR0_P_SVDRXPKTRDY;
- if (tmp < 64 || req->actual == req->length) {
+ musb_read_fifo(&musb->endpoints[0], count, buf);
+ req->actual += count;
+ csr = MUSB_CSR0_P_SVDRXPKTRDY;
+ if (count < 64 || req->actual == req->length) {
musb->ep0_state = MUSB_EP0_STAGE_STATUSIN;
- tmp |= MUSB_CSR0_P_DATAEND;
+ csr |= MUSB_CSR0_P_DATAEND;
} else
req = NULL;
} else
- tmp = MUSB_CSR0_P_SVDRXPKTRDY | MUSB_CSR0_P_SENDSTALL;
+ csr = MUSB_CSR0_P_SVDRXPKTRDY | MUSB_CSR0_P_SENDSTALL;
/* Completion handler may choose to stall, e.g. because the
* message just received holds invalid data.
*/
if (req) {
- musb->ackpend = tmp;
+ musb->ackpend = csr;
musb_g_ep0_giveback(musb, req);
if (!musb->ackpend)
return;
musb->ackpend = 0;
}
- musb_writew(regs, MUSB_CSR0, tmp);
+ musb_writew(regs, MUSB_CSR0, csr);
}
/*
--
1.5.3
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] MUSB: Fix bug - don't mess up count number and CSR0 register value
2008-08-05 3:31 [PATCH] MUSB: Fix bug - don't mess up count number and CSR0 register value Bryan Wu
@ 2008-08-05 8:45 ` Tony Lindgren
2008-08-05 8:49 ` Gadiyar, Anand
0 siblings, 1 reply; 4+ messages in thread
From: Tony Lindgren @ 2008-08-05 8:45 UTC (permalink / raw)
To: Bryan Wu; +Cc: me, linux-omap
Hi,
* Bryan Wu <cooloney@kernel.org> [080805 06:27]:
> Signed-off-by: Bryan Wu <cooloney@kernel.org>
> ---
> drivers/usb/musb/musb_gadget_ep0.c | 24 ++++++++++++------------
> 1 files changed, 12 insertions(+), 12 deletions(-)
I think all musb patches should be now posted to linux-usb list as the
patches are queued for integration.
So I'll be using plain code coming from mainline tree and
won't apply any patches to musb code except temporary fixes if compile
breaks.
Cheers,
Tony
> diff --git a/drivers/usb/musb/musb_gadget_ep0.c b/drivers/usb/musb/musb_gadget_ep0.c
> index 2d2574c..e7b56df 100644
> --- a/drivers/usb/musb/musb_gadget_ep0.c
> +++ b/drivers/usb/musb/musb_gadget_ep0.c
> @@ -452,7 +452,7 @@ static void ep0_rxstate(struct musb *musb)
> {
> void __iomem *regs = musb->control_ep->regs;
> struct usb_request *req;
> - u16 tmp;
> + u16 count, csr;
>
> req = next_ep0_request(musb);
>
> @@ -464,34 +464,34 @@ static void ep0_rxstate(struct musb *musb)
> unsigned len = req->length - req->actual;
>
> /* read the buffer */
> - tmp = musb_readb(regs, MUSB_COUNT0);
> - if (tmp > len) {
> + count = musb_readb(regs, MUSB_COUNT0);
> + if (count > len) {
> req->status = -EOVERFLOW;
> - tmp = len;
> + count = len;
> }
> - musb_read_fifo(&musb->endpoints[0], tmp, buf);
> - req->actual += tmp;
> - tmp = MUSB_CSR0_P_SVDRXPKTRDY;
> - if (tmp < 64 || req->actual == req->length) {
> + musb_read_fifo(&musb->endpoints[0], count, buf);
> + req->actual += count;
> + csr = MUSB_CSR0_P_SVDRXPKTRDY;
> + if (count < 64 || req->actual == req->length) {
> musb->ep0_state = MUSB_EP0_STAGE_STATUSIN;
> - tmp |= MUSB_CSR0_P_DATAEND;
> + csr |= MUSB_CSR0_P_DATAEND;
> } else
> req = NULL;
> } else
> - tmp = MUSB_CSR0_P_SVDRXPKTRDY | MUSB_CSR0_P_SENDSTALL;
> + csr = MUSB_CSR0_P_SVDRXPKTRDY | MUSB_CSR0_P_SENDSTALL;
>
>
> /* Completion handler may choose to stall, e.g. because the
> * message just received holds invalid data.
> */
> if (req) {
> - musb->ackpend = tmp;
> + musb->ackpend = csr;
> musb_g_ep0_giveback(musb, req);
> if (!musb->ackpend)
> return;
> musb->ackpend = 0;
> }
> - musb_writew(regs, MUSB_CSR0, tmp);
> + musb_writew(regs, MUSB_CSR0, csr);
> }
>
> /*
> --
> 1.5.3
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread* RE: [PATCH] MUSB: Fix bug - don't mess up count number and CSR0 register value
2008-08-05 8:45 ` Tony Lindgren
@ 2008-08-05 8:49 ` Gadiyar, Anand
2008-08-05 9:02 ` Tony Lindgren
0 siblings, 1 reply; 4+ messages in thread
From: Gadiyar, Anand @ 2008-08-05 8:49 UTC (permalink / raw)
To: Tony Lindgren, Bryan Wu; +Cc: me@felipebalbi.com, linux-omap@vger.kernel.org
> Hi,
>
> * Bryan Wu <cooloney@kernel.org> [080805 06:27]:
> > Signed-off-by: Bryan Wu <cooloney@kernel.org>
> > ---
> > drivers/usb/musb/musb_gadget_ep0.c | 24 ++++++++++++------------
> > 1 files changed, 12 insertions(+), 12 deletions(-)
>
> I think all musb patches should be now posted to linux-usb list as the
> patches are queued for integration.
>
> So I'll be using plain code coming from mainline tree and
> won't apply any patches to musb code except temporary fixes if compile
> breaks.
>
> Cheers,
>
> Tony
Do you mind if I post the patches here as well? It could be useful to
someone using USB on OMAP? At least they could get a review here.
I've got one set of patches coming up over the next couple of days, and
all of it is based on the current linux-omap tree.
- Anand
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] MUSB: Fix bug - don't mess up count number and CSR0 register value
2008-08-05 8:49 ` Gadiyar, Anand
@ 2008-08-05 9:02 ` Tony Lindgren
0 siblings, 0 replies; 4+ messages in thread
From: Tony Lindgren @ 2008-08-05 9:02 UTC (permalink / raw)
To: Gadiyar, Anand; +Cc: Bryan Wu, me@felipebalbi.com, linux-omap@vger.kernel.org
* Gadiyar, Anand <gadiyar@ti.com> [080805 11:59]:
> > Hi,
> >
> > * Bryan Wu <cooloney@kernel.org> [080805 06:27]:
> > > Signed-off-by: Bryan Wu <cooloney@kernel.org>
> > > ---
> > > drivers/usb/musb/musb_gadget_ep0.c | 24 ++++++++++++------------
> > > 1 files changed, 12 insertions(+), 12 deletions(-)
> >
> > I think all musb patches should be now posted to linux-usb list as the
> > patches are queued for integration.
> >
> > So I'll be using plain code coming from mainline tree and
> > won't apply any patches to musb code except temporary fixes if compile
> > breaks.
> >
> > Cheers,
> >
> > Tony
>
> Do you mind if I post the patches here as well? It could be useful to
> someone using USB on OMAP? At least they could get a review here.
Yes, it's a good idea to Cc linux-omap list so people can test them
and keep track of the changes easier :)
> I've got one set of patches coming up over the next couple of days, and
> all of it is based on the current linux-omap tree.
OK
Tony
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-08-05 9:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-05 3:31 [PATCH] MUSB: Fix bug - don't mess up count number and CSR0 register value Bryan Wu
2008-08-05 8:45 ` Tony Lindgren
2008-08-05 8:49 ` Gadiyar, Anand
2008-08-05 9:02 ` Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox