[alsa-devel] [PATCH 1/2] ALSA: usb: fix corrupted pointers due to interface setting change

Takashi Iwai tiwai at suse.de
Fri Aug 14 17:54:07 CEST 2015


On Fri, 14 Aug 2015 17:47:59 +0200,
Takashi Iwai wrote:
> 
> On Fri, 14 Aug 2015 17:39:32 +0200,
> Pierre-Louis Bossart wrote:
> > 
> > On 8/14/15 10:28 AM, Takashi Iwai wrote:
> > > On Fri, 14 Aug 2015 17:03:10 +0200,
> > > Takashi Iwai wrote:
> > >>
> > >> On Fri, 14 Aug 2015 00:42:32 +0200,
> > >> Pierre-Louis Bossart wrote:
> > >>>
> > >>> When a transition occurs between alternate settings that do not use the
> > >>> same synchronization method, the substream pointers were not reset.
> > >>> This prevents audio from being played during the second transition.
> > >>>
> > >>> Identified and tested with M-Audio Transit device
> > >>> (0763:2006 Midiman M-Audio Transit)
> > >>
> > >> Hmm, I have this old device, too, but couldn't reproduce the problem.
> > >> Is there any special setup with it?
> > >
> > > OK, I could see it after switching a few times.  But, also your patch
> > > didn't cure, either...
> > 
> > I tested this with Ubuntu 14.04 and the default madfuload package that 
> > comes with it for the firmware.
> > 
> > I think you need both patches to get the device to work. I split the 
> > patches in two since I think the second problem is device specific while 
> > the first one is a generic one that can happen on other devices.
> 
> I tested both at once, of course :)
> With my device, 24/96 -> 16/48 works, then again switching to 24/96
> stalls.  After that, it doesn't work no matter which mode is until I
> replug the device.

Hmm, now after a few retrials, it starts working.
Will review both patches now.


Takashi


More information about the Alsa-devel mailing list