This patch breaks the creation of the "Clock rate Selector" mixer unit in E-MU Tracker Pre USB audio interface. If the 'snd-usb-audio' module still has not been loaded when the device gets switched on, the module autoloads and everything works:
$ cat /proc/asound/USB/usbmixer USB Mixer: usb_id=0x041e3f0a, ctrlif=0, ctlerr=0 Card: E-MU Systems, Inc. E-MU Tracker Pre | USB at usb-0000:00:14.0-13, high speed Unit: 4 Control: name="PCM Playback Volume", index=0 Info: id=4, control=2, cmask=0x3, channels=2, type="S16" Volume: min=-25600, max=0, dBmin=-10000, dBmax=0 Unit: 4 Control: name="PCM Playback Switch", index=0 Info: id=4, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN" Volume: min=0, max=1, dBmin=0, dBmax=0 Unit: 12 Control: name="Clock rate Selector", index=0 Info: id=12, control=3, cmask=0x0, channels=1, type="U8" Volume: min=0, max=5, dBmin=0, dBmax=0
BUT! If the device gets switched off and back on when the module is still loaded, the control never gets created:
(after I power cycled the device)
$ cat /proc/asound/USB/usbmixer USB Mixer: usb_id=0x041e3f0a, ctrlif=0, ctlerr=0 Card: E-MU Systems, Inc. E-MU Tracker Pre | USB at usb-0000:00:14.0-13, high speed Unit: 4 Control: name="PCM Playback Volume", index=0 Info: id=4, control=2, cmask=0x3, channels=2, type="S16" Volume: min=-25600, max=0, dBmin=-10000, dBmax=0 Unit: 4 Control: name="PCM Playback Switch", index=0 Info: id=4, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN" Volume: min=0, max=1, dBmin=0, dBmax=0
Accordingly, the device stays at the default Clock rate with no way to change it. Probably, there's some timing issue in the initialization of the device / the loading of the module, but I honestly couldn't care less as long as this patch breaks my setup.