aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-01-07EDAC: Fix EDAC Kconfig menuBorislav Petkov1-5/+3
After f65aad41772f("MIPS: Cavium: Add EDAC support."), when entering the "Device Drivers" toplevel menu in menuconfig, the suboptions behind EDAC appeared merged with the rest of the device drivers types. This was because the menuconfig option EDAC is querying an EDAC_SUPPORT Kconfig bool which was defined after the menu definition. When pushing EDAC_SUPPORT up, before the menu definition, the variable is defined earlier and the above menuconfig artifact doesn't happen. Drop a useless menuconfig comment while at it. Cc: Ralf Baechle <[email protected]> Signed-off-by: Borislav Petkov <[email protected]>
2013-01-07EDAC: Fix kernel panic on module unloadingKonstantin Khlebnikov1-2/+1
This patch fixes use-after-free and double-free bugs in edac_mc_sysfs_exit(). mci_pdev has single reference and put_device() calls mc_attr_release() which calls kfree(). The following device_del() works with already released memory. An another kfree() in edac_mc_sysfs_exit() releses the same memory again. Great. Signed-off-by: Konstantin Khlebnikov <[email protected]> Cc: [email protected] # 3.[67] Cc: Denis Kirjanov <[email protected]> Cc: Mauro Carvalho Chehab <[email protected]> Link: http://lkml.kernel.org/r/20121214110310.11019.21098.stgit@zurg Signed-off-by: Borislav Petkov <[email protected]>
2013-01-07Merge tag 'nfs-for-3.8-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds9-31/+61
Pull NFS client bugfixes from Trond Myklebust: - Fix a permissions problem when opening NFSv4 files that only have the exec bit set. - Fix a couple of typos in pNFS (inverted logic), and the mount parsing (missing pointer dereference). - Work around a series of deadlock issues due to workqueues using struct work_struct pointer address comparisons in the re-entrancy tests. Ensure that we don't free struct work_struct prematurely if our work function involves waiting for completion of other work items (e.g. by calling rpc_shutdown_client). - Revert the part of commit 168e4b3 that is causing unnecessary warnings to be issued in the nfsd callback code. * tag 'nfs-for-3.8-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: nfs: avoid dereferencing null pointer in initiate_bulk_draining SUNRPC: Partial revert of commit 168e4b39d1afb79a7e3ea6c3bb246b4c82c6bdb9 NFS: Ensure that we free the rpc_task after read and write cleanups are done SUNRPC: Ensure that we free the rpc_task after cleanups are done nfs: fix null checking in nfs_get_option_str() pnfs: Increase the refcount when LAYOUTGET fails the first time NFS: Fix access to suid/sgid executables
2013-01-07ALSA: hda - add mute LED for HP Pavilion 17 (Realtek codec)David Henningsson1-0/+30
The mute LED is in this case connected to the Mic1 VREF. The machine also exposes the following string in BIOS: "HP_Mute_LED_0_A", so if more machines are coming, it probably makes sense to try to do something more generic, like for the IDT codec. Cc: [email protected] BugLink: https://bugs.launchpad.net/bugs/1096789 Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-01-07pinctrl: mvebu: make pdma clock on dove mandatorySebastian Hesselbarth1-2/+5
With the ability to pass clocks through DT, now make the pdma clock of dove pinctrl mandatory. Otherwise, pinctrl will hang the system when accessing some registers. Signed-off-by: Sebastian Hesselbarth <[email protected]> Signed-off-by: Jason Cooper <[email protected]>
2013-01-07ARM: Dove: Add pinctrl clock to DTSebastian Hesselbarth1-0/+1
During merge of the mvebu patches a clock gate for pinctrl was lost. This patch just readds the clock gate. Signed-off-by: Sebastian Hesselbarth <[email protected]> Signed-off-by: Jason Cooper <[email protected]>
2013-01-07Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linusLinus Torvalds22-104/+44
Pull MIPS fixes from Ralf Baechle: "Various fixes across the tree. The modpost error due to virt_addr_valid() not being usable from modules required a number of preparatory cleanups so a clean fix was possible." * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: 64-bit: Fix build if !CONFIG_MODULES MIPS: Wire up finit_module syscall. MIPS: Fix modpost error in modules attepting to use virt_addr_valid(). MIPS: page.h: Remove now unnecessary #ifndef __ASSEMBLY__ wrapper. MIPS: Switch remaining assembler PAGE_SIZE users to <asm/asm-offsets.h>. MIPS: Include PAGE_S{IZE,HIFT} in <asm/offset.h>. MIPS: Don't include <asm/page.h> unnecessarily. MIPS: Fix comment. Revert "MIPS: Optimise TLB handlers for MIPS32/64 R2 cores." MIPS: perf: Fix build failure in XLP perf support. MIPS: Alchemy: Make 32kHz and r4k timer coexist peacefully
2013-01-07Merge branch 'akpm' (fixes from Andrew)Linus Torvalds24-200/+1035
Merge emailed fixes from Andrew Morton: "Bunch of fixes: - delayed IPC updates. I held back on this because of some possible outstanding bug reports, but they appear to have been addressed in later versions - A bunch of MAINTAINERS updates - Yet Another RTC driver. I'd held this back while a couple of little issues were being worked out. I'm expecting an intrusive-but-simple patchset from Joe Perches which splits up printk.c into kernel/printk/*. That will be a pig to maintain for two months so if it passes testing I'd like to get it upstream after a week or so." * emailed patches from Andrew Morton <[email protected]>: (35 commits) printk: fix incorrect length from print_time() when seconds > 99999 drivers/rtc/rtc-vt8500.c: fix handling of data passed in struct rtc_time drivers/rtc/rtc-vt8500.c: correct handling of CR_24H bitfield rtc: add RTC driver for TPS6586x MAINTAINERS: fix drivers/staging/sm7xx/ MAINTAINERS: remove include/linux/of_pwm.h MAINTAINERS: remove arch/*/lib/perf_event*.c MAINTAINERS: remove drivers/mmc/host/imxmmc.* MAINTAINERS: fix Documentation/mei/ MAINTAINERS: remove arch/x86/platform/mrst/pmu.* MAINTAINERS: remove firmware/isci/ MAINTAINERS: fix drivers/ieee802154/ MAINTAINERS: fix .../plat-mxc/include/mach/imxfb.h MAINTAINERS: remove drivers/video/epson1355fb.c MAINTAINERS: fix drivers/media/usb/dvb-usb/cxusb* MAINTAINERS: adjust for UAPI MAINTAINERS: fix drivers/media/platform/atmel-isi.c MAINTAINERS: fix arch/arm/mach-at91/include/mach/at_hdmac.h MAINTAINERS: fix drivers/rtc/rtc-vt8500.c MAINTAINERS: remove arch/arm/plat-s5p/ ...
2013-01-07Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblazeLinus Torvalds8-56/+90
Pull microblaze update from Michal Simek: "This fixes noMMU kernel and I have also added defconfig updates which fix issue with one external dependency and enable all xilinx device drivers for 0-day testing system. Additionally wire up finit_module system call, and do highmem fixup and pci warnings reported by the 0-day testing system" * 'next' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Update microblaze defconfigs microblaze: Fix pci compilation and sparse warnings microblaze: Add finit_module syscall microblaze: Kill __kmap_atomic() microblaze: Change section flags for noMMU microblaze: Microblaze wants sys_fork for noMMU too
2013-01-07Merge branch 'for-linus' of ↵Linus Torvalds3-5/+11
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull integrity subsystem regression fix from James Morris: "Commit fdf90729e578 "ima: support new kernel module syscall" by error modified init_module() to return INTEGRITY_UNKNOWN (which is 4) to user space if the kernel was built with CONFIG_IMA_APPRAISE=y. As a result, user space can no longer load kernel modules using init_module(). This commit fixes this regression." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: ima: fallback to MODULE_SIG_ENFORCE for existing kernel module syscall
2013-01-07drm/radeon: add quirk for d3 delay during switcheroo poweron for apple macbooksMaarten Lankhorst1-0/+28
vga-switcheroo with apple-gmux does not switch correctly on my system. The PCI configuration space is not restored correctly, resulting in MSI not working after switch. Only useful item in dmesg is: [ 33.922807] radeon 0000:01:00.0: Refused to change power state, currently in D3 I did some testing, dumping the difference in ms between first succesful switch from D3 to D0, and it seems that there is slightly more than 20 ms difference when the device is re-enabled through vga-switcheroo. So bump the re-enable d3 delay to 20 ms to handle this, which fixes msi not working on my system after switcheroo-ing. Default d3_delay value is PCI_PM_D3_WAIT, 10 ms. Signed-off-by: Maarten Lankhorst <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2013-01-07ARM: 7616/1: cache-l2x0: aurora: Use writel_relaxed instead of writelGregory CLEMENT1-4/+5
The use of writel instead of writel_relaxed lead to deadlock in some situation (SMP on Armada 370 for instance). The use of writel_relaxed as it was done in the rest of this driver fixes this bug. Signed-off-by: Gregory CLEMENT <[email protected]> Tested-by: Thomas Petazzoni <[email protected]> Acked-by: Jason Cooper <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-01-07ARM: 7615/1: cache-l2x0: aurora: Invalidate during clean operation with WT ↵Gregory CLEMENT1-8/+14
enable This patch fixes a bug for Aurora L2 cache controller when the write-through mode is enable. For the clean operation even if we don't have to flush the lines we still need to invalidate them. Signed-off-by: Gregory CLEMENT <[email protected]> Tested-by: Thomas Petazzoni <[email protected]> Acked-by: Jason Cooper <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-01-07ALSA: au88x0: fix incorrect left shiftNickolai Zeldovich1-1/+1
vortex_wt_setdsout performs bit-negation on the bit position (wt&0x1f) rather than on the resulting bitmask. This code is never actually invoked (vortex_wt_setdsout is always called with en=1), so this does not currently cause any problem, and this patch is simply cleanup. Signed-off-by: Nickolai Zeldovich <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2013-01-06ipv4: fix NULL checking in devinet_ioctl()Xi Wang1-1/+1
The NULL pointer check `!ifa' should come before its first use. [ Bug origin : commit fd23c3b31107e2fc483301ee923d8a1db14e53f4 (ipv4: Add hash table of interface addresses) in linux-2.6.39 ] Signed-off-by: Xi Wang <[email protected]> Acked-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-01-07drm/exynos: move finish page flip to a common placeRahul Sharma5-88/+36
This patch implements the exynos_drm_crtc_finish_pageflip in exynos_drm_crtc.c. This avoids the duplication of same code in mixer, fimd and vidi. Signed-off-by: Rahul Sharma <[email protected]> Signed-off-by: Stephane Marchesin <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2013-01-06tcp: fix MSG_SENDPAGE_NOTLAST logicEric Dumazet1-1/+3
commit 35f9c09fe9c72e (tcp: tcp_sendpages() should call tcp_push() once) added an internal flag : MSG_SENDPAGE_NOTLAST meant to be set on all frags but the last one for a splice() call. The condition used to set the flag in pipe_to_sendpage() relied on splice() user passing the exact number of bytes present in the pipe, or a smaller one. But some programs pass an arbitrary high value, and the test fails. The effect of this bug is a lack of tcp_push() at the end of a splice(pipe -> socket) call, and possibly very slow or erratic TCP sessions. We should both test sd->total_len and fact that another fragment is in the pipe (pipe->nrbufs > 1) Many thanks to Willy for providing very clear bug report, bisection and test programs. Reported-by: Willy Tarreau <[email protected]> Bisected-by: Willy Tarreau <[email protected]> Tested-by: Willy Tarreau <[email protected]> Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-01-07drm/exynos: fimd: modify condition in fimd resumePrathyush K1-1/+1
If fimd is runtime suspended (by DPMS OFF), fimd_suspend does not call fimd_activate(false) and just returns. Similarily the check in fimd_resume should not resume if previously runtime_suspended. Instead the existing check does the opposite. So if fimd was not runtime suspended, suspend will turn off fimd but resume will not turn it on. This patch fixes this issue by reversing the condition. Signed-off-by: Prathyush K <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2013-01-06ext4: remove duplicate call to ext4_bread() in ext4_init_new_dir()Guo Chao1-1/+0
This fixes a buffer cache leak when creating a directory, introduced in commit a774f9c20. Signed-off-by: Guo Chao <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]> Reviewed-by: Tao Ma <[email protected]>
2013-01-06ext4: release buffer in failed path in dx_probe()Guo Chao1-1/+1
If checksum fails, we should also release the buffer read from previous iteration. Signed-off-by: Guo Chao <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]> Reviewed-by: Darrick J. Wong <[email protected]>- Cc: [email protected] -- fs/ext4/namei.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2013-01-06ext4: fix configuration dependencies for ext4 ACLs and security labelsValerie Aurora1-0/+2
Commit "ext4: Remove CONFIG_EXT4_FS_XATTR" removed the configuration dependencies for ext4 xattrs from the ext4 ACLs and security labels configuration options, but did not replace them with a dependency on ext4 itself. Add back the dependency on ext4 so the options only show up if ext4 is enabled. Signed-off-by: Valerie Aurora <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]> Reviewed-by: Tao Ma <[email protected]>
2013-01-07Merge branch 'for-Linus' of ↵James Morris3-5/+11
git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity into for-linus Pulled from Mimi's tree.
2013-01-06ARM: 7614/1: mm: fix wrong branch from Cortex-A9 to PJ4bHaojian Zhuang1-0/+1
If CONFIG_ARCH_MULTIPLATFORM & CONFIG_ARCH_MVEBU are both enabled, __v7_pj4b_setup is added between __v7_ca9mp_setup and __v7_setup. But there's no jump instruction added. If the chip is Cortex A5/A9, it goes through __v7_pj4b_setup also. It results in system hang. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-01-06ARM: 7612/1: imx: Do not select some errata that depends on !ARCH_MULTIPLATFORMFabio Estevam1-2/+0
Since commit 62e4d357a (ARM: 7609/1: disable errata work-arounds which access secure registers) ARM_ERRATA_743622/751472 depends on !ARCH_MULTIPLATFORM. Since imx has been converted to multiplatform, the following warning happens: $ make imx_v6_v7_defconfig warning: (SOC_IMX6Q && ARCH_TEGRA_2x_SOC && ARCH_TEGRA_3x_SOC) selects ARM_ERRATA_751472 which has unmet direct dependencies (CPU_V7 && !ARCH_MULTIPLATFORM) warning: (SOC_IMX6Q && ARCH_TEGRA_3x_SOC) selects ARM_ERRATA_743622 which has unmet direct dependencies (CPU_V7 && !ARCH_MULTIPLATFORM) warning: (SOC_IMX6Q && ARCH_TEGRA_3x_SOC) selects ARM_ERRATA_743622 which has unmet direct dependencies (CPU_V7 && !ARCH_MULTIPLATFORM) warning: (SOC_IMX6Q && ARCH_TEGRA_2x_SOC && ARCH_TEGRA_3x_SOC) selects ARM_ERRATA_751472 which has unmet direct dependencies (CPU_V7 && !ARCH_MULTIPLATFORM) Recommended approach is to remove ARM_ERRATA_743622/751472 from being selected by SOC_IMX6Q and apply such workarounds into the bootloader. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Russell King <[email protected]>
2013-01-06dma: mv_xor: fix error handling for clocksThomas Petazzoni1-2/+5
When a channel fails to initialize, we release all ressources, including clocks. However, a XOR unit is not necessarily associated to a clock (some variants of Marvell SoCs have a clock for XOR units, some don't), so we shouldn't unconditionally be releasing the clock. Instead, just like we do in the mv_xor_remove() function, we should check if one clock was found before releasing it. Signed-off-by: Thomas Petazzoni <[email protected]> Signed-off-by: Jason Cooper <[email protected]>
2013-01-06dma: mv_xor: fix error handling of mv_xor_channel_add()Thomas Petazzoni1-1/+1
When mv_xor_channel_add() fails for one XOR channel, we jump to the err_channel_add label to clean up all previous channels that had been initialized correctly. Unfortunately, while handling this error condition, we were disposing the IRQ mapping before calling mv_xor_channel_remove() (which does the free_irq()), which is incorrect. Instead, do things properly in the reverse order of the initialization: first remove the XOR channel (so that free_irq() is done), and then dispose the IRQ mapping. This avoids ugly warnings when for some reason one of the XOR channel fails to initialize. Signed-off-by: Thomas Petazzoni <[email protected]> Signed-off-by: Jason Cooper <[email protected]>
2013-01-06arm: mvebu: Add missing ; for cpu node.Andrew Lunn1-1/+1
The Armada XP MV78230 DT include file is missing a ; at the end of the cpu node. Reported-by: Thomas Petazzoni <[email protected]> Signed-off-by: Andrew Lunn <[email protected]> Signed-off-by: Jason Cooper <[email protected]>
2013-01-06arm: mvebu: Armada XP MV78230 has only three Ethernet interfacesThomas Petazzoni3-8/+16
We originally thought that the MV78230 variant of the Armada XP had four Ethernet interfaces, like the other variants MV78260 and MV78460. In fact, this is not true, and the MV78230 has only three Ethernet interfaces. So, the definitions of the Ethernet interfaces is now done as follows: * armada-370-xp.dtsi: definitions of the first two interfaces, that are common to Armada 370 and Armada XP * armada-xp.dtsi: definition of the third interface, common to all Armada XP variants. * armada-xp-mv78260.dtsi and armada-xp-mv78460.dtsi: definition of the fourth interface. Signed-off-by: Thomas Petazzoni <[email protected]> Signed-off-by: Andrew Lunn <[email protected]> Signed-off-by: Jason Cooper <[email protected]>
2013-01-06arm: mvebu: Armada XP MV78230 has two cores, not oneThomas Petazzoni1-0/+7
Contrary to our understanding at the time armada-xp-mv78230.dtsi was written, the MV78230 variant of the Armada XP SoC has two cores and not one. This patch updates the .dtsi file to take into account this reality. Signed-off-by: Thomas Petazzoni <[email protected]> Signed-off-by: Andrew Lunn <[email protected]> Signed-off-by: Jason Cooper <[email protected]>
2013-01-06clk: mvebu: Remove inappropriate __init taggingJoshua Coombs1-1/+1
If the Orion WDT driver is built as a module, an opps occurs during clk lookup when calling mvebu_clk_gating_get_src(). Remove the inappropriate __init tag so the function is available for modules after kernel init. Signed-off-by: Joshua Coombs <[email protected]> Signed-off-by: Andrew Lunn <[email protected]> Signed-off-by: Jason Cooper <[email protected]>
2013-01-06ARM: Kirkwood: Use fixed-regulator instead of board gpio callAndrew Lunn2-4/+17
With the change to a DT based pinctrl/gpio driver, using gpio API calls in board-*.c files no longer works, a dereferenced NULL pointer exception occurs instead. By converting the GPIO code into a fixed-regulator which gets probed later once pinctrl/gpio is available, we avoid the exception. Signed-off-by: Andrew Lunn <[email protected]> Tested-by: Stefan Peter <s.peter@mplch> Signed-off-by: Jason Cooper <[email protected]>
2013-01-06ARM: Kirkwood: Fix missing sdio clockAndrew Lunn1-0/+4
We moved to declaring clk gates in DT. However, device which do not yet have a DT binding need to have a clkdev alias. This was missing for SDIO. Signed-off-by: Andrew Lunn <[email protected]> Tested-by: Stefan Peter <s.peter@mplch> Signed-off-by: Jason Cooper <[email protected]>
2013-01-06ARM: Kirkwood: Switch TWSI1 of 88f6282 to DT clock providersNobuhiro Iwamatsu1-0/+1
Clock Management of kirkwood has moved to DT clock providers. However, TWSI1 has not yet been done. This switches TWSI1 of 88f6282 to DT clock providers. Signed-off-by: Nobuhiro Iwamatsu <[email protected]> Signed-off-by: Andrew Lunn <[email protected]> Signed-off-by: Jason Cooper <[email protected]>
2013-01-06Power: gpio-poweroff: Fix documentation and gpio_is_validAndrew Lunn2-21/+32
Improve the documentation to clarify level vs edge triggered power off. Improve the comments for level vs edge triggered power off. Make use of gpio_is_valid(). Reported-by: Stephen Warren <[email protected]> Signed-off-by: Andrew Lunn <[email protected]> Signed-off-by: Jason Cooper <[email protected]>
2013-01-06ARM: Kirkwood: Fix missing clk for USB device.Andrew Lunn1-0/+1
Without the clock being held by a driver, it gets turned off at a bad time causing the SoC to lockup. This is often during reboot. Signed-off-by: Andrew Lunn <[email protected]> Tested-by: Stefan Peter <[email protected]> Signed-off-by: Jason Cooper <[email protected]>
2013-01-06arm: mvebu: Use dw-apb-uart instead of ns16650 as UART driverGregory CLEMENT3-7/+9
The UART controller used in the Armada 370 and Armada XP SoCs is the Synopsys DesignWare 8250 (aka Synopsys DesignWare ABP UART). The improper use of the ns16550 can lead to a kernel oops during boot if a character is sent to the UART before the initialization of the driver. The DW APB has an extra interrupt that gets raised when writing to the LCR when busy. This explains why we need to use dw-apb-uart driver to handle this. Signed-off-by: Gregory CLEMENT <[email protected]> Signed-off-by: Jason Cooper <[email protected]>
2013-01-05signals: set_current_blocked() can use __set_current_blocked()Oleg Nesterov1-6/+2
Cleanup. And I think we need more cleanups, in particular __set_current_blocked() and sigprocmask() should die. Nobody should ever block SIGKILL or SIGSTOP. - Change set_current_blocked() to use __set_current_blocked() - Change sys_sigprocmask() to use set_current_blocked(), this way it should not worry about SIGKILL/SIGSTOP. Signed-off-by: Oleg Nesterov <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-01-05signals: sys_ssetmask() uses uninitialized newmaskOleg Nesterov1-0/+1
Commit 77097ae503b1 ("most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set") removed the initialization of newmask by accident, causing ltp to complain like this: ssetmask01 1 TFAIL : sgetmask() failed: TEST_ERRNO=???(0): Success Restore the proper initialization. Reported-and-tested-by: CAI Qian <[email protected]> Signed-off-by: Oleg Nesterov <[email protected]> Cc: [email protected] # v3.5+ Signed-off-by: Linus Torvalds <[email protected]>
2013-01-06Merge branch 'pm-sleep'Rafael J. Wysocki2-9/+9
* pm-sleep: PM: Move disabling/enabling runtime PM to late suspend/early resume
2013-01-06PM: Move disabling/enabling runtime PM to late suspend/early resumeRafael J. Wysocki2-9/+9
Currently, the PM core disables runtime PM for all devices right after executing subsystem/driver .suspend() callbacks for them and re-enables it right before executing subsystem/driver .resume() callbacks for them. This may lead to problems when there are two devices such that the .suspend() callback executed for one of them depends on runtime PM working for the other. In that case, if runtime PM has already been disabled for the second device, the first one's .suspend() won't work correctly (and analogously for resume). To make those issues go away, make the PM core disable runtime PM for devices right before executing subsystem/driver .suspend_late() callbacks for them and enable runtime PM for them right after executing subsystem/driver .resume_early() callbacks for them. This way the potential conflitcs between .suspend_late()/.resume_early() and their runtime PM counterparts are still prevented from happening, but the subtle ordering issues related to disabling/enabling runtime PM for devices during system suspend/resume are much easier to avoid. Reported-and-tested-by: Jan-Matthias Braun <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]> Reviewed-by: Ulf Hansson <[email protected]> Reviewed-by: Kevin Hilman <[email protected]> Cc: 3.4+ <[email protected]>
2013-01-06Merge branch 'pm-qos'Rafael J. Wysocki1-5/+5
* pm-qos: PM / QoS: Rename local variable in dev_pm_qos_add_ancestor_request()
2013-01-06PM / QoS: Rename local variable in dev_pm_qos_add_ancestor_request()Rafael J. Wysocki1-5/+5
Local variable 'error' in dev_pm_qos_add_ancestor_request() need not contain error codes only, so rename it to 'ret'. Signed-off-by: Rafael J. Wysocki <[email protected]>
2013-01-05nfs: avoid dereferencing null pointer in initiate_bulk_drainingNickolai Zeldovich1-1/+1
Fix an inverted null pointer check in initiate_bulk_draining(). Signed-off-by: Nickolai Zeldovich <[email protected]> Signed-off-by: Trond Myklebust <[email protected]> Cc: [email protected] [>= 3.7]
2013-01-05ARM: EXYNOS: skip the clock initialization for exynos5440Kukjin Kim1-0/+7
Since exynos5440 can support only common clk stuff, so this patch skips legacy exynos5 clock initialization. Signed-off-by: Kukjin Kim <[email protected]>
2013-01-04printk: fix incorrect length from print_time() when seconds > 99999Roland Dreier1-2/+3
print_prefix() passes a NULL buf to print_time() to get the length of the time prefix; when printk times are enabled, the current code just returns the constant 15, which matches the format "[%5lu.%06lu] " used to print the time value. However, this is obviously incorrect when the whole seconds part of the time gets beyond 5 digits (100000 seconds is a bit more than a day of uptime). The simple fix is to use snprintf(NULL, 0, ...) to calculate the actual length of the time prefix. This could be micro-optimized but it seems better to have simpler, more readable code here. The bug leads to the syslog system call miscomputing which messages fit into the userspace buffer. If there are enough messages to fill log_buf_len and some have a timestamp >= 100000, dmesg may fail with: # dmesg klogctl: Bad address When this happens, strace shows that the failure is indeed EFAULT due to the kernel mistakenly accessing past the end of dmesg's buffer, since dmesg asks the kernel how big a buffer it needs, allocates a bit more, and then gets an error when it asks the kernel to fill it: syslog(0xa, 0, 0) = 1048576 mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa4d25d2000 syslog(0x3, 0x7fa4d25d2010, 0x100008) = -1 EFAULT (Bad address) As far as I can see, the bug has been there as long as print_time(), which comes from commit 084681d14e42 ("printk: flush continuation lines immediately to console") in 3.5-rc5. Signed-off-by: Roland Dreier <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> Cc: Joe Perches <[email protected]> Cc: Sylvain Munaut <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-01-04drivers/rtc/rtc-vt8500.c: fix handling of data passed in struct rtc_timeTony Prisk1-3/+4
tm_mon is 0..11, whereas vt8500 expects 1..12 for the month field, causing invalid date errors for January, and causing the day field to roll over incorrectly. The century flag is only handled in vt8500_rtc_read_time, but not set in vt8500_rtc_set_time. This patch corrects the behaviour of the century flag. Signed-off-by: Edgar Toernig <[email protected]> Signed-off-by: Tony Prisk <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-01-04drivers/rtc/rtc-vt8500.c: correct handling of CR_24H bitfieldTony Prisk1-2/+2
Control register bitfield for 12H/24H mode is handled incorrectly. Setting CR_24H actually enables 12H mode. This patch renames the define and changes the initialization code to correctly set 24H mode. Signed-off-by: Tony Prisk <[email protected]> Cc: Edgar Toernig <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-01-04rtc: add RTC driver for TPS6586xLaxman Dewangan3-0/+365
Add an RTC driver for TPS6586X chips by TI. This driver supports: - Setting and getting time and date. - Setting and reading alarm time. - Alarm and interrupt functionlity. [[email protected]: remove stray semicolons] [[email protected]: start epoch in 2009] Signed-off-by: Laxman Dewangan <[email protected]> Tested-by: Marc Dietrich <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-01-04MAINTAINERS: fix drivers/staging/sm7xx/Cesar Eduardo Barros1-1/+1
This directory was moved to drivers/staging/sm7xxfb/ by commit 925aa6600cee ("staging: sm7xxfb: sm7xx becomes sm7xxfb"). Signed-off-by: Cesar Eduardo Barros <[email protected]> Cc: Teddy Wang <[email protected]> Acked-by: Javier Muñoz <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-01-04MAINTAINERS: remove include/linux/of_pwm.hCesar Eduardo Barros1-1/+0
Added by commit 200efedd8766 ("pwm: Take over maintainership of the PWM subsystem"), but I could not find any trace of that file being ever added to the repository. Signed-off-by: Cesar Eduardo Barros <[email protected]> Acked-by: Thierry Reding <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>