Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1187854 > unrolled thread

[PATCH 4.1 00/65] 4.1.3-stable review

Started byGreg Kroah-Hartman <gregkh@linuxfoundation.org>
First post2015-07-19 21:40 +0200
Last post2015-07-20 19:20 +0200
Articles 15 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [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

#1187854 — [PATCH 4.1 00/65] 4.1.3-stable review

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187855 — [PATCH 4.1 43/65] regmap: Fix possible shift overflow in regmap_field_init()

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187856 — [PATCH 4.1 22/65] ALSA: hda - Add a fixup for Dell E7450

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187857 — [PATCH 4.1 39/65] mm: kmemleak: allow safe memory scanning during kmemleak disabling

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187858 — [PATCH 4.1 04/65] kernfs: Add support for always empty directories.

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187859 — [PATCH 4.1 15/65] ALSA: pcm: Fix pcm_class sysfs output

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187860 — [PATCH 4.1 16/65] ALSA: hda - Fix Dock Headphone on Thinkpad X250 seen as a Line Out

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187861 — [PATCH 4.1 17/65] ALSA: hda - set proper caps for newer AMD hda audio in KB/KV

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187862 — [PATCH 4.1 13/65] ipr: Increase default adapter init stage change timeout

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187863 — [PATCH 4.1 11/65] gpio: rcar: Check for irq_set_irq_wake() failures

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187864 — [PATCH 4.1 14/65] Disable write buffering on Toshiba ToPIC95

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187865 — [PATCH 4.1 12/65] rcu: Correctly handle non-empty Tiny RCU callback list with none ready

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187867 — [PATCH 4.1 18/65] ALSA: hda - Disable widget power-save for VIA codecs

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1187868 — [PATCH 4.1 10/65] gpio: crystalcove: set IRQCHIP_SKIP_SET_WAKE for the irqchip

FromGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Date2015-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]


#1188383

FromShuah Khan <shuahkh@osg.samsung.com>
Date2015-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