Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1187854 > unrolled thread
| Started by | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| First post | 2015-07-19 21:40 +0200 |
| Last post | 2015-07-20 19:20 +0200 |
| Articles | 15 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH 4.1 00/65] 4.1.3-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:40 +0200
[PATCH 4.1 43/65] regmap: Fix possible shift overflow in regmap_field_init() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:40 +0200
[PATCH 4.1 22/65] ALSA: hda - Add a fixup for Dell E7450 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:40 +0200
[PATCH 4.1 39/65] mm: kmemleak: allow safe memory scanning during kmemleak disabling Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:40 +0200
[PATCH 4.1 04/65] kernfs: Add support for always empty directories. Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:40 +0200
[PATCH 4.1 15/65] ALSA: pcm: Fix pcm_class sysfs output Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:50 +0200
[PATCH 4.1 16/65] ALSA: hda - Fix Dock Headphone on Thinkpad X250 seen as a Line Out Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:50 +0200
[PATCH 4.1 17/65] ALSA: hda - set proper caps for newer AMD hda audio in KB/KV Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:50 +0200
[PATCH 4.1 13/65] ipr: Increase default adapter init stage change timeout Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:50 +0200
[PATCH 4.1 11/65] gpio: rcar: Check for irq_set_irq_wake() failures Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:50 +0200
[PATCH 4.1 14/65] Disable write buffering on Toshiba ToPIC95 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:50 +0200
[PATCH 4.1 12/65] rcu: Correctly handle non-empty Tiny RCU callback list with none ready Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:50 +0200
[PATCH 4.1 18/65] ALSA: hda - Disable widget power-save for VIA codecs Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:50 +0200
[PATCH 4.1 10/65] gpio: crystalcove: set IRQCHIP_SKIP_SET_WAKE for the irqchip Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2015-07-19 21:50 +0200
Re: [PATCH 4.1 00/65] 4.1.3-stable review Shuah Khan <shuahkh@osg.samsung.com> - 2015-07-20 19:20 +0200
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:40 +0200 |
| Subject | [PATCH 4.1 00/65] 4.1.3-stable review |
| Message-ID | <pO28i-3ee-9@gated-at.bofh.it> |
This is the start of the stable review cycle for the 4.1.3 release.
There are 65 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Tue Jul 21 19:07:53 UTC 2015.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.1.3-rc1.gz
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Linux 4.1.3-rc1
Frodo Lai <frodo.lai@gmail.com>
Input: pixcir_i2c_ts - fix receive error
Zhichang Yuan <yuanzhichang@hisilicon.com>
of/pci: Fix pci_address_to_pio() conversion of CPU address to I/O port
Alex Williamson <alex.williamson@redhat.com>
PCI: pciehp: Wait for hotplug command completion where necessary
Yinghai Lu <yinghai@kernel.org>
PCI: Add pci_bus_addr_t
Rafael J. Wysocki <rafael.j.wysocki@intel.com>
PCI: Propagate the "ignore hotplug" setting to parent
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
mtd: dc21285: use raw spinlock functions for nw_gpio_lock
Brian Norris <computersforpeace@gmail.com>
mtd: fix: avoid race condition when accessing mtd->usecount
Grygorii Strashko <Grygorii.Strashko@linaro.org>
leds / PM: fix hibernation on arm when gpio-led used with CPU led trigger
Liu Ying <Ying.Liu@freescale.com>
video: mxsfb: Make sure axi clock is enabled when accessing registers
Axel Lin <axel.lin@ingics.com>
genirq: devres: Fix testing return value of request_any_context_irq()
Bart Van Assche <bart.vanassche@sandisk.com>
IB/srp: Fix reconnection failure handling
Bart Van Assche <bart.vanassche@sandisk.com>
IB/srp: Fix connection state tracking
Bart Van Assche <bart.vanassche@sandisk.com>
IB/srp: Fix a connection setup race
Bart Van Assche <bart.vanassche@sandisk.com>
IB/srp: Remove an extraneous scsi_host_put() from an error path
Bart Van Assche <bart.vanassche@sandisk.com>
scsi_transport_srp: Fix a race condition
Bart Van Assche <bart.vanassche@sandisk.com>
scsi_transport_srp: Introduce srp_wait_for_queuecommand()
Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
spi: pl022: Specify 'num-cs' property as required in devicetree binding
Gregory CLEMENT <gregory.clement@free-electrons.com>
spi: orion: Fix maximum baud rates for Armada 370/XP
Martin Sperl <kernel@martin.sperl.org>
spi: fix race freeing dummy_tx/rx before it is unmapped
Miroslav Benes <mbenes@suse.cz>
livepatch: add module locking around kallsyms calls
Stefan Wahren <stefan.wahren@i2se.com>
regulator: core: fix constraints output buffer
Joe Perches <joe@perches.com>
regulator: max77686: fix gpio_enabled shift wrapping bug
Maxime Coquelin <maxime.coquelin@st.com>
regmap: Fix possible shift overflow in regmap_field_init()
Arun Chandran <achandran@mvista.com>
regmap: Fix regmap_bulk_read in BE mode
Vlastimil Babka <vbabka@suse.cz>
mm, thp: respect MPOL_PREFERRED policy with non-local node
Larry Finger <Larry.Finger@lwfinger.net>
mm: kmemleak_alloc_percpu() should follow the gfp from per_alloc()
Catalin Marinas <catalin.marinas@arm.com>
mm: kmemleak: allow safe memory scanning during kmemleak disabling
Will Deacon <will.deacon@arm.com>
arm64: vdso: work-around broken ELF toolchains in Makefile
Dave P Martin <Dave.Martin@arm.com>
arm64: mm: Fix freeing of the wrong memmap entries with !SPARSEMEM_VMEMMAP
Mark Rutland <mark.rutland@arm.com>
arm64: entry: fix context tracking for el0_sp_pc
Catalin Marinas <catalin.marinas@arm.com>
arm64: Do not attempt to use init_mm in reset_context()
Tomas Winkler <tomas.winkler@intel.com>
mei: txe: reduce suspend/resume time
Alexander Usyskin <alexander.usyskin@intel.com>
mei: me: wait for power gating exit confirmation
Krzysztof Kozlowski <k.kozlowski@samsung.com>
power_supply: Fix possible NULL pointer dereference on early uevent
Krzysztof Kozlowski <k.kozlowski@samsung.com>
power_supply: Fix NULL pointer dereference during bq27x00_battery probe
Max Filippov <jcmvbkbc@gmail.com>
arc: fix use of uninitialized arc_pmu
Vineet Gupta <vgupta@synopsys.com>
ARC: add compiler barrier to LLSC based cmpxchg
Vineet Gupta <vgupta@synopsys.com>
ARC: add smp barriers around atomics per Documentation/atomic_ops.txt
Arnaldo Carvalho de Melo <acme@kernel.org>
tools selftests: Fix 'clean' target with make 3.81
Antonio Ospite <ao2@ao2.it>
iio: accel: kxcjk-1013: add the "KXCJ9000" ACPI id
Rafael J. Wysocki <rafael.j.wysocki@intel.com>
ACPI / PNP: Avoid conflicting resource reservations
Rafael J. Wysocki <rafael.j.wysocki@intel.com>
ACPI / PM: Add missing pm_generic_complete() invocation
Rafael J. Wysocki <rafael.j.wysocki@intel.com>
ACPI / init: Switch over platform to the ACPI mode later
Takashi Iwai <tiwai@suse.de>
ALSA: hda - Add a fixup for Dell E7450
Takashi Iwai <tiwai@suse.de>
ALSA: hda - Fix the dock headphone output on Fujitsu Lifebook E780
Takashi Iwai <tiwai@suse.de>
ALSA: hda - Add headset support to Acer Aspire V5
Hui Wang <hui.wang@canonical.com>
ALSA: hda - restore the MIC FIXUP for some Dell machines
Takashi Iwai <tiwai@suse.de>
ALSA: hda - Disable widget power-save for VIA codecs
Alex Deucher <alexander.deucher@amd.com>
ALSA: hda - set proper caps for newer AMD hda audio in KB/KV
David Henningsson <david.henningsson@canonical.com>
ALSA: hda - Fix Dock Headphone on Thinkpad X250 seen as a Line Out
Takashi Iwai <tiwai@suse.de>
ALSA: pcm: Fix pcm_class sysfs output
Ryan Underwood <nemesis@icequake.net>
Disable write buffering on Toshiba ToPIC95
Brian King <brking@linux.vnet.ibm.com>
ipr: Increase default adapter init stage change timeout
Paul E. McKenney <paulmck@linux.vnet.ibm.com>
rcu: Correctly handle non-empty Tiny RCU callback list with none ready
Geert Uytterhoeven <geert+renesas@glider.be>
gpio: rcar: Check for irq_set_irq_wake() failures
Aaron Lu <aaron.lu@intel.com>
gpio: crystalcove: set IRQCHIP_SKIP_SET_WAKE for the irqchip
Eric W. Biederman <ebiederm@xmission.com>
mnt: Modify fs_fully_visible to deal with locked ro nodev and atime
Eric W. Biederman <ebiederm@xmission.com>
mnt: Refactor the logic for mounting sysfs and proc in a user namespace
Eric W. Biederman <ebiederm@xmission.com>
mnt: Update fs_fully_visible to test for permanently empty directories
Eric W. Biederman <ebiederm@xmission.com>
sysfs: Create mountpoints with sysfs_create_mount_point
Eric W. Biederman <ebiederm@xmission.com>
sysfs: Add support for permanently empty directories to serve as mount points.
Eric W. Biederman <ebiederm@xmission.com>
kernfs: Add support for always empty directories.
Eric W. Biederman <ebiederm@xmission.com>
proc: Allow creating permanently empty directories that serve as mount points
Eric W. Biederman <ebiederm@xmission.com>
sysctl: Allow creating permanently empty directories that serve as mountpoints.
Eric W. Biederman <ebiederm@xmission.com>
fs: Add helper functions for permanently empty directories.
-------------
Diffstat:
Documentation/DMA-API-HOWTO.txt | 29 ++--
Documentation/DMA-API.txt | 30 ++--
.../devicetree/bindings/spi/spi_pl022.txt | 2 +-
Makefile | 4 +-
arch/arc/include/asm/atomic.h | 21 +++
arch/arc/include/asm/bitops.h | 19 +++
arch/arc/include/asm/cmpxchg.h | 26 +++-
arch/arc/include/asm/spinlock.h | 32 +++++
arch/arc/kernel/perf_event.c | 1 -
arch/arm64/kernel/entry.S | 1 +
arch/arm64/kernel/vdso/Makefile | 4 +
arch/arm64/mm/context.c | 8 ++
arch/arm64/mm/init.c | 2 +-
arch/s390/hypfs/inode.c | 12 +-
drivers/acpi/bus.c | 56 ++++++--
drivers/acpi/device_pm.c | 1 +
drivers/acpi/osl.c | 6 +-
drivers/acpi/resource.c | 160 +++++++++++++++++++++
drivers/base/regmap/regmap.c | 5 +-
drivers/firmware/efi/efi.c | 6 +-
drivers/gpio/gpio-crystalcove.c | 1 +
drivers/gpio/gpio-rcar.c | 13 +-
drivers/iio/accel/kxcjk-1013.c | 1 +
drivers/infiniband/ulp/srp/ib_srp.c | 83 +++++------
drivers/infiniband/ulp/srp/ib_srp.h | 2 +-
drivers/input/touchscreen/pixcir_i2c_ts.c | 2 +-
drivers/leds/led-class.c | 7 +-
drivers/misc/mei/client.c | 2 +-
drivers/misc/mei/hw-me.c | 59 +++++++-
drivers/misc/mei/hw-txe.c | 33 +++--
drivers/misc/mei/mei_dev.h | 11 ++
drivers/mtd/maps/dc21285.c | 4 +-
drivers/mtd/mtd_blkdevs.c | 5 +
drivers/of/address.c | 2 +-
drivers/pci/Kconfig | 4 +
drivers/pci/bus.c | 10 +-
drivers/pci/hotplug/pciehp_hpc.c | 52 +++++--
drivers/pci/pci.c | 11 ++
drivers/pci/probe.c | 12 +-
drivers/pcmcia/topic.h | 16 +++
drivers/pnp/system.c | 35 +++--
drivers/power/power_supply_core.c | 61 +++++++-
drivers/regulator/core.c | 2 +-
drivers/regulator/max77686.c | 6 +-
drivers/scsi/ipr.h | 2 +-
drivers/scsi/scsi_transport_srp.c | 58 ++++----
drivers/spi/spi-orion.c | 25 +++-
drivers/spi/spi.c | 11 +-
drivers/video/fbdev/mxsfb.c | 68 +++++++--
fs/configfs/mount.c | 10 +-
fs/debugfs/inode.c | 11 +-
fs/fuse/inode.c | 9 +-
fs/kernfs/dir.c | 38 ++++-
fs/kernfs/inode.c | 2 +
fs/libfs.c | 96 +++++++++++++
fs/namespace.c | 31 +++-
fs/proc/generic.c | 23 +++
fs/proc/inode.c | 4 +
fs/proc/internal.h | 6 +
fs/proc/proc_sysctl.c | 37 +++++
fs/proc/root.c | 9 +-
fs/pstore/inode.c | 12 +-
fs/sysfs/dir.c | 34 +++++
fs/sysfs/mount.c | 5 +-
fs/tracefs/inode.c | 6 +-
include/linux/acpi.h | 12 ++
include/linux/fs.h | 4 +-
include/linux/kernfs.h | 3 +
include/linux/kmemleak.h | 6 +-
include/linux/pci.h | 18 +--
include/linux/power_supply.h | 1 +
include/linux/sysctl.h | 3 +
include/linux/sysfs.h | 15 ++
include/linux/types.h | 12 +-
init/main.c | 1 +
kernel/cgroup.c | 10 +-
kernel/irq/devres.c | 4 +-
kernel/livepatch/core.c | 18 ++-
kernel/rcu/tiny.c | 5 +
kernel/sysctl.c | 8 +-
mm/kmemleak.c | 28 +++-
mm/mempolicy.c | 38 ++---
mm/percpu.c | 2 +-
security/inode.c | 10 +-
security/selinux/selinuxfs.c | 11 +-
security/smack/smackfs.c | 8 +-
sound/core/pcm.c | 6 +-
sound/pci/hda/hda_intel.c | 4 +
sound/pci/hda/patch_realtek.c | 44 +++++-
sound/pci/hda/patch_via.c | 8 +-
tools/testing/selftests/Makefile | 2 +-
91 files changed, 1278 insertions(+), 359 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:40 +0200 |
| Subject | [PATCH 4.1 43/65] regmap: Fix possible shift overflow in regmap_field_init() |
| Message-ID | <pO2Bn-3Nh-79@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Maxime Coquelin <maxime.coquelin@st.com>
commit 921cc29473a0d7c109105c1876ddb432f4a4be7d upstream.
The way the mask is generated in regmap_field_init() is wrong.
Indeed, a field initialized with msb = 31 and lsb = 0 provokes a shift
overflow while calculating the mask field.
On some 32 bits architectures, such as x86, the generated mask is 0,
instead of the expected 0xffffffff.
This patch uses GENMASK() to fix the problem, as this macro is already safe
regarding shift overflow.
Signed-off-by: Maxime Coquelin <maxime.coquelin@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/base/regmap/regmap.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -945,11 +945,10 @@ EXPORT_SYMBOL_GPL(devm_regmap_init);
static void regmap_field_init(struct regmap_field *rm_field,
struct regmap *regmap, struct reg_field reg_field)
{
- int field_bits = reg_field.msb - reg_field.lsb + 1;
rm_field->regmap = regmap;
rm_field->reg = reg_field.reg;
rm_field->shift = reg_field.lsb;
- rm_field->mask = ((BIT(field_bits) - 1) << reg_field.lsb);
+ rm_field->mask = GENMASK(reg_field.msb, reg_field.lsb);
rm_field->id_size = reg_field.id_size;
rm_field->id_offset = reg_field.id_offset;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:40 +0200 |
| Subject | [PATCH 4.1 22/65] ALSA: hda - Add a fixup for Dell E7450 |
| Message-ID | <pO2Bn-3Nh-81@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know. ------------------ From: Takashi Iwai <tiwai@suse.de> commit 4275554dccdf0afac07b2b638ba7456095629558 upstream. Dell E7450 [0128:062e] needs the same quirk as other E7xx models. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=100571 Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- sound/pci/hda/patch_realtek.c | 1 + 1 file changed, 1 insertion(+) --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -5109,6 +5109,7 @@ static const struct snd_pci_quirk alc269 SND_PCI_QUIRK(0x1028, 0x05f6, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x0615, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK), SND_PCI_QUIRK(0x1028, 0x0616, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK), + SND_PCI_QUIRK(0x1028, 0x062e, "Dell Latitude E7450", ALC292_FIXUP_DELL_E7X), SND_PCI_QUIRK(0x1028, 0x0638, "Dell Inspiron 5439", ALC290_FIXUP_MONO_SPEAKERS_HSJACK), SND_PCI_QUIRK(0x1028, 0x064a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x064b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:40 +0200 |
| Subject | [PATCH 4.1 39/65] mm: kmemleak: allow safe memory scanning during kmemleak disabling |
| Message-ID | <pO2Bn-3Nh-83@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Catalin Marinas <catalin.marinas@arm.com>
commit c5f3b1a51a591c18c8b33983908e7fdda6ae417e upstream.
The kmemleak scanning thread can run for minutes. Callbacks like
kmemleak_free() are allowed during this time, the race being taken care
of by the object->lock spinlock. Such lock also prevents a memory block
from being freed or unmapped while it is being scanned by blocking the
kmemleak_free() -> ... -> __delete_object() function until the lock is
released in scan_object().
When a kmemleak error occurs (e.g. it fails to allocate its metadata),
kmemleak_enabled is set and __delete_object() is no longer called on
freed objects. If kmemleak_scan is running at the same time,
kmemleak_free() no longer waits for the object scanning to complete,
allowing the corresponding memory block to be freed or unmapped (in the
case of vfree()). This leads to kmemleak_scan potentially triggering a
page fault.
This patch separates the kmemleak_free() enabling/disabling from the
overall kmemleak_enabled nob so that we can defer the disabling of the
object freeing tracking until the scanning thread completed. The
kmemleak_free_part() is deliberately ignored by this patch since this is
only called during boot before the scanning thread started.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: Vignesh Radhakrishnan <vigneshr@codeaurora.org>
Tested-by: Vignesh Radhakrishnan <vigneshr@codeaurora.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
mm/kmemleak.c | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
@@ -195,6 +195,8 @@ static struct kmem_cache *scan_area_cach
/* set if tracing memory operations is enabled */
static int kmemleak_enabled;
+/* same as above but only for the kmemleak_free() callback */
+static int kmemleak_free_enabled;
/* set in the late_initcall if there were no errors */
static int kmemleak_initialized;
/* enables or disables early logging of the memory operations */
@@ -942,7 +944,7 @@ void __ref kmemleak_free(const void *ptr
{
pr_debug("%s(0x%p)\n", __func__, ptr);
- if (kmemleak_enabled && ptr && !IS_ERR(ptr))
+ if (kmemleak_free_enabled && ptr && !IS_ERR(ptr))
delete_object_full((unsigned long)ptr);
else if (kmemleak_early_log)
log_early(KMEMLEAK_FREE, ptr, 0, 0);
@@ -982,7 +984,7 @@ void __ref kmemleak_free_percpu(const vo
pr_debug("%s(0x%p)\n", __func__, ptr);
- if (kmemleak_enabled && ptr && !IS_ERR(ptr))
+ if (kmemleak_free_enabled && ptr && !IS_ERR(ptr))
for_each_possible_cpu(cpu)
delete_object_full((unsigned long)per_cpu_ptr(ptr,
cpu));
@@ -1750,6 +1752,13 @@ static void kmemleak_do_cleanup(struct w
mutex_lock(&scan_mutex);
stop_scan_thread();
+ /*
+ * Once the scan thread has stopped, it is safe to no longer track
+ * object freeing. Ordering of the scan thread stopping and the memory
+ * accesses below is guaranteed by the kthread_stop() function.
+ */
+ kmemleak_free_enabled = 0;
+
if (!kmemleak_found_leaks)
__kmemleak_do_cleanup();
else
@@ -1776,6 +1785,8 @@ static void kmemleak_disable(void)
/* check whether it is too early for a kernel thread */
if (kmemleak_initialized)
schedule_work(&cleanup_work);
+ else
+ kmemleak_free_enabled = 0;
pr_info("Kernel memory leak detector disabled\n");
}
@@ -1840,8 +1851,10 @@ void __init kmemleak_init(void)
if (kmemleak_error) {
local_irq_restore(flags);
return;
- } else
+ } else {
kmemleak_enabled = 1;
+ kmemleak_free_enabled = 1;
+ }
local_irq_restore(flags);
/*
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:40 +0200 |
| Subject | [PATCH 4.1 04/65] kernfs: Add support for always empty directories. |
| Message-ID | <pO2Bn-3Nh-85@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: "Eric W. Biederman" <ebiederm@xmission.com>
commit ea015218f2f7ace2dad9cedd21ed95bdba2886d7 upstream.
Add a new function kernfs_create_empty_dir that can be used to create
directory that can not be modified.
Update the code to use make_empty_dir_inode when reporting a
permanently empty directory to the vfs.
Update the code to not allow adding to permanently empty directories.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
fs/kernfs/dir.c | 38 +++++++++++++++++++++++++++++++++++++-
fs/kernfs/inode.c | 2 ++
include/linux/kernfs.h | 3 +++
3 files changed, 42 insertions(+), 1 deletion(-)
--- a/fs/kernfs/dir.c
+++ b/fs/kernfs/dir.c
@@ -592,6 +592,9 @@ int kernfs_add_one(struct kernfs_node *k
goto out_unlock;
ret = -ENOENT;
+ if (parent->flags & KERNFS_EMPTY_DIR)
+ goto out_unlock;
+
if ((parent->flags & KERNFS_ACTIVATED) && !kernfs_active(parent))
goto out_unlock;
@@ -783,6 +786,38 @@ struct kernfs_node *kernfs_create_dir_ns
return ERR_PTR(rc);
}
+/**
+ * kernfs_create_empty_dir - create an always empty directory
+ * @parent: parent in which to create a new directory
+ * @name: name of the new directory
+ *
+ * Returns the created node on success, ERR_PTR() value on failure.
+ */
+struct kernfs_node *kernfs_create_empty_dir(struct kernfs_node *parent,
+ const char *name)
+{
+ struct kernfs_node *kn;
+ int rc;
+
+ /* allocate */
+ kn = kernfs_new_node(parent, name, S_IRUGO|S_IXUGO|S_IFDIR, KERNFS_DIR);
+ if (!kn)
+ return ERR_PTR(-ENOMEM);
+
+ kn->flags |= KERNFS_EMPTY_DIR;
+ kn->dir.root = parent->dir.root;
+ kn->ns = NULL;
+ kn->priv = NULL;
+
+ /* link in */
+ rc = kernfs_add_one(kn);
+ if (!rc)
+ return kn;
+
+ kernfs_put(kn);
+ return ERR_PTR(rc);
+}
+
static struct dentry *kernfs_iop_lookup(struct inode *dir,
struct dentry *dentry,
unsigned int flags)
@@ -1254,7 +1289,8 @@ int kernfs_rename_ns(struct kernfs_node
mutex_lock(&kernfs_mutex);
error = -ENOENT;
- if (!kernfs_active(kn) || !kernfs_active(new_parent))
+ if (!kernfs_active(kn) || !kernfs_active(new_parent) ||
+ (new_parent->flags & KERNFS_EMPTY_DIR))
goto out;
error = 0;
--- a/fs/kernfs/inode.c
+++ b/fs/kernfs/inode.c
@@ -296,6 +296,8 @@ static void kernfs_init_inode(struct ker
case KERNFS_DIR:
inode->i_op = &kernfs_dir_iops;
inode->i_fop = &kernfs_dir_fops;
+ if (kn->flags & KERNFS_EMPTY_DIR)
+ make_empty_dir_inode(inode);
break;
case KERNFS_FILE:
inode->i_size = kn->attr.size;
--- a/include/linux/kernfs.h
+++ b/include/linux/kernfs.h
@@ -45,6 +45,7 @@ enum kernfs_node_flag {
KERNFS_LOCKDEP = 0x0100,
KERNFS_SUICIDAL = 0x0400,
KERNFS_SUICIDED = 0x0800,
+ KERNFS_EMPTY_DIR = 0x1000,
};
/* @flags for kernfs_create_root() */
@@ -285,6 +286,8 @@ void kernfs_destroy_root(struct kernfs_r
struct kernfs_node *kernfs_create_dir_ns(struct kernfs_node *parent,
const char *name, umode_t mode,
void *priv, const void *ns);
+struct kernfs_node *kernfs_create_empty_dir(struct kernfs_node *parent,
+ const char *name);
struct kernfs_node *__kernfs_create_file(struct kernfs_node *parent,
const char *name,
umode_t mode, loff_t size,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:50 +0200 |
| Subject | [PATCH 4.1 15/65] ALSA: pcm: Fix pcm_class sysfs output |
| Message-ID | <pO2KZ-3Yv-1@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Takashi Iwai <tiwai@suse.de>
commit 60b93030b44a8c2cd015cebe5624fd7552ec67ec upstream.
The pcm_class sysfs of each PCM substream gives only "none" since the
recent code change to embed the struct device. Fix the code to point
directly to the embedded device object properly.
Fixes: ef46c7af93f9 ('ALSA: pcm: Embed struct device')
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
sound/core/pcm.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/sound/core/pcm.c
+++ b/sound/core/pcm.c
@@ -1027,7 +1027,8 @@ void snd_pcm_detach_substream(struct snd
static ssize_t show_pcm_class(struct device *dev,
struct device_attribute *attr, char *buf)
{
- struct snd_pcm *pcm;
+ struct snd_pcm_str *pstr = container_of(dev, struct snd_pcm_str, dev);
+ struct snd_pcm *pcm = pstr->pcm;
const char *str;
static const char *strs[SNDRV_PCM_CLASS_LAST + 1] = {
[SNDRV_PCM_CLASS_GENERIC] = "generic",
@@ -1036,8 +1037,7 @@ static ssize_t show_pcm_class(struct dev
[SNDRV_PCM_CLASS_DIGITIZER] = "digitizer",
};
- if (! (pcm = dev_get_drvdata(dev)) ||
- pcm->dev_class > SNDRV_PCM_CLASS_LAST)
+ if (pcm->dev_class > SNDRV_PCM_CLASS_LAST)
str = "none";
else
str = strs[pcm->dev_class];
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:50 +0200 |
| Subject | [PATCH 4.1 16/65] ALSA: hda - Fix Dock Headphone on Thinkpad X250 seen as a Line Out |
| Message-ID | <pO2KZ-3Yv-3@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: David Henningsson <david.henningsson@canonical.com>
commit ec56af67a10a0d82b79027878a81fce08d002d50 upstream.
Thinkpad X250, when attached to a dock, has two headphone outs but
no line out. Make sure we don't try to turn this into one headphone
and one line out (since that disables the headphone amp on the dock).
Alsa-info at http://www.alsa-project.org/db/?f=36f8764e1d782397928feec715d0ef90dfddd4c1
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
sound/pci/hda/patch_realtek.c | 7 +++++++
1 file changed, 7 insertions(+)
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4505,6 +4505,7 @@ enum {
ALC255_FIXUP_HEADSET_MODE_NO_HP_MIC,
ALC293_FIXUP_DELL1_MIC_NO_PRESENCE,
ALC292_FIXUP_TPT440_DOCK,
+ ALC292_FIXUP_TPT440_DOCK2,
ALC283_FIXUP_BXBT2807_MIC,
ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED,
ALC282_FIXUP_ASPIRE_V5_PINS,
@@ -4953,6 +4954,12 @@ static const struct hda_fixup alc269_fix
.chain_id = ALC269_FIXUP_HEADSET_MODE
},
[ALC292_FIXUP_TPT440_DOCK] = {
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc269_fixup_pincfg_no_hp_to_lineout,
+ .chained = true,
+ .chain_id = ALC292_FIXUP_TPT440_DOCK2
+ },
+ [ALC292_FIXUP_TPT440_DOCK2] = {
.type = HDA_FIXUP_PINS,
.v.pins = (const struct hda_pintbl[]) {
{ 0x16, 0x21211010 }, /* dock headphone */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:50 +0200 |
| Subject | [PATCH 4.1 17/65] ALSA: hda - set proper caps for newer AMD hda audio in KB/KV |
| Message-ID | <pO2KZ-3Yv-5@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alex Deucher <alexander.deucher@amd.com>
commit 650474fb737c3e0ea0f6ab8e43c2cd161080ce5c upstream.
Fixes audio problems on newer asics.
Noticed by: Kelly Anderson <kelly@xilka.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
sound/pci/hda/hda_intel.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2054,6 +2054,8 @@ static const struct pci_device_id azx_id
{ PCI_DEVICE(0x1022, 0x780d),
.driver_data = AZX_DRIVER_GENERIC | AZX_DCAPS_PRESET_ATI_SB },
/* ATI HDMI */
+ { PCI_DEVICE(0x1002, 0x1308),
+ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
{ PCI_DEVICE(0x1002, 0x793b),
.driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI },
{ PCI_DEVICE(0x1002, 0x7919),
@@ -2062,6 +2064,8 @@ static const struct pci_device_id azx_id
.driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI },
{ PCI_DEVICE(0x1002, 0x970f),
.driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI },
+ { PCI_DEVICE(0x1002, 0x9840),
+ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
{ PCI_DEVICE(0x1002, 0xaa00),
.driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI },
{ PCI_DEVICE(0x1002, 0xaa08),
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:50 +0200 |
| Subject | [PATCH 4.1 13/65] ipr: Increase default adapter init stage change timeout |
| Message-ID | <pO2KZ-3Yv-9@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know. ------------------ From: Brian King <brking@linux.vnet.ibm.com> commit 45c44b5ff9caa743ed9c2bfd44307c536c9caf1e upstream. Increase the default init stage change timeout from 15 seconds to 30 seconds. This resolves issues we have seen with some adapters not transitioning to the first init stage within 15 seconds, which results in adapter initialization failures. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <JBottomley@Odin.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/scsi/ipr.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/scsi/ipr.h +++ b/drivers/scsi/ipr.h @@ -272,7 +272,7 @@ #define IPR_RUNTIME_RESET 0x40000000 #define IPR_IPL_INIT_MIN_STAGE_TIME 5 -#define IPR_IPL_INIT_DEFAULT_STAGE_TIME 15 +#define IPR_IPL_INIT_DEFAULT_STAGE_TIME 30 #define IPR_IPL_INIT_STAGE_UNKNOWN 0x0 #define IPR_IPL_INIT_STAGE_TRANSOP 0xB0000000 #define IPR_IPL_INIT_STAGE_MASK 0xff000000 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:50 +0200 |
| Subject | [PATCH 4.1 11/65] gpio: rcar: Check for irq_set_irq_wake() failures |
| Message-ID | <pO2KZ-3Yv-11@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Geert Uytterhoeven <geert+renesas@glider.be>
commit 501ef0f95a57e7c32138733c468394a52244c85b upstream.
If an interrupt controller doesn't support wake-up configuration,
irq_set_irq_wake() returns an error code. Then any subsequent call
trying to deconfigure wake-up will cause an imbalance, and a warning
will be printed:
WARNING: CPU: 1 PID: 1341 at kernel/irq/manage.c:540 irq_set_irq_wake+0x9c/0xf8()
Unbalanced IRQ 26 wake disable
To fix this, refrain from any further parent interrupt controller
(de)configuration if irq_set_irq_wake() failed.
Alternative fixes would be:
- calling "gic_set_irqchip_flags(IRQCHIP_SKIP_SET_WAKE)" from the
platform code,
- setting "gic_chip.flags = IRQCHIP_SKIP_SET_WAKE" in the GIC driver
code,
but these were withheld as the GIC hardware doesn't really support
wake-up interrupts.
Fixes: ab82fa7da4dce5c7 ("gpio: rcar: Prevent module clock disable when wake-up is enabled")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/gpio/gpio-rcar.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
--- a/drivers/gpio/gpio-rcar.c
+++ b/drivers/gpio/gpio-rcar.c
@@ -177,8 +177,17 @@ static int gpio_rcar_irq_set_wake(struct
struct gpio_chip *gc = irq_data_get_irq_chip_data(d);
struct gpio_rcar_priv *p = container_of(gc, struct gpio_rcar_priv,
gpio_chip);
+ int error;
- irq_set_irq_wake(p->irq_parent, on);
+ if (p->irq_parent) {
+ error = irq_set_irq_wake(p->irq_parent, on);
+ if (error) {
+ dev_dbg(&p->pdev->dev,
+ "irq %u doesn't support irq_set_wake\n",
+ p->irq_parent);
+ p->irq_parent = 0;
+ }
+ }
if (!p->clk)
return 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:50 +0200 |
| Subject | [PATCH 4.1 14/65] Disable write buffering on Toshiba ToPIC95 |
| Message-ID | <pO2L0-3Yv-15@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ryan Underwood <nemesis@icequake.net>
commit 2fb22a8042fe96b4220843f79241c116d90922c4 upstream.
Disable write buffering on the Toshiba ToPIC95 if it is enabled by
somebody (it is not supposed to be a power-on default according to
the datasheet). On the ToPIC95, practically no 32-bit Cardbus card
will work under heavy load without locking up the whole system if
this is left enabled. I tried about a dozen. It does not affect
16-bit cards. This is similar to the O2 bugs in early controller
revisions it seems.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=55961
Signed-off-by: Ryan C. Underwood <nemesis@icequake.net>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/pcmcia/topic.h | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
--- a/drivers/pcmcia/topic.h
+++ b/drivers/pcmcia/topic.h
@@ -104,6 +104,9 @@
#define TOPIC_EXCA_IF_CONTROL 0x3e /* 8 bit */
#define TOPIC_EXCA_IFC_33V_ENA 0x01
+#define TOPIC_PCI_CFG_PPBCN 0x3e /* 16-bit */
+#define TOPIC_PCI_CFG_PPBCN_WBEN 0x0400
+
static void topic97_zoom_video(struct pcmcia_socket *sock, int onoff)
{
struct yenta_socket *socket = container_of(sock, struct yenta_socket, socket);
@@ -138,6 +141,7 @@ static int topic97_override(struct yenta
static int topic95_override(struct yenta_socket *socket)
{
u8 fctrl;
+ u16 ppbcn;
/* enable 3.3V support for 16bit cards */
fctrl = exca_readb(socket, TOPIC_EXCA_IF_CONTROL);
@@ -146,6 +150,18 @@ static int topic95_override(struct yenta
/* tell yenta to use exca registers to power 16bit cards */
socket->flags |= YENTA_16BIT_POWER_EXCA | YENTA_16BIT_POWER_DF;
+ /* Disable write buffers to prevent lockups under load with numerous
+ Cardbus cards, observed on Tecra 500CDT and reported elsewhere on the
+ net. This is not a power-on default according to the datasheet
+ but some BIOSes seem to set it. */
+ if (pci_read_config_word(socket->dev, TOPIC_PCI_CFG_PPBCN, &ppbcn) == 0
+ && socket->dev->revision <= 7
+ && (ppbcn & TOPIC_PCI_CFG_PPBCN_WBEN)) {
+ ppbcn &= ~TOPIC_PCI_CFG_PPBCN_WBEN;
+ pci_write_config_word(socket->dev, TOPIC_PCI_CFG_PPBCN, ppbcn);
+ dev_info(&socket->dev->dev, "Disabled ToPIC95 Cardbus write buffers.\n");
+ }
+
return 0;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:50 +0200 |
| Subject | [PATCH 4.1 12/65] rcu: Correctly handle non-empty Tiny RCU callback list with none ready |
| Message-ID | <pO2L0-3Yv-17@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
commit 6e91f8cb138625be96070b778d9ba71ce520ea7e upstream.
If, at the time __rcu_process_callbacks() is invoked, there are callbacks
in Tiny RCU's callback list, but none of them are ready to be invoked,
the current list-management code will knit the non-ready callbacks out
of the list. This can result in hangs and possibly worse. This commit
therefore inserts a check for there being no callbacks that can be
invoked immediately.
This bug is unlikely to occur -- you have to get a new callback between
the time rcu_sched_qs() or rcu_bh_qs() was called, but before we get to
__rcu_process_callbacks(). It was detected by the addition of RCU-bh
testing to rcutorture, which in turn was instigated by Iftekhar Ahmed's
mutation testing. Although this bug was made much more likely by
915e8a4fe45e (rcu: Remove fastpath from __rcu_process_callbacks()), this
did not cause the bug, but rather made it much more probable. That
said, it takes more than 40 hours of rcutorture testing, on average,
for this bug to appear, so this fix cannot be considered an emergency.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
kernel/rcu/tiny.c | 5 +++++
1 file changed, 5 insertions(+)
--- a/kernel/rcu/tiny.c
+++ b/kernel/rcu/tiny.c
@@ -170,6 +170,11 @@ static void __rcu_process_callbacks(stru
/* Move the ready-to-invoke callbacks to a local list. */
local_irq_save(flags);
+ if (rcp->donetail == &rcp->rcucblist) {
+ /* No callbacks ready, so just leave. */
+ local_irq_restore(flags);
+ return;
+ }
RCU_TRACE(trace_rcu_batch_start(rcp->name, 0, rcp->qlen, -1));
list = rcp->rcucblist;
rcp->rcucblist = *rcp->donetail;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:50 +0200 |
| Subject | [PATCH 4.1 18/65] ALSA: hda - Disable widget power-save for VIA codecs |
| Message-ID | <pO2L0-3Yv-21@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Takashi Iwai <tiwai@suse.de>
commit 735c75cf4d434862e38c01dcfb2ce8d2fcb9035f upstream.
The widget power-save that was enabled in 4.1 kernel seems resulting
in the silent output on VIA codecs by some reason. Some widgets get
wrong power states.
As a quick fix, turn this flag off while keeping power_down_unused
flag. This will bring back to the state of 4.0.x.
Fixes: 688b12cc3ca8 ('ALSA: hda - Use the new power control for VIA codecs')
Reported-and-tested-by: Harald Dunkel <harri@afaics.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
sound/pci/hda/patch_via.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -238,7 +238,9 @@ static int via_pin_power_ctl_get(struct
struct snd_ctl_elem_value *ucontrol)
{
struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
- ucontrol->value.enumerated.item[0] = codec->power_save_node;
+ struct via_spec *spec = codec->spec;
+
+ ucontrol->value.enumerated.item[0] = spec->gen.power_down_unused;
return 0;
}
@@ -249,9 +251,9 @@ static int via_pin_power_ctl_put(struct
struct via_spec *spec = codec->spec;
bool val = !!ucontrol->value.enumerated.item[0];
- if (val == codec->power_save_node)
+ if (val == spec->gen.power_down_unused)
return 0;
- codec->power_save_node = val;
+ /* codec->power_save_node = val; */ /* widget PM seems yet broken */
spec->gen.power_down_unused = val;
analog_low_current_mode(codec);
return 1;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2015-07-19 21:50 +0200 |
| Subject | [PATCH 4.1 10/65] gpio: crystalcove: set IRQCHIP_SKIP_SET_WAKE for the irqchip |
| Message-ID | <pO2L0-3Yv-23@gated-at.bofh.it> |
| In reply to | #1187854 |
4.1-stable review patch. If anyone has any objections, please let me know. ------------------ From: Aaron Lu <aaron.lu@intel.com> commit 61e749d7e1627d375156553ea0ae83c4f6bb5a9b upstream. The CrystalCove GPIO irqchip doesn't have irq_set_wake callback defined so we should set IRQCHIP_SKIP_SET_WAKE for it or it would cause an irq desc's wake_depth unbalanced warning during system resume phase from the gpio_keys driver, which is the driver for the power button of the ASUS T100 laptop. Signed-off-by: Aaron Lu <aaron.lu@intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/gpio/gpio-crystalcove.c | 1 + 1 file changed, 1 insertion(+) --- a/drivers/gpio/gpio-crystalcove.c +++ b/drivers/gpio/gpio-crystalcove.c @@ -255,6 +255,7 @@ static struct irq_chip crystalcove_irqch .irq_set_type = crystalcove_irq_type, .irq_bus_lock = crystalcove_bus_lock, .irq_bus_sync_unlock = crystalcove_bus_sync_unlock, + .flags = IRQCHIP_SKIP_SET_WAKE, }; static irqreturn_t crystalcove_gpio_irq_handler(int irq, void *data) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Shuah Khan <shuahkh@osg.samsung.com> |
|---|---|
| Date | 2015-07-20 19:20 +0200 |
| Message-ID | <pOmTo-7FW-1@gated-at.bofh.it> |
| In reply to | #1187854 |
On 07/19/2015 01:07 PM, Greg Kroah-Hartman wrote: > This is the start of the stable review cycle for the 4.1.3 release. > There are 65 patches in this series, all will be posted as a response > to this one. If anyone has any issues with these being applied, please > let me know. > > Responses should be made by Tue Jul 21 19:07:53 UTC 2015. > Anything received after that time might be too late. > > The whole patch series can be found in one patch at: > kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.1.3-rc1.gz > and the diffstat can be found below. > > thanks, > > greg k-h > Compiled and booted on my test system. No dmesg regressions. thanks, -- Shuah -- Shuah Khan Sr. Linux Kernel Developer Open Source Innovation Group Samsung Research America (Silicon Valley) shuahkh@osg.samsung.com | (970) 217-8978 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web