29 Nov, 2011
5 commits
-
Currently the SigmaDSP firmware loader only works correctly on little-endian
systems. Fix this by using the proper endianess conversion functions.Signed-off-by: Lars-Peter Clausen
Acked-by: Mike Frysinger
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
The firmware header is not part of the CRC, so skip it. Otherwise the firmware
will be rejected due to non-matching CRCs.Signed-off-by: Lars-Peter Clausen
Acked-by: Mike Frysinger
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
The SigmaDSP firmware loader currently does not perform enough boundary size
checks when processing the firmware. As a result it is possible that a
malformed firmware can cause an out of bounds memory access.This patch adds checks which ensure that both the action header and the payload
are completely inside the firmware data boundaries before processing them.Signed-off-by: Lars-Peter Clausen
Acked-by: Mike Frysinger
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
Based on initial data.
Signed-off-by: Mark Brown
-
Signed-off-by: Mark Brown
28 Nov, 2011
1 commit
-
Signed-off-by: Mark Brown
23 Nov, 2011
6 commits
-
There are cases where there is no working codec on the soc-audio devices,
and snd_soc_suspend() will skip such device when suspending. Yet its
counterpart snd_soc_resume() does not check this, causing complaints
about spinlock lockup:[ 176.726087] BUG: spinlock lockup on CPU#0, kworker/0:2/1067, d8ab82a8
[ 176.732539] [] (unwind_backtrace+0x0/0xec) from [] (dump_stack+0x20/0x24)
[ 176.741082] [] (dump_stack+0x20/0x24) from [] (do_raw_spin_lock+0x118/0x158)
[ 176.749882] [] (do_raw_spin_lock+0x118/0x158) from [] (_raw_spin_lock_irqsave+0x5c/0x68)
[ 176.759723] [] (_raw_spin_lock_irqsave+0x5c/0x68) from [] (__wake_up+0x2c/0x5c)
[ 176.768781] [] (__wake_up+0x2c/0x5c) from [] (soc_resume_deferred+0x3c/0x2b0)
[ 176.777666] [] (soc_resume_deferred+0x3c/0x2b0) from [] (process_one_work+0x2e8/0x50c)
[ 176.787334] [] (process_one_work+0x2e8/0x50c) from [] (worker_thread+0x1c8/0x2e0)
[ 176.796566] [] (worker_thread+0x1c8/0x2e0) from [] (kthread+0xa4/0xb0)
[ 176.804843] [] (kthread+0xa4/0xb0) from [] (kernel_thread_exit+0x0/0x8)Signed-off-by: Eric Miao
Signed-off-by: Mark Brown -
Just checking the code in cs42l51_fill_cache():
The cache pointer points to codec->reg_cache + 1.
I think it is because CS42L51_FIRSTREG is 0x01,
so codec->reg_cache[0] is not used here.Then we read CS42L51_NUMREGS bytes to cache.
So we need reg_cache_size to be CS42L51_NUMREGS + 1.Signed-off-by: Axel Lin
Signed-off-by: Mark Brown -
SoC Audio support for PlayPaq with WM8510 got added in commit 9aaca9683b
("[ALSA] Revised AT32 ASoC Patch"). That support depends on
BOARD_PLAYPAQ. That Kconfig symbol didn't exist when that support got
added in v2.6.27. It still doesn't. It has never been possible to even
build this driver. Drop it.Signed-off-by: Paul Bolle
Signed-off-by: Mark Brown -
Commit ac601555 ("ASoC: Return early with -EINVAL if invalid dai format is
detected") requires the machine driver to tell the CS4270 codec driver
whether the CS4270 should be configured for master or slave operation.Signed-off-by: Timur Tabi
Signed-off-by: Mark Brown -
Replace the manual register restore mechanism in cs4270.c and call the
generic snd_soc_cache_sync() handler instead.This factors code out in favour of core facilities and also fixes a
bus confusion that is most probably caused by intermixing i2c-regmap
functions and i2c_smbus_* accessors.Signed-off-by: Daniel Mack
Reported-and-tested-by: Sven Neumann
Acked-by: Timur Tabi
Signed-off-by: Mark Brown -
This patch adds to fix following build errors.
sound/soc/codecs/wm8994.c: In function 'wm8994_readable':
sound/soc/codecs/wm8994.c:58: warning: unused variable 'wm8994'
sound/soc/samsung/smdk_wm8994.c:176: error: expected declaration specifiers or '...' before string constant
sound/soc/samsung/smdk_wm8994.c:176: warning: data definition has no type or storage class
sound/soc/samsung/smdk_wm8994.c:176: warning: type defaults to 'int' in declaration of 'MODULE_DESCRIPTION'
sound/soc/samsung/smdk_wm8994.c:176: warning: function declaration isn't a prototype
sound/soc/samsung/smdk_wm8994.c:177: error: expected declaration specifiers or '...' before string constantSigned-off-by: Boojin Kim
Signed-off-by: Mark Brown
22 Nov, 2011
3 commits
-
In the case of ((max9877_regs[reg] >> shift) & mask) != val
but ((max9877_regs[reg2] >> shift) & mask) == val2,
current code does not update the registers.Fix the logic to update registers if either val or val2 is changed.
Signed-off-by: Axel Lin
Signed-off-by: Mark Brown -
According to the datasheet:
The BIT[5:4] of ADC Control Register 2 is to control the word width.
00 = 25 Bits
01 = 20 Bits
10 = 16 Bits
11 = InvalidThus, the AD1836_ADC_WORD_OFFSET should be defined as 4.
Signed-off-by: Axel Lin
Acked-by: Lars-Peter Clausen
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
21 Nov, 2011
2 commits
-
Signed-off-by: Axel Lin
Acked-by: Alexander Sverdlin
Signed-off-by: Mark Brown
20 Nov, 2011
7 commits
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.Signed-off-by: Clemens Ladisch
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the arrays.Signed-off-by: Clemens Ladisch
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.Signed-off-by: Clemens Ladisch
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the arrays.Signed-off-by: Clemens Ladisch
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.Signed-off-by: Clemens Ladisch
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
the last entry from being omitted.Signed-off-by: Clemens Ladisch
-
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.Signed-off-by: Clemens Ladisch
18 Nov, 2011
1 commit
-
This patch makes it possible to set DAI mode to its currently applied
value even if codec is active. This is necessary to allowaplay -t raw -r 44100 -f S16_LE -c 2 < /dev/urandom &
alsactl store -f backup.state
alsactl restore -f backup.stateto work without returning errors. This patch is based on a patch sent
by Klaus Kurzmann .Signed-off-by: Timo Juhani Lindfors
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
15 Nov, 2011
2 commits
-
Commit 6992f533 ("sysfs: Use one lockdep class per sysfs attribute")
requires 'struct attribute' objects to be initialized with sysfs_attr_init().Signed-off-by: Timur Tabi
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
The coefficient RAM must be saved in a shadow so it can
be restored when the codec is powered on using
regulator_bulk_enable().Signed-off-by: Johannes Stezenbach
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
10 Nov, 2011
1 commit
-
Signed-off-by: Jassi Brar
Signed-off-by: Mark Brown
08 Nov, 2011
12 commits
-
WM9081_BIAS_ENA is the bit[1] of WM9081_BIAS_CONTROL_1 register (05h).
Current code incorrectly write it to WM9081_VMID_CONTROL(04h) register.Signed-off-by: Axel Lin
Signed-off-by: Mark Brown -
VMID Divider Enable and Select is controlled by BIT[2:1] of WM9081_VMID_CONTROL
register (04h).
Current code reads wrong register (WM9081_BIAS_CONTROL_1) for setting
VMID 2*240k.Signed-off-by: Axel Lin
Signed-off-by: Mark Brown -
.. with new name. Because nothing says "really solid kernel release"
like naming it after an extinct animal that just happened to be in the
news lately. -
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (31 commits)
ARM: OMAP: Fix export.h or module.h includes
ARM: OMAP: omap_device: Include linux/export.h
ARM: OMAP2: Fix H4 matrix keyboard warning
ARM: OMAP1: Remove unused omap-alsa.h
ARM: OMAP1: Fix warnings about enabling 32 KiHz timer
ARM: OMAP2+: timer: Remove omap_device_pm_latency
ARM: OMAP2+: clock data: Remove redundant timer clkdev
ARM: OMAP: Devkit8000: Remove double omap_mux_init_gpio
ARM: OMAP: usb: musb: OMAP: Delete unused function
MAINTAINERS: Update linux-omap git repository
ARM: OMAP: change get_context_loss_count ret value to int
ARM: OMAP4: hsmmc: configure SDMMC1_DR0 properly
ARM: OMAP4: hsmmc: Fix Pbias configuration on regulator OFF
ARM: OMAP3: hwmod: fix variant registration and remove SmartReflex from common list
ARM: OMAP: I2C: Fix omap_register_i2c_bus() return value on success
ARM: OMAP: dmtimer: Include linux/module.h
ARM: OMAP2+: l3-noc: Include linux/module.h
ARM: OMAP2+: devices: Fixes for McPDM
ARM: OMAP: Fix errors and warnings when building for one board
ARM: OMAP3: PM: restrict erratum i443 handling to OMAP3430 only
... -
Mountpoint crossing is similar to following procfs symlinks - we do
not get ->d_revalidate() called for dentry we have arrived at, with
unpleasant consequences for NFS4.Simple way to reproduce the problem in mainline:
cat >/tmp/a.c <
#include
#include
main()
{
struct flock fl = {.l_type = F_RDLCK, .l_whence = SEEK_SET, .l_len = 1};
if (fcntl(0, F_SETLK, &fl))
perror("setlk");
}
EOF
cc /tmp/a.c -o /tmp/testthen on nfs4:
mount --bind file1 file2
/tmp/test < file1 # ok
/tmp/test < file2 # spews "setlk: No locks available"...What happens is the missing call of ->d_revalidate() after mountpoint
crossing and that's where NFS4 would issue OPEN request to server.The fix is simple - treat mountpoint crossing the same way we deal with
following procfs-style symlinks. I.e. set LOOKUP_JUMPED...Cc: stable@kernel.org
Signed-off-by: Al Viro
Signed-off-by: Linus Torvalds -
* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
perf top: Fix live annotation in the --stdio interface
perf top tui: Don't recalc column widths considering just the first page
perf report: Add progress bar when processing time ordered events
perf hists browser: Warn about lost events
perf tools: Fix a typo of command name as trace-cmd
perf hists: Fix recalculation of total_period when sorting entries
perf header: Fix build on old systems
perf ui browser: Handle K_RESIZE in dialog windows
perf ui browser: No need to switch char sets that often
perf hists browser: Use K_TIMER
perf ui: Rename ui__warning_paranoid to ui__error_paranoid
perf ui: Reimplement the popup windows using libslang
perf ui: Reimplement ui__popup_menu using ui__browser
perf ui: Reimplement ui_helpline using libslang
perf ui: Improve handling sigwinch a bit
perf ui progress: Reimplement using slang
perf evlist: Fix grouping of multiple events -
Commit 32aaeffbd4a7457bf2f7448b33b5946ff2a960eb (Merge branch
'modsplit-Oct31_2011'...) caused some build errors. Fix these
and make sure we always have export.h or module.h included
for MODULE_ and EXPORT_SYMBOL users:$ grep -rl ^MODULE_ arch/arm/*omap*/*.c | xargs \
grep -L linux/module.h
arch/arm/mach-omap2/dsp.c
arch/arm/mach-omap2/mailbox.c
arch/arm/mach-omap2/omap-iommu.c
arch/arm/mach-omap2/smartreflex.cAlso check we either have export.h or module.h included
for the files exporting symbols:$ grep -rl EXPORT_SYMBOL arch/arm/*omap*/*.c | xargs \
grep -L linux/export.h | xargs grep -L linux/module.hCc: Russell King
Signed-off-by: Tony Lindgren -
Include linux/export.h to fix below build warning:
CC arch/arm/plat-omap/omap_device.o
arch/arm/plat-omap/omap_device.c:1055: warning: data definition has no type or storage class
arch/arm/plat-omap/omap_device.c:1055: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'
arch/arm/plat-omap/omap_device.c:1055: warning: parameter names (without types) in function declarationSigned-off-by: Axel Lin
Signed-off-by: Tony Lindgren -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)
forcedeth: fix a few sparse warnings (variable shadowing)
forcedeth: Improve stats counters
forcedeth: remove unneeded stats updates
forcedeth: Acknowledge only interrupts that are being processed
forcedeth: fix race when unloading module
MAINTAINERS/rds: update maintainer
wanrouter: Remove kernel_lock annotations
usbnet: fix oops in usbnet_start_xmit
ixgbe: Fix compile for kernel without CONFIG_PCI_IOV defined
etherh: Add MAINTAINERS entry for etherh
bonding: comparing a u8 with -1 is always false
sky2: fix regression on Yukon Optima
netlink: clarify attribute length check documentation
netlink: validate NLA_MSECS length
i825xx:xscale:8390:freescale: Fix Kconfig dependancies
macvlan: receive multicast with local address
tg3: Update version to 3.121
tg3: Eliminate timer race with reset_task
tg3: Schedule at most one tg3_reset_task run
tg3: Obtain PCI function number from device
... -
Signed-off-by: Al Viro
Signed-off-by: Linus Torvalds