Takashi Sakamoto wrote: > Recently I get Alesis Multimix 12 FireWire and work for ALSA dice driver > to support it. This unit uses ASIC of 'WaveFront DICE II STD' and TCAT > extended application protocol is not supported. > > Unfortunately, the driver in v4.17-rc1 can't handle this unit, due to > validation of address sections for global space. > [...] > (sound/firewire/dice/dice-interface.h) > 175 #define GLOBAL_SAMPLE_RATE 0x05c > ... > 181 #define GLOBAL_VERSION 0x060 > 182 > 183 /* Some old firmware versions do not have the following global registers: */ > ... > 188 #define GLOBAL_CLOCK_CAPABILITIES 0x064 > > But this is not proper in my case because the maximum offset on global > sub-address space is 0x05c in quadlet unit. IIRC that comment was based on the documentation. Apparently, there was a misunderstanding of "size 0x60" vs. "up to the register at 0x60". > In my opinion, GLOBAL_VERSION offset belongs to global address space for > newer firmware version. I agree; if this is how the hardware behaves, then this is what the driver should support. The version register is checked only once (in get_subaddrs()) and does not actually affect the behaviour of the driver, so it would not hurt to simply omit that check on the old firmware. (And the "quadlets >= 90" check in dice_proc_read() needs to be adjusted.) Regards, Clemens _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel