- 16 8月, 2012 1 次提交
-
-
由 Takashi Iwai 提交于
A PCM capture stream on usb-audio causes a scheduling-while-atomic BUG, as reported in the bugzilla entry below. It's because snd_usb_endpoint_start() is called at first at trigger START for a capture stream, and this function contains the left-over EP deactivation codes. The problem doesn't happen for a playback stream because the function is called at PCM prepare time, which can sleep. This patch fixes the BUG by moving the EP deactivation code into the PCM prepare callback. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=46011 Cc: <stable@vger.kernel.org> [v3.5+] Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 01 8月, 2012 1 次提交
-
-
由 Daniel Mack 提交于
uac_clock_source_is_valid() uses the control selector value to access the bmControls bitmap of the clock source unit. This is wrong, as control selector values start from 1, while the bitmap uses all available bits. In other words, "Clock Validity Control" is stored in D3..2, not D5..4 of the clock selector unit's bmControls. Signed-off-by: NDaniel Mack <zonque@gmail.com> Reported-by: NAndreas Koch <andreas@akdesigninc.com> Cc: stable@kernel.org Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 13 7月, 2012 1 次提交
-
-
由 Daniel Mack 提交于
The rework of the snd-usb endpoint logic moved the calls to snd_usb_set_interface() into the snd_usb_endpoint implemenation. This changed the order in which these calls are issued to the device, and thereby caused regressions for some webcams. Fix this by moving the calls back to pcm.c for now to make it work again and use snd_usb_endpoint_activate() to really tear down all remaining URBs in the flight, consequently fixing another regression caused by USB packets on the wire after altsetting 0 has been selected. Signed-off-by: NDaniel Mack <zonque@gmail.com> Reported-and-tested-by: NPhilipp Dreimann <philipp@dreimann.net> Reported-by: NJoseph Salisbury <joseph.salisbury@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 06 7月, 2012 1 次提交
-
-
由 Takashi Iwai 提交于
In the new PCM streaming logic, the interface number is assigned to usb stream instance (subs->interface) after the format and rate setups are succeeded, but some codes are still passing subs->interface as the reference to helper functions. This leads to initializing with an invalid iface number (-1). This patch replaces the wrong references with the ones from the target fmt correctly. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 27 6月, 2012 1 次提交
-
-
由 Daniel Mack 提交于
Fixes the following warning: CC [M] sound/usb/caiaq/device.o sound/usb/caiaq/device.c: In function ‘snd_probe’: sound/usb/caiaq/device.c:500:16: warning: ‘card’ may be used uninitialized in this function [-Wmaybe-uninitialized] Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 25 6月, 2012 1 次提交
-
-
由 Clemens Ladisch 提交于
Reported-by: NJohn McFarland <mcfarljm@gmail.com> Tested-by: NJohn McFarland <mcfarljm@gmail.com> Signed-off-by: NClemens Ladisch <clemens@ladisch.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 20 6月, 2012 2 次提交
-
-
由 Oleksij Rempel 提交于
This webcam works mostly ok, exept with skype. Skype sends lots of ctrl messages to dynamically ajust record level. If for some reasons it pokes some error every thing goes broken: - first pulseaudio blocks sound for all apps - then video is reseted - then skype freez dmesg has lots of messages like: cannot set freq 16000 to ep 0x86" Setting ignore_ctl_error=1 fixes this problem. Signed-off-by: NOleksij Rempel <bug-track@fisher-privat.net> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Oleksij Rempel 提交于
if this cam is pluged in, pulse audio can't initiate capture device. dmesg has lots of messages like: "cannot set freq 16000 to ep 0x86" Setting ignore_ctl_error=1 fixes this problem. Signed-off-by: NOleksij Rempel <bug-track@fisher-privat.net> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 18 6月, 2012 3 次提交
-
-
由 Daniel Mack 提交于
Signed-off-by: NDaniel Mack <zonque@gmail.com> Cc: Torsten Schenk <torsten.schenk@zoho.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Daniel Mack 提交于
Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Daniel Mack 提交于
Fix a bogus sanity check for sync pipe in pcm.c. This flaw was introduced during the streaming logic refactorization. While at it, improve the error messages that are generated in such cases. Signed-off-by: NDaniel Mack <zonque@gmail.com> Reported-and-tested-by: <ben@b1c1l1.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 11 6月, 2012 2 次提交
-
-
由 Mark Hills 提交于
Signed-off-by: NMark Hills <mark@pogo.org.uk> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Mark Hills 提交于
Allow mixer controls to be provided clearly in a table, to avoid quantity of error checking at each use. Signed-off-by: NMark Hills <mark@pogo.org.uk> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 08 6月, 2012 1 次提交
-
-
由 Takashi Iwai 提交于
In 3.5 kernel, the endpoint is assigned dynamically for the substreams, but the PCM assignment still checks the presence of the endpoint pointer. This ended up in duplicated PCM substream creations at probing time, resulting in kernel warnings like: WARNING: at fs/proc/generic.c:586 proc_register+0x169/0x1a6() Pid: 1152, comm: modprobe Not tainted 3.5.0-rc1-00110-g71fae7e7 #2 Call Trace: [<ffffffff8102a400>] warn_slowpath_common+0x83/0x9c [<ffffffff8102a4bc>] warn_slowpath_fmt+0x46/0x48 [<ffffffff813829ad>] ? add_preempt_count+0x39/0x3b [<ffffffff811292f0>] proc_register+0x169/0x1a6 [<ffffffff8112962e>] create_proc_entry+0x74/0x8c [<ffffffffa018eb63>] snd_info_register+0x3e/0xc3 [snd] [<ffffffffa01fde2e>] snd_pcm_new_stream+0xb1/0x404 [snd_pcm] [<ffffffffa024861f>] snd_usb_add_audio_stream+0xd2/0x230 [snd_usb_audio] [<ffffffffa0241d33>] ? snd_usb_parse_audio_format+0x252/0x34f [snd_usb_audio] [<ffffffff810d6b17>] ? kmem_cache_alloc_trace+0xab/0xbb [<ffffffffa0248c29>] snd_usb_parse_audio_interface+0x4ac/0x567 [snd_usb_audio] [<ffffffffa023f0ff>] snd_usb_create_stream+0xe9/0x125 [snd_usb_audio] [<ffffffffa023f9b1>] usb_audio_probe+0x62a/0x72c [snd_usb_audio] ..... This patch fixes the regression by checking the fixed endpoint number for each substream instead of the endpoint pointer. Reported-and-tested-by: NJamie Heilman <jamie@audible.transient.net> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 31 5月, 2012 1 次提交
-
-
由 Clemens Ladisch 提交于
The array of sample rates is reallocated every time when opening the PCM device, but was freed only once when unplugging the device. Reported-by: N"Alexander E. Patrakov" <patrakov@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: NClemens Ladisch <clemens@ladisch.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 21 5月, 2012 1 次提交
-
-
由 Daniel Mack 提交于
Set some substream struct members to make the proc interface code work again. Signed-off-by: NDaniel Mack <zonque@gmail.com> Reported-by: NFelix Homann <linuxaudio@showlabor.de> 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>
-
- 12 5月, 2012 1 次提交
-
-
由 Mark Hills 提交于
Explained by Takashi in <s5hfwbtmz0q.wl%tiwai@suse.de> > The reason is because get_min_max*() isn't called in the place you > created these controls, and get_min_max() would be called only for > integer volumes later even if uninitialized. A short cut for booleans. Signed-off-by: NMark Hills <mark@pogo.org.uk> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 25 4月, 2012 1 次提交
-
-
由 Daniel Mack 提交于
Also be more specific about some details while at it. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 24 4月, 2012 7 次提交
-
-
由 Andrew Morton 提交于
sound/usb/endpoint.c: In function 'queue_pending_output_urbs': sound/usb/endpoint.c:298: warning: 'packet' may be used uninitialized in this function Cc: Daniel Mack <zonque@gmail.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 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 提交于
This is in preparation for more FTU controls to come. Should help keeping names a bit shorter. Signed-off-by: NFelix Homann <linuxaudio@showlabor.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Felix Homann 提交于
This adds db gain information to M-Audio Fast Track Ultra (8R) devices. 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>
-
由 Felix Homann 提交于
Merge snd_maudio_ftu_create_ctl() and snd_ebox44_create_ctl() into snd_create_std_mono_ctl(). As opposed to the ftu and ebox-44 specific functions, a TLV callback can be specified for controls created by snd_create_std_mono_ctl(). [fixed minor checkpatch.pl warnings by tiwai] Signed-off-by: NFelix Homann <linuxaudio@showlabor.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 21 4月, 2012 1 次提交
-
-
由 Daniel Mack 提交于
Drop some struct members and definitions that became obsolete during the refactorization of the driver. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 15 4月, 2012 2 次提交
-
-
由 Mark Hills 提交于
The mixer units from the firmware are corrupt, and even where they are valid they presents mono controls as L and R channels of stereo. Signed-off-by: NMark Hills <mark@pogo.org.uk> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 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>
-
- 13 4月, 2012 9 次提交
-
-
由 Takashi Iwai 提交于
Many fields have been moved to struct snd_usb_endpoint. Also fix the proc output to correspond to the new structure. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
ep->fill_max is a 1 bit flag, thus it has to be boolean. sound/usb/endpoint.c: In function 'snd_usb_endpoint_set_params': sound/usb/endpoint.c:785: warning: overflow in implicit constant conversion Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
sound/usb/endpoint.c: In function ‘deactivate_urbs’: sound/usb/endpoint.c:520:16: warning: unused variable ‘flags’ [-Wunused-variable] Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Daniel Mack 提交于
Document the new streaming code and some of the functions so that contributers can catch up easier. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Daniel Mack 提交于
Implicit feedback is a streaming mode that does not rely on dedicated sync endpoints but uses the information provided by record streams to clock output streams. Now that the streaming logic is decoupled from the PCM streams, this is easy to implement. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Daniel Mack 提交于
Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Daniel Mack 提交于
With the previous commit that added the new streaming model, all endpoint and streaming related code is now in endpoint.c, and pcm.c only acts as a wrapper for handling the packet's payload. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Daniel Mack 提交于
This patch adds a new generic streaming logic for audio over USB. It defines a model (snd_usb_endpoint) that handles everything that is related to an USB endpoint and its streaming. There are functions to activate and deactivate an endpoint (which call usb_set_interface()), and to start and stop its URBs. It also has function pointers to be called when data was received or is about to be sent, and pointer to a sync slave (another snd_usb_endpoint) that is informed when data has been received. A snd_usb_endpoint knows about its state and implements a refcounting, so only the first user will actually start the URBs and only the last one to stop it will tear them down again. With this sort of abstraction, the actual streaming is decoupled from the pcm handling, which makes the "implicit feedback" mechanisms easy to implement. In order to split changes properly, this patch only adds the new implementation but leaves the old one around, so the the driver doesn't change its behaviour. The switch to actually use the new code is submitted separately. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Daniel Mack 提交于
This is needed for new card-wide list operations. Signed-off-by: NDaniel Mack <zonque@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 15 3月, 2012 1 次提交
-
-
由 Takashi Iwai 提交于
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 25 2月, 2012 1 次提交
-
-
由 Torsten Schenk 提交于
Signed-off-by: NTorsten Schenk <torsten.schenk@zoho.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-