16 Oct, 2007
19 commits
-
Signed-off-by: Jaroslav Kysela
-
snd_register_device_for_dev() can oops when device_create() returns
ERR_PTR(err).
Scenario:
preg->dev = device_create(...); /* fails */
if (preg->dev) /* contains ERR_PTR(err) */
dev_set_drvdata(preg->dev, private_data);
and dev_set_drvdata() looks like this:
static inline void
dev_set_drvdata (struct device *dev, void *data)
{
dev->driver_data = data;
Signed-off-by: Andrew Morton
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Replace schedule_timeout() with schedule_timeout_uninterruptible()
to avoid signals in loop.Signed-off-by: Rene Herman
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
snd_ctl_elem_{read,write} no longer have any modular users
Signed-off-by: Adrian Bunk
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Add a snd_pcm_rate_to_rate_bit() function to factor out common code used
by several drivers.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Merge the rates[] arrays from pcm_misc.c and pcm_native.c because they
are both the same.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Check for a valid event type when encoding a system real-time message to
prevent the bytes F9 or FD resulting in an empty sequencer message.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Reorganize the encoder logic to prevent status bytes that appear where
data bytes are expected from being interpreted as data bytes.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Reset the event type after encoding a system message to prevent any
following data bytes from being interpreted as data for a running status
system message, which is not allowed in MIDI.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Create a new state ST_INVALID for the encoder to prevent data bytes at
the beginning of a stream or after a sysex message being interpreted as
note-off parameters.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
The recent OSS includes the support for 32bit and other formats, which
we already have, too. Let's define and map them.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Add the support of 3-bytes 24bit formats in PCM OSS emulation.
Also removed snd_pcm_build_linear_format() function. It's exported
just for OSS emulation, and now the code was changed without calling
this function.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Simplify the format conversion code in PCM OSS emulation.
This patch also adds the support of 3bytes 24bit formats with linear
and mulaw, but they are not enabled in pcm_plugin.c yet.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Fix Makefile to compile files conditionally to CONFIG_SND_PCM_OSS_PLUGINS,
and remove unneeded ifdefs in these files.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
This patch fixes:
1) a resource leak (CID: 1817)
2) various code cleanupsSigned-off-by: Eugene Teo
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Clean up Makefile using xxx- style instead of
ifeq(CONFIG_XXX,y).Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
The recent change of include/asm-generic/dma-mapping-broken.h breaks
the build without CONFIG_HAS_DMA. This patch is an ad hoc fix.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Added helper functions for frequenty used callbacks:
snd_ctl_boolean_mono_info() and snd_ctl_boolean_stereo_info()Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
This patch cleans up duplicate includes in
sound/core/Signed-off-by: Jesper Juhl
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela
24 Sep, 2007
1 commit
-
Use seq_file for the proc file read/write of snd-page-alloc module.
This automatically fixes bugs in the old proc code.Signed-off-by: Takashi Iwai
Signed-off-by: Linus Torvalds
20 Jul, 2007
5 commits
-
Convert the snd_assert()s to simple if()s to prevent crashes when one of
the timer instance ioctls is called before the file is bound to a timer
device.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
The check of a substream in snd_pcm_drain() might not be always correct
since runtime can point a different substream (although the PCM state
of each linked substream should be same, in theory).
This patch fixes it.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Fixed the invalid use of schedule_timeout_interruptible() without
checking pending signals. Simply replaced with schedule_timeout().
Suggestions thanks to Jeff Garzik.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc).
Here is a short excerpt of the semantic patch performing
this transformation:@@
type T2;
expression x;
identifier f,fld;
expression E;
expression E1,E2;
expression e1,e2,e3,y;
statement S;
@@x =
- kmalloc
+ kzalloc
(E1,E2)
... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\)
- memset((T2)x,0,E1);@@
expression E1,E2,E3;
@@- kzalloc(E1 * E2,E3)
+ kcalloc(E1,E2,E3)[akpm@linux-foundation.org: get kcalloc args the right way around]
Signed-off-by: Yoann Padioleau
Cc: Richard Henderson
Cc: Ivan Kokshaysky
Acked-by: Russell King
Cc: Bryan Wu
Acked-by: Jiri Slaby
Cc: Dave Airlie
Acked-by: Roland Dreier
Cc: Jiri Kosina
Acked-by: Dmitry Torokhov
Cc: Benjamin Herrenschmidt
Acked-by: Mauro Carvalho Chehab
Acked-by: Pierre Ossman
Cc: Jeff Garzik
Cc: "David S. Miller"
Acked-by: Greg KH
Cc: James Bottomley
Cc: "Antonino A. Daplas"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
unregister_chrdev() always returns 0. There is no need to check the return
value.Signed-off-by: Akinobu Mita
Cc: "David S. Miller"
Cc: Takashi Iwai
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
11 May, 2007
3 commits
-
When launching 'jackd -d alsa', lockdep issues the following warning:
[39701.405086] =============================================
[39701.405093] [ INFO: possible recursive locking detected ]
[39701.405107] 2.6.21-rc5-mm4 #2
[39701.405109] ---------------------------------------------
[39701.405112] jackd/17366 is trying to acquire lock:
[39701.405114] (&substream->self_group.lock){....}, at: [] snd_pcm_action_group+0x90/0x240
[39701.405131]
[39701.405131] but task is already holding lock:
[39701.405134] (&substream->self_group.lock){....}, at: [] snd_pcm_action_lock_irq+0x3f/0xb0
[39701.405141]
[39701.405142] other info that might help us debug this:
[39701.405145] 3 locks held by jackd/17366:
[39701.405147] #0: (snd_pcm_link_rwlock){....}, at: [] snd_pcm_action_lock_irq+0x27/0xb0
[39701.405155] #1: (&substream->group->lock){....}, at: [] snd_pcm_action_lock_irq+0x38/0xb0
[39701.405163] #2: (&substream->self_group.lock){....}, at: [] snd_pcm_action_lock_irq+0x3f/0xb0
[39701.405171]
[39701.405171] stack backtrace:
[39701.405174] [] show_trace_log_lvl+0x1a/0x30
[39701.405179] [] show_trace+0x12/0x20
[39701.405183] [] dump_stack+0x16/0x20
[39701.405187] [] __lock_acquire+0xbd0/0x1040
[39701.405193] [] lock_acquire+0x70/0x90
[39701.405197] [] _spin_lock+0x36/0x50
[39701.405203] [] snd_pcm_action_group+0x90/0x240
[39701.405207] [] snd_pcm_action_lock_irq+0x53/0xb0
[39701.405211] [] snd_pcm_common_ioctl1+0x35f/0xfb0
[39701.405215] [] snd_pcm_playback_ioctl1+0x34/0x420
[39701.405219] [] snd_pcm_playback_ioctl+0x43/0x50
[39701.405223] [] do_ioctl+0x28/0x80
[39701.405229] [] vfs_ioctl+0x57/0x290
[39701.405233] [] sys_ioctl+0x39/0x60
[39701.405237] [] sysenter_past_esp+0x5d/0x99
[39701.405240] =======================
The attached lockdep annotation silences the warning.Signed-off-by: Frederik Deweerdt
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Replacing (n & (n-1)) in the context of power of 2 checks
with is_power_of_2Signed-off-by: vignesh babu
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Added a new macro snd_pcm_group_for_each_entry() just for code cleanup.
Old macros, snd_pcm_group_for_each() and snd_pcm_group_substream_entry(),
are removed.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela
09 May, 2007
2 commits
-
Fix various typos in kernel docs and Kconfigs, 2.6.21-rc4.
Signed-off-by: Matt LaPlante
Signed-off-by: Adrian Bunk -
Remove includes of where it is not used/needed.
Suggested by Al Viro.Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,
sparc64, and arm (all 59 defconfigs).Signed-off-by: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
03 May, 2007
1 commit
-
I noticed that many source files include while they do
not appear to need it. Here is an attempt to clean it all up.In order to find all possibly affected files, I searched for all
files including but without any other occurence of "pci"
or "PCI". I removed the include statement from all of these, then I
compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
false positives manually.My tests covered 66% of the affected files, so there could be false
positives remaining. Untested files are:arch/alpha/kernel/err_common.c
arch/alpha/kernel/err_ev6.c
arch/alpha/kernel/err_ev7.c
arch/ia64/sn/kernel/huberror.c
arch/ia64/sn/kernel/xpnet.c
arch/m68knommu/kernel/dma.c
arch/mips/lib/iomap.c
arch/powerpc/platforms/pseries/ras.c
arch/ppc/8260_io/enet.c
arch/ppc/8260_io/fcc_enet.c
arch/ppc/8xx_io/enet.c
arch/ppc/syslib/ppc4xx_sgdma.c
arch/sh64/mach-cayman/iomap.c
arch/xtensa/kernel/xtensa_ksyms.c
arch/xtensa/platform-iss/setup.c
drivers/i2c/busses/i2c-at91.c
drivers/i2c/busses/i2c-mpc.c
drivers/media/video/saa711x.c
drivers/misc/hdpuftrs/hdpu_cpustate.c
drivers/misc/hdpuftrs/hdpu_nexus.c
drivers/net/au1000_eth.c
drivers/net/fec_8xx/fec_main.c
drivers/net/fec_8xx/fec_mii.c
drivers/net/fs_enet/fs_enet-main.c
drivers/net/fs_enet/mac-fcc.c
drivers/net/fs_enet/mac-fec.c
drivers/net/fs_enet/mac-scc.c
drivers/net/fs_enet/mii-bitbang.c
drivers/net/fs_enet/mii-fec.c
drivers/net/ibm_emac/ibm_emac_core.c
drivers/net/lasi_82596.c
drivers/parisc/hppb.c
drivers/sbus/sbus.c
drivers/video/g364fb.c
drivers/video/platinumfb.c
drivers/video/stifb.c
drivers/video/valkyriefb.c
include/asm-arm/arch-ixp4xx/dma.h
sound/oss/au1550_ac97.cI would welcome test reports for these files. I am fine with removing
the untested files from the patch if the general opinion is that these
changes aren't safe. The tested part would still be nice to have.Note that this patch depends on another header fixup patch I submitted
to LKML yesterday:
[PATCH] scatterlist.h needs types.h
http://lkml.org/lkml/2007/3/01/141Signed-off-by: Jean Delvare
Cc: Badari Pulavarty
Signed-off-by: Greg Kroah-Hartman
15 Feb, 2007
1 commit
-
After Al Viro (finally) succeeded in removing the sched.h #include in module.h
recently, it makes sense again to remove other superfluous sched.h includes.
There are quite a lot of files which include it but don't actually need
anything defined in there. Presumably these includes were once needed for
macros that used to live in sched.h, but moved to other header files in the
course of cleaning it up.To ease the pain, this time I did not fiddle with any header files and only
removed #includes from .c-files, which tend to cause less trouble.Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
configs in arch/arm/configs on arm. I also checked that no new warnings were
introduced by the patch (actually, some warnings are removed that were emitted
by unnecessarily included header files).Signed-off-by: Tim Schmielau
Acked-by: Russell King
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
13 Feb, 2007
1 commit
-
Many struct file_operations in the kernel can be "const". Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data. In addition it'll catch accidental writes at compile time to
these shared resources.Signed-off-by: Arjan van de Ven
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
09 Feb, 2007
7 commits
-
The fix for sysfs breakage with CONFIG_SYSFS_DEPRECATED was flown
away by the conflicted merge of the ALSA git tree. The patch below
fixes it again.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Fix possible rwsem deadlocks in sequencer code at removal of
sequencer ports. The list_lock of port group can be double
locked.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
snd_internval_list() may access invalid memory in the case count = 0
is given. It shouldn't be passed, but it'd better to make the code
a bit more robust.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
snd_card_file_remove() can free the snd_card.
Touch hw->* only before calling snd_card_file_remove().
Unrelated: Allow hwdep devices not to have own ops.release();Signed-off-by: Karsten Wiese
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Remove the final useless reference to the obsolete KERNELD feature.
Signed-off-by: Robert P. J. Day
Signed-off-by: Andrew Morton
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Make the control flow clear with indentation, adds some comments
and improves error reporting.Signed-off-by: Oliver Neukum
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Added a helper function snd_pci_quirk_lookup()
to look up PCI SSID quirk list.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela