- 03 2月, 2014 1 次提交
-
-
由 Takashi Iwai 提交于
Implement reset_resume callback so that the mixer values are properly restored. Still no boot quirks are called, so it might not work well on some devices. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 26 9月, 2013 1 次提交
-
-
由 Peter Senna Tschudin 提交于
Convert 0 to false and 1 to true when assigning values to bool variables. Inspired by commit 3db1cd5c. The simplified semantic patch that find this problem is as follows (http://coccinelle.lip6.fr/): @@ bool b; @@ ( -b = 0 +b = false | -b = 1 +b = true ) Signed-off-by: NPeter Senna Tschudin <peter.senna@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 12 8月, 2013 1 次提交
-
-
由 Maksim A. Boyko 提交于
Add the volume control quirk for avoiding the kernel warning for the Logitech HD Webcam C525 as in the similar commit 36691e1b for the Logitech HD Webcam C310. Reported-by: NMaksim Boyko <maksim.a.boyko@gmail.com> Tested-by: NMaksim Boyko <maksim.a.boyko@gmail.com> Cc: <stable@vger.kernel.org> # 3.10.5+ Signed-off-by: NMaksim Boyko <maksim.a.boyko@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 17 6月, 2013 1 次提交
-
-
由 Takashi Iwai 提交于
Just like the previous fix for LogitechHD Webcam c270 in commit 11e7064f, c310 model also requires the same workaround for avoiding the kernel warning. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=59741 Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 05 6月, 2013 1 次提交
-
-
由 Takashi Iwai 提交于
USB audio driver spews an error message when probing Logitech HD webcam c270: ALSA mixer.c:1300 usb_audio: Warning! Unlikely big volume range (=6144), cval->res is probably wrong. ALSA mixer.c:1304 usb_audio: [5] FU [Mic Capture Volume] ch = 1, val = 1536/7680/1 Obviously the device needs a fixed volume resolution (cval->res = 384) like other Logitech devices. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=821735Reported-and-tested-by: NCristian Rodríguez <crrodriguez@opensuse.org> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 20 3月, 2013 3 次提交
-
-
由 Daniel Mack 提交于
Creation of individual mixer controls may fail, but that shouldn't cause the entire mixer creation to fail. Even worse, if the mixer creation fails, that will error out the entire device probing. All the functions called by parse_audio_unit() should return -EINVAL if they find descriptors that are unsupported or believed to be malformed, so we can safely handle this error code as a non-fatal condition in snd_usb_mixer_controls(). That fixes a long standing bug which is commonly worked around by adding quirks which make the driver ignore entire interfaces. Some of them might now be unnecessary. Signed-off-by: NDaniel Mack <zonque@gmail.com> Reported-and-tested-by: NRodolfo Thomazelli <pe.soberbo@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Daniel Mack 提交于
In check_input_term() and parse_audio_feature_unit(), propagate the error value that has been returned by a failing function instead of -EINVAL. That helps cleaning up the error pathes in the mixer. Signed-off-by: NDaniel Mack <zonque@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Torstein Hegge 提交于
UAC2_EXTENSION_UNIT_V2 differs from UAC1_EXTENSION_UNIT, but can be handled in the same way when parsing the unit. Otherwise parse_audio_unit() fails when it sees an extension unit on a UAC2 device. UAC2_EXTENSION_UNIT_V2 is outside the range allocated by UAC1. Signed-off-by: NTorstein Hegge <hegge@resisty.net> Acked-by: NDaniel Mack <zonque@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 11 2月, 2013 1 次提交
-
-
由 Matt Gruskin 提交于
Adds quirks and mixer support for the M-Audio Fast Track C600 USB audio interface. This device is very similar to the C400 - the C600 simply has some more inputs and outputs, so the existing C400 support is extended to support this device as well. Signed-off-by: NMatt Gruskin <matthew.gruskin@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 27 1月, 2013 1 次提交
-
-
由 Clemens Ladisch 提交于
Commit 23caaf19 (ALSA: usb-mixer: Add support for Audio Class v2.0) forgot to adjust the length check for UAC 2.0 feature unit descriptors. This would make the code abort on encountering a feature unit without per-channel controls, and thus prevented the driver to work with any device having such a unit, such as the RME Babyface or Fireface UCX. Reported-by: NFlorian Hanisch <fhanisch@uni-potsdam.de> Tested-by: NMatthew Robbetts <wingfeathera@gmail.com> Tested-by: NMichael Beer <beerml@sigma6audio.de> Cc: Daniel Mack <daniel@caiaq.de> Cc: 2.6.35+ <stable@vger.kernel.org> Signed-off-by: NClemens Ladisch <clemens@ladisch.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 29 11月, 2012 4 次提交
-
-
由 David Henningsson 提交于
A lot of headsets/headphones have a "Speaker" mixer control. This confuses PulseAudio to think it is a speaker instead of a headphone/headset. Therfore, we rename it to "Headphone". We determine if something is a headphone similar to how udev determines form factor (see 78-sound-card.rules). BugLink: https://bugs.launchpad.net/bugs/1082357Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Eldad Zack 提交于
Add ranges for various Fast Track C400 controls, as observed while using the vendor's mixer control software (res values are an estimation). Signed-off-by: NEldad Zack <eldad@fogrefinery.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Eldad Zack 提交于
Current code mishandles the case where the device is a UAC2 and the bDescriptorSubtype is a UAC2 Effect Unit (0x07). It tries to parse it as a Processing Unit (which is similar to two other UAC1 units with overlapping subtypes), but since the structure is different (See: 4.7.2.10, 4.7.2.11 in UAC2 standard), the parsing is done incorrectly and prevents the device from initializing. For now, just ignore the unit. Signed-off-by: NEldad Zack <eldad@fogrefinery.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Eldad Zack 提交于
Currently, channel IDs exceeding 31 (0x1f) cannot be used. The channel ID is derived from the cmask. Extending cmask to a 64-bit type would only allow it to go up to 63 (0x3f). Some devices have channel IDs exceeding that as well. To address that, add an offset to the mixer element which is then accounted for in the UAC set/get functions. Signed-off-by: NEldad Zack <eldad@fogrefinery.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 30 10月, 2012 2 次提交
-
-
由 Takashi Iwai 提交于
Replace mutex with rwsem for codec->shutdown protection so that concurrent accesses are allowed. Also add the protection to snd_usb_autosuspend() and snd_usb_autoresume(), too. Reported-by: NMatthieu CASTET <matthieu.castet@parrot.com> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Close some races at disconnection of a USB audio device by adding the chip->shutdown_mutex and chip->shutdown check at appropriate places. The spots to put bandaids are: - PCM prepare, hw_params and hw_free - where the usb device is accessed for communication or get speed, in mixer.c and others; the device speed is now cached in subs->speed instead of accessing to chip->dev The accesses in PCM open and close don't need the mutex protection because these are already handled in the core PCM disconnection code. The autosuspend/autoresume codes are still uncovered by this patch because of possible mutex deadlocks. They'll be covered by the upcoming change to rwsem. Also the mixer codes are untouched, too. These will be fixed in another patch, too. Reported-by: NMatthieu CASTET <matthieu.castet@parrot.com> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 20 9月, 2012 1 次提交
-
-
由 David Henningsson 提交于
While going through Ubuntu bugs, I discovered this patch being posted and a confirmation that the patch works as expected. Finding out how the hw volume really works would be preferrable to just disabling the broken one, but this would be better than nothing. Credit: sndfnsdfin (qawsnews) BugLink: https://bugs.launchpad.net/bugs/559939Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 15 5月, 2012 1 次提交
-
-
由 Takashi Iwai 提交于
get_min_max_with_quirks() must be called after the control id name string is determined, but the current code changes the id name string after calling the function. Reported-by: NChristian Melki <christian.melki@ericsson.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 24 4月, 2012 2 次提交
-
-
由 Felix Homann 提交于
This adds controls for the effects section on the FTU devices. Some of these controls need volume quirks. They are added to mixer.c. [fixed missing break by tiwai] Signed-off-by: NFelix Homann <linuxaudio@showlabor.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Felix Homann 提交于
Rename mixer_vol_tlv to snd_usb_mixer_vol_tlv and export it to make it reuseable in mixer_quirks.c. Signed-off-by: NFelix Homann <linuxaudio@showlabor.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 15 4月, 2012 1 次提交
-
-
由 Mark Hills 提交于
Some interfaces reference endpoints which do not exists. To accomodate these, do not fail completely, but skip over them. This allows the Electrix Ebox-44 with earlier firmware to be detected and used for audio. Signed-off-by: NMark Hills <mark@pogo.org.uk> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 09 11月, 2011 2 次提交
-
-
由 Alexey Fisher 提交于
Logitech HD Webcam c510 provide wrong mixer resolution. Add it to "res = 384" quirk. Signed-off-by: NAlexey Fisher <bug-track@fisher-privat.net> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
In the recent usb-audio driver, the initialization of volume ranges may be delayed when the device doesn't respond well at the probing time. But the volume quirks for certain devices are applied only in mixer_ctl_feature_info() thus only at the very first probe and will be missing when the volume range is initialized later. This patch moves the volume quirk code to be always called from the volume-range extraction (get_min_max()), so that the quirks are properly applied in the later init time. Reported-and-tested-by: NAlexey Fisher <bug-track@fisher-privat.net> Cc: <stable@kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 13 10月, 2011 1 次提交
-
-
由 Takashi Iwai 提交于
The audio_feature_info[] array should contain all entries for UAC2_FU_*, but currently a few last entries are missing. Even though, the driver tries to probe these entries in parse_audio_feature_unit() and may access the range over the array. This patch fixes the bug by limiting the loop size properly using ARRAY_SIZE() instead of a hard-coded magic number. Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 27 9月, 2011 1 次提交
-
-
由 Clemens Ladisch 提交于
There are certain devices that are reportedly so slow that they need more than 100 ms to handle control transfers. Therefore, increase the timeout in mixer(_quirks).c to 1000 ms. The timeout parameter of snd_usb_ctl_msg() is now constant, so we can drop it. Reported-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NClemens Ladisch <clemens@ladisch.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 19 8月, 2011 2 次提交
-
-
由 Takashi Iwai 提交于
When the initial check of dB-range failed due to the read error, try to check again at the later read, too. When an invalid dB range is found, remove TLV flags and notify the mixer info change. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
The recent fix for testing dB range at the mixer creation time seems to cause regressions in some devices. In such devices, reading the dB info at probing time gives an error, thus both dBmin and dBmax are still zero, and TLV flag isn't set although the later read of dB info succeeds. This patch adds a workaround for such a case by assuming that the later read will succeed. In future, a similar test should be performed in a case where a wrong dB range is seen even in the later read. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
-
- 04 8月, 2011 2 次提交
-
-
由 Daniel Mack 提交于
When creating the mixers for an USB audio device, the current code looks at the host interface stored in mixer->chip->ctrl_if. Change this and rather keep a local pointer to the interface that was given when snd_usb_create_mixer() was called. Signed-off-by: NDaniel Mack <zonque@gmail.com> Reported-by: NNicolai Krakowiak <nicolai.krakowiak@gmail.com> Reported-by: NLean-Yves LENHOF <jean-yves@lenhof.eu.org> Acked-by: NClemens Ladisch <clemens@ladisch.de> Cc: stable@kernel.org Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Nicolai Krakowiak 提交于
Signed-off-by: NNicolai Krakowiak <nicolai.krakowiak@gmail.com> Acked-by: NDaniel Mack <zonque@gmail.com> Acked-by: NClemens Ladisch <clemens@ladisch.de> Cc: stable@kernel.org Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 25 5月, 2011 2 次提交
-
-
由 Daniel Mack 提交于
In order to allow quirks functions to hook up to the standard feature unit op tables, this patch exports a pointer to the struct that is used internally. That way, all the code handling the control can be kept private, and external code can reference the symbol to re-use it. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Daniel Mack 提交于
This patch renames add_control_to_empty() to snd_usb_mixer_add_control() and exports it, so the quirks functions can make use of it. Also, as "struct mixer_build" is private to mixer.c, rewrite the function to take an argument of type "struct usb_mixer_interface" instead. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 28 4月, 2011 1 次提交
-
-
由 Takashi Iwai 提交于
Some crappy USB-audio devices give broken dB ranges, e.g. both min and max are 0dB. This confuses the volume control that prefers dB expression such as alsactl or PulseAudio. In such a case, it's much better not to expose the broken dB information. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 31 3月, 2011 1 次提交
-
-
由 Lucas De Marchi 提交于
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: NLucas De Marchi <lucas.demarchi@profusion.mobi>
-
- 11 3月, 2011 2 次提交
-
-
由 Oliver Neukum 提交于
Devices are autosuspended if no pcm nor midi channel is open Mixer devices may be opened. This way they are active when in use to play or record sound, but can be suspended while users have a mixer application running. [Small clean-ups using static inline by tiwai] Signed-off-by: NOliver Neukum <oneukum@suse.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Oliver Neukum 提交于
- ESHUTDOWN must be correctly handled - the optional interrupt endpoint's URB must be stopped and restarted Signed-off-by: NOliver Neukum <oneukum@suse.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 10 3月, 2011 2 次提交
-
-
由 Alexey Fisher 提交于
One more affected devices: Logitech Webcam C600 (046d:0808) Volume range before quirk is 6400, after (also real) is 16. Signed-off-by: NAlexey Fisher <bug-track@fisher-privat.net> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Alexey Fisher 提交于
Signed-off-by: NAlexey Fisher <bug-track@fisher-privat.net> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 08 2月, 2011 1 次提交
-
-
由 Joseph Teichman 提交于
Signed-off-by: NJoseph Teichman <josteich@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 10 1月, 2011 1 次提交
-
-
由 Clemens Ladisch 提交于
Simplify info callbacks by using the snd_ctl_enum_info() helper function. Signed-off-by: NClemens Ladisch <clemens@ladisch.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 17 9月, 2010 1 次提交
-
-
由 Dan Carpenter 提交于
"uinfo->value.enumerated.item" is an unsigned int. If it's negative when we do the comparison: if ((int)uinfo->value.enumerated.item >= cval->max) then we would read past the end of the array on the next line. I also changed the strcpy() to strlcpy() out of paranoia. Signed-off-by: NDan Carpenter <error27@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-