linux-stable/arch/arm
H Hartley Sweeten c8c3dcb9df [ARM] locomo: fix unpaired spin_lock_irqsave
The function locomo_m62332_senddata sends a three byte i2c message to
a M62332 DAC. This entire function is guarded with a spin_lock_irqsave
at the start of the function and a spin_unlock_irqrestore at the end.

As each byte is transferred, the i2c ACK from the DAC is checked.
Currently, if the ACK is missing the function simply returns without
the unlock. It also leaves the i2c bus in an invalid state since the
last byte transferred did not have a "stop" condition and leave the
bus idle.

Fix this by adding an exit path using goto.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
2010-03-22 12:03:09 +08:00
..
boot ARM: 5990/1: ARM: use __armv5tej_mmu_cache_flush for V5TEJ instead of __armv4_mmu_cache_flush 2010-03-15 14:32:02 +00:00
common [ARM] locomo: fix unpaired spin_lock_irqsave 2010-03-22 12:03:09 +08:00
configs Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 2010-03-18 16:59:30 -07:00
include/asm ARM: 5988/1: pgprot_dmacoherent() for non-mmu builds 2010-03-13 10:48:22 +00:00
kernel ARM: 5991/1: Fix regression in restore_user_regs macro 2010-03-15 17:20:08 +00:00
lib
mach-aaec2000 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-at91 ARM: 5986/1: at91sam9g20-ek: Correct braces in I2C registration code 2010-03-13 10:48:21 +00:00
mach-bcmring ARM: Consolidate clks_register() and similar 2010-02-12 17:32:36 +00:00
mach-clps711x ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-davinci Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
mach-dove Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-ebsa110 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-ep93xx Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
mach-footbridge Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
mach-gemini Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
mach-h720x ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-integrator Merge branches 'clks' and 'pnx' into devel 2010-02-25 22:10:38 +00:00
mach-iop13xx Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
mach-iop32x Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
mach-iop33x Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
mach-ixp4xx dma-mapping: arm: use generic pci_set_dma_mask and pci_set_consistent_dma_mask 2010-03-12 15:52:42 -08:00
mach-ixp23xx Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
mach-ixp2000 Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
mach-kirkwood Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-ks8695 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-l7200 ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-lh7a40x Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
mach-loki Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
mach-mmp [ARM] mmp: fix for variables in uncompress.h being discarded 2010-03-22 12:03:05 +08:00
mach-msm Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
mach-mv78xx0 Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-mx1 Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-mx2 Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-mx3 Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-mx5 mx51_babbage: Fix ckih2 parameter in mx51_clocks_init function 2010-02-24 10:29:14 +01:00
mach-mx25 Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-mxc91231 Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-netx ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-nomadik Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
mach-ns9xxx Merge branch 'misc2' into devel 2010-02-25 22:09:41 +00:00
mach-nuc93x ARM: 5859/1: Add nuc93x platform support 2010-01-27 22:03:00 +00:00
mach-omap1 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
mach-omap2 ARM/OMAP: Remove the +x bit from a couple of source files 2010-03-12 09:16:09 -08:00
mach-orion5x Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-pnx4008 Merge branches 'clks' and 'pnx' into devel 2010-02-25 22:10:38 +00:00
mach-pxa [ARM] pxa/sharpsl: add dependency of max1111 driver to sharpsl_pm 2010-03-22 12:03:07 +08:00
mach-realview Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
mach-rpc ARM: Fix RiscPC decompressor build errors 2010-03-15 22:04:54 +00:00
mach-s3c24a0/include/mach Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-s3c64xx ARM: SAMSUNG: Fixup commit 4e6d488af3 2010-03-15 23:11:41 +00:00
mach-s3c2400
mach-s3c2410 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
mach-s3c2412 ARM: SAMSUNG: Remove dma-plat.h to allow plat-s3c64xx to be removed 2010-02-21 23:10:35 +00:00
mach-s3c2440 ARM: S3C2440: Fix s3c2440 cpufreq compilation post move. 2010-03-15 22:43:12 +00:00
mach-s3c2443 ARM: Merge next-samsung-s3c2443-clock 2010-03-07 22:56:19 +00:00
mach-s5p6440 ARM: SAMSUNG: Fixup commit 4e6d488af3 2010-03-15 23:11:41 +00:00
mach-s5p6442 ARM: SAMSUNG: Fixup commit 4e6d488af3 2010-03-15 23:11:41 +00:00
mach-s5pc100 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
mach-s5pv210 Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
mach-sa1100 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-12 16:00:54 -08:00
mach-shark ARM: 5910/1: ARM: Add tmp register for addruart and loadsp 2010-02-12 17:27:52 +00:00
mach-shmobile ARM: mach-shmobile: ap4evb SDHI0 platform data V2 2010-03-15 12:06:47 +09:00
mach-stmp37xx
mach-stmp378x
mach-u300 Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
mach-ux500 Merge branch 'master' into for-linus 2010-03-08 20:24:11 +00:00
mach-versatile Merge branches 'clks' and 'pnx' into devel 2010-02-25 22:10:38 +00:00
mach-w90x900 NUC900 LCD Controller Driver 2010-03-12 15:52:34 -08:00
mm Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
nwfpe ARM: Kill CONFIG_CPU_32 2009-12-18 16:07:53 +00:00
oprofile ARM: 5901/2: arm/oprofile: reserve the PMU when starting 2010-02-12 17:23:43 +00:00
plat-iop ARM: Add caller information to ioremap 2010-02-15 21:39:11 +00:00
plat-mxc Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
plat-nomadik Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00
plat-omap omap: McBSP: Drop unnecessary status/error bit clearing on reg_cacheretrieved register values 2010-03-12 09:16:09 -08:00
plat-orion [ARM] Orion: fix PCIe inbound window programming when RAM size is not a power of two 2009-12-28 23:50:49 -05:00
plat-pxa [ARM] pxa: use resource_size() in pwm.c 2009-12-29 14:11:27 +08:00
plat-s3c24xx ARM: S3C2440: Fix s3c2440 cpufreq compilation post move. 2010-03-15 22:43:12 +00:00
plat-s5p ARM: S5PV210: Update Kconfig and Makefiles 2010-02-24 22:47:23 +00:00
plat-s5pc1xx ARM: SAMSUNG: Remove empty gpio-core.h and use central plat/gpio-core.h 2010-01-19 18:46:02 +09:00
plat-samsung ARM: SAMSUNG: Fix build error from stale define in <plat/uncompress.h> 2010-03-15 22:57:18 +00:00
plat-stmp3xxx Merge branches 'clks' and 'pnx' into devel 2010-02-25 22:10:38 +00:00
tools ARM: Update mach-types 2010-02-20 14:17:16 +00:00
vfp Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-03-01 09:15:15 -08:00
Kconfig ARM: Fix sorting of platform group config options and includes 2010-03-15 19:03:06 +00:00
Kconfig-nommu
Kconfig.debug ARM: SAMSUNG: Move plat-s3c Kconfig entries to plat-samsung and plat-s3c24xx 2010-02-24 01:52:06 +00:00
Makefile Merge branch 'origin' into devel-stable 2010-03-08 20:21:04 +00:00