alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* ALSA: snd-usb-usx2y: remove bogus frame checks
@ 2013-10-07 21:29 Guido Aulisi
  2013-10-08  7:08 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: Guido Aulisi @ 2013-10-07 21:29 UTC (permalink / raw)
  To: Daniel Mack; +Cc: tiwai, alsa-devel, nicholas.bailey

Hi,
I did some more testing on my US122:

I used my patch (see below) and it worked (with default nrpack=4), but I
got "should not be here with counts=42" errors, then after some time the
kernel crashed, but I couldn't copy the trace.

Then I set nrpack=1 and I got no "should not be here..." and it was more
stable, no crash. I only checked playback, not recording, nor MIDI, with
aplay I played some songs for about one hour...

I hope this can be useful. But I think there are other bugs in this
driver.

Ciao
Guido Aulisi

The patch is:

diff --git a/sound/usb/usx2y/usbusx2yaudio.c b/sound/usb/usx2y/usbusx2yaudio.c
index 63fb521..cd16fcc 100644
--- a/sound/usb/usx2y/usbusx2yaudio.c
+++ b/sound/usb/usx2y/usbusx2yaudio.c
@@ -328,7 +328,7 @@ static void i_usX2Y_urb_complete(struct urb *urb)
                usX2Y_error_urb_status(usX2Y, subs, urb);
                return;
        }
-       if (likely((urb->start_frame & 0xFFFF) == (usX2Y->wait_iso_frame & 0xFFFF)))
+       if (likely((urb->start_frame & 0x03FF) == (usX2Y->wait_iso_frame & 0x03FF)))
                subs->completed_urb = urb;
        else {
                usX2Y_error_sequence(usX2Y, subs, urb);

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: ALSA: snd-usb-usx2y: remove bogus frame checks
  2013-10-07 21:29 ALSA: snd-usb-usx2y: remove bogus frame checks Guido Aulisi
@ 2013-10-08  7:08 ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2013-10-08  7:08 UTC (permalink / raw)
  To: Guido Aulisi; +Cc: alsa-devel, nicholas.bailey, Daniel Mack

At Mon, 07 Oct 2013 23:29:50 +0200,
Guido Aulisi wrote:
> 
> Hi,
> I did some more testing on my US122:
> 
> I used my patch (see below) and it worked (with default nrpack=4), but I
> got "should not be here with counts=42" errors, then after some time the
> kernel crashed, but I couldn't copy the trace.

Did you try to disable the "should not here with..." check in the
code?  This looks also bogus for ehci, too.

> Then I set nrpack=1 and I got no "should not be here..." and it was more
> stable, no crash. I only checked playback, not recording, nor MIDI, with
> aplay I played some songs for about one hour...
> 
> I hope this can be useful. But I think there are other bugs in this
> driver.

Yeah, there can be :)  The driver was developed for ohci and uhci, but
not fully tested with ehci, AFAIK.

Meanwhile, we may add a workaround to force nrpack=1 in the case of
HIGHSPEED controller if it's confirmed to work in general.


thanks,

Takashi

> 
> Ciao
> Guido Aulisi
> 
> The patch is:
> 
> diff --git a/sound/usb/usx2y/usbusx2yaudio.c b/sound/usb/usx2y/usbusx2yaudio.c
> index 63fb521..cd16fcc 100644
> --- a/sound/usb/usx2y/usbusx2yaudio.c
> +++ b/sound/usb/usx2y/usbusx2yaudio.c
> @@ -328,7 +328,7 @@ static void i_usX2Y_urb_complete(struct urb *urb)
>                 usX2Y_error_urb_status(usX2Y, subs, urb);
>                 return;
>         }
> -       if (likely((urb->start_frame & 0xFFFF) == (usX2Y->wait_iso_frame & 0xFFFF)))
> +       if (likely((urb->start_frame & 0x03FF) == (usX2Y->wait_iso_frame & 0x03FF)))
>                 subs->completed_urb = urb;
>         else {
>                 usX2Y_error_sequence(usX2Y, subs, urb);
> 
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-10-08  7:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-07 21:29 ALSA: snd-usb-usx2y: remove bogus frame checks Guido Aulisi
2013-10-08  7:08 ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).