[alsa-devel] Driver for TerraTec DMX 6Fire USB

Takashi Iwai tiwai at suse.de
Tue Jan 25 11:25:01 CET 2011


At Mon, 24 Jan 2011 13:10:58 +0100,
Torsten Schenk wrote:
> 
> Hello,
> 
> I had to review the code since an error came up: when sound was playing and I disconnected the device, the whole system crashed. This bug is now solved (pcm.c: check if a isoc-packet has invalid status on retire, if so, abort streaming).
> 
> >> >> diff -Nur a/sound/usb/6fire/pcm.c b/sound/usb/6fire/pcm.c 
> >> >> --- a/sound/usb/6fire/pcm.c    1970-01-01 01:00:00.000000000 +0100 
> >> >> +++ b/sound/usb/6fire/pcm.c    2011-01-20 23:07:24.000000000 +0100 
> >> >... 
> >> >> +/* keep next two synced with 
> >> >> + * FW_EP_W_MAX_PACKET_SIZE[] and RATES_MAX_PACKET_SIZE */ 
> >> >> +static const int RATES_IN_PACKET_SIZE[] = { 228, 228, 420, 420, 404, 404 }; 
> >> >> +static const int RATES_OUT_PACKET_SIZE[] = { 228, 228, 420, 420, 604, 604 }; 
> >> >> +static const int RATES[] = { 44100, 48000, 88200, 96000, 176400, 192000 }; 
> >> > 
> >> >Any reason to use capital letters for these? 
> >> >Because they are const? 
> >> That was exactly the idea. 
> > 
> >Hm, but it's not so common. Not too annoying as well, though. 
> Ok, I thought it would be that way... No matter, I changed it to small letters.
> 
> >> >Why x86-dependent? 
> >> I thought so because of the firmware stuff. If bit- or byte-order are changed, the firmware uploading might not work. If I figured out the #ifdef stuff for bit and byte order, I will remove this dependency. 
> > 
> >But you are decoding in bytes, not in words or so. Thus the CPU 
> >byte-order doesn't matter. 
> I reviewed the code and found exactly one endian-dependend thing: a const array I defined with type u16. I changed that to u8 and removed the x86 dependency.

Thanks.  I committed your patch yesterday to sound git tree.

For further works, please base on the latest sound git tree.


Takashi


More information about the Alsa-devel mailing list