All of lore.kernel.org
 help / color / mirror / Atom feed
* [ 00/72] 3.10.2-stable review
@ 2013-07-19  5:25 Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 01/72] CIFS use sensible file nlink values if unprovided Greg Kroah-Hartman
                   ` (75 more replies)
  0 siblings, 76 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, torvalds, akpm, stable

This is the start of the stable review cycle for the 3.10.2 release.
There are 72 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 Sun Jul 21 05:25:08 UTC 2013.
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/v3.0/stable-review/patch-3.10.2-rc1.gz
and the diffstat can be found below.

thanks,

greg k-h

-------------
Pseudo-Shortlog of commits:

Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Linux 3.10.2-rc1

Richard Genoud <richard.genoud@gmail.com>
    UBIFS: correct mount message

Steve French <smfrench@us.ibm.com>
    Handle big endianness in NTLM (ntlmv2) authentication

Wanpeng Li <liwanp@linux.vnet.ibm.com>
    mm/memory-hotplug: fix lowmem count overflow when offline pages

Michal Hocko <mhocko@suse.cz>
    memcg, kmem: fix reference count handling on the error path

Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    drivers/dma/pl330.c: fix locking in pl330_free_chan_resources()

Russell King <rmk+kernel@arm.linux.org.uk>
    ARM: mm: fix boot on SA1110 Assabet

Magnus Damm <damm@opensource.se>
    ARM: shmobile: emev2 GIO3 resource fix

Takanari Hayama <taki@igel.co.jp>
    ARM: shmobile: r8a73a4: Fix resources for SCIFB0

Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    ARM: dts: imx: cpus/cpu nodes dts updates

Jason Liu <r64343@freescale.com>
    ARM: 7778/1: smp_twd: twd_update_frequency need be run on all online CPUs

Marc Zyngier <Marc.Zyngier@arm.com>
    ARM: 7769/1: Cortex-A15: fix erratum 798181 implementation

Marc Zyngier <Marc.Zyngier@arm.com>
    ARM: 7768/1: prevent risks of out-of-bound access in ASID allocator

Marc Zyngier <Marc.Zyngier@arm.com>
    ARM: 7767/1: let the ASID allocator handle suspended animation

Jed Davis <jld@mozilla.com>
    ARM: 7765/1: perf: Record the user-mode PC in the call chain.

Theodore Ts'o <tytso@mit.edu>
    ext4: don't allow ext4_free_blocks() to fail due to ENOMEM

Theodore Ts'o <tytso@mit.edu>
    ext4: don't show usrquota/grpquota twice in /proc/mounts

Theodore Ts'o <tytso@mit.edu>
    ext4: fix ext4_get_group_number()

Jan Kara <jack@suse.cz>
    ext4: fix overflow when counting used blocks on 32-bit architectures

Jan Kara <jack@suse.cz>
    ext4: fix data offset overflow in ext4_xattr_fiemap() on 32-bit archs

Jan Kara <jack@suse.cz>
    ext4: fix overflows in SEEK_HOLE, SEEK_DATA implementations

Jan Kara <jack@suse.cz>
    ext4: fix data offset overflow on 32-bit archs in ext4_inline_data_fiemap()

Josef Bacik <jbacik@fusionio.com>
    Btrfs: only do the tree_mod_log_free_eb if this is our last ref

Josef Bacik <jbacik@fusionio.com>
    Btrfs: hold the tree mod lock in __tree_mod_log_rewind

Josef Bacik <jbacik@fusionio.com>
    Btrfs: fix estale with btrfs send

Bart Van Assche <bart.vanassche@gmail.com>
    timer: Fix jiffies wrap behavior of round_jiffies_common()

Shane Huang <shane.huang@amd.com>
    ahci: remove pmp link online check in FBS EH

Seth Heasley <seth.heasley@intel.com>
    ahci: AHCI-mode SATA patch for Intel Coleto Creek DeviceIDs

Shane Huang <shane.huang@amd.com>
    ahci: Add AMD CZ SATA device ID

Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    iwlwifi: pcie: wake the queue if stopped when being unmapped

Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    iwlwifi: pcie: fix race in queue unmapping

Jiang Liu <liuj97@gmail.com>
    PCI: Fix refcount issue in pci_create_root_bus() error recovery path

Xudong Hao <xudong.hao@intel.com>
    PCI: Finish SR-IOV VF setup before adding the device

Paul Clements <paul.clements@steeleye.com>
    nbd: correct disconnect behavior

Junxiao Bi <junxiao.bi@oracle.com>
    ocfs2: xattr: fix inlined xattr reflink

Chen Gang <gang.chen@asianux.com>
    arch: c6x: mm: include "asm/uaccess.h" to pass compiling

Dmitry Torokhov <rydberg@euromail.se>
    Input: bcm5974 - add support for the 2013 MacBook Air

Dmitry Torokhov <rydberg@euromail.se>
    HID: apple: Add support for the 2013 Macbook Air

Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    ACPI / PM: Fix corner case in acpi_bus_update_power()

Lv Zheng <lv.zheng@intel.com>
    ACPICA: Do not use extended sleep registers unless HW-reduced bit is set

Lan Tianyu <tianyu.lan@intel.com>
    ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan

Lan Tianyu <tianyu.lan@intel.com>
    ACPI: Add CMOS RTC Operation Region handler support

Axel Lin <axel.lin@ingics.com>
    drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq

Ben Hutchings <ben@decadent.org.uk>
    genirq: Fix can_request_irq() for IRQs without an action

Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    xen/pcifront: Deal with toolstack missing 'XenbusStateClosing' state.

Laszlo Ersek <lersek@redhat.com>
    xen/time: remove blocked time accounting from xen "clockchip"

Zach Bobroff <zacharyb@ami.com>
    x86, efi: retry ExitBootServices() on failure

Helge Deller <deller@gmx.de>
    parisc: optimize mtsp(0,sr) inline assembly

Helge Deller <deller@gmx.de>
    parisc: fix LMMIO mismatch between PAT length and MASK register

John David Anglin <dave.anglin@bell.net>
    parisc: Ensure volatile space register %sr1 is not clobbered

Christoph Lameter <cl@linux.com>
    slab: fix init_lock_keys

Helge Deller <deller@gmx.de>
    parisc: Fix gcc miscompilation in pa_memcpy()

Helge Deller <deller@gmx.de>
    parisc: document the shadow registers

Tejun Heo <tj@kernel.org>
    cgroup: fix RCU accesses to task->cgroups

Li Zefan <lizefan@huawei.com>
    cgroup: fix umount vs cgroup_event_remove() race

Joachim Eastwood <manabian@gmail.com>
    pcmcia: at91_cf: fix gpio_get_value in at91_cf_get_status

Jason Wang <jasowang@redhat.com>
    drivers: hv: switch to use mb() instead of smp_mb()

George Cherian <george.cherian@ti.com>
    usb: host: xhci-plat: release mem region while removing module

Mathias Nyman <mathias.nyman@linux.intel.com>
    xhci: check for failed dma pool allocation

Roger Quadros <rogerq@ti.com>
    USB: ehci-omap: Tweak PHY initialization sequence

UCHINO Satoshi <satoshi.uchino@toshiba.co.jp>
    usb: gadget: f_mass_storage: add missing memory barrier for thread_wakeup_needed

Dan Williams <dcbw@redhat.com>
    USB: option,qcserial: move Novatel Gobi1K IDs to qcserial

Darren Hart <dvhart@linux.intel.com>
    pch_uart: Add uart_clk selection for the MinnowBoard

Theodore Ts'o <tytso@mit.edu>
    ext4: check error return from ext4_write_inline_data_end()

Al Viro <viro@ZenIV.linux.org.uk>
    ext3,ext4: don't mess with dir_file->f_pos in htree_dirblock_to_tree()

Maarten ter Huurne <maarten@treewalker.org>
    ext4: fix corruption when online resizing a fs with 1K block size

Theodore Ts'o <tytso@mit.edu>
    jbd2: fix theoretical race in jbd2__journal_restart

Theodore Ts'o <tytso@mit.edu>
    jbd2: move superblock checksum calculation to jbd2_write_superblock()

Larry Finger <Larry.Finger@lwfinger.net>
    rtlwifi: rtl8192cu: Fix duplicate if test

Larry Finger <Larry.Finger@lwfinger.net>
    rtlwifi: rtl8723ae: Fix typo in firmware names

Larry Finger <Larry.Finger@lwfinger.net>
    rtlwifi: rtl8192cu: Add new USB ID for TP-Link TL-WN8200ND

Pavel Shilovsky <pshilovsky@samba.org>
    CIFS: Fix a deadlock when a file is reopened

Steve French <smfrench@gmail.com>
    CIFS use sensible file nlink values if unprovided


-------------

Diffstat:

 Documentation/parisc/registers              |  8 +++
 Makefile                                    |  4 +-
 arch/arm/boot/dts/imx23.dtsi                |  8 ++-
 arch/arm/boot/dts/imx28.dtsi                |  8 ++-
 arch/arm/boot/dts/imx6dl.dtsi               |  2 +
 arch/arm/boot/dts/imx6q.dtsi                |  4 ++
 arch/arm/include/asm/mmu_context.h          | 10 +++-
 arch/arm/kernel/perf_event.c                |  1 +
 arch/arm/kernel/smp_tlb.c                   | 18 +-----
 arch/arm/kernel/smp_twd.c                   |  2 +-
 arch/arm/mach-shmobile/setup-emev2.c        |  8 +--
 arch/arm/mach-shmobile/setup-r8a73a4.c      |  2 +-
 arch/arm/mm/context.c                       | 55 +++++++++++++----
 arch/arm/mm/init.c                          |  2 +-
 arch/c6x/mm/init.c                          |  1 +
 arch/parisc/include/asm/special_insns.h     |  9 ++-
 arch/parisc/include/asm/tlbflush.h          |  5 +-
 arch/parisc/kernel/cache.c                  |  2 +-
 arch/parisc/lib/memcpy.c                    | 79 ++++++++++++++++---------
 arch/x86/boot/compressed/eboot.c            | 20 ++++++-
 arch/x86/xen/time.c                         | 17 +-----
 drivers/acpi/Makefile                       |  1 +
 drivers/acpi/acpi_cmos_rtc.c                | 92 +++++++++++++++++++++++++++++
 drivers/acpi/acpica/hwxfsleep.c             |  8 ++-
 drivers/acpi/device_pm.c                    | 23 ++++++--
 drivers/acpi/ec.c                           |  4 ++
 drivers/acpi/internal.h                     |  5 ++
 drivers/acpi/scan.c                         |  1 +
 drivers/ata/ahci.c                          |  2 +
 drivers/ata/libahci.c                       |  3 +-
 drivers/block/nbd.c                         |  7 ++-
 drivers/dma/pl330.c                         |  4 +-
 drivers/hid/hid-apple.c                     |  6 ++
 drivers/hid/hid-core.c                      |  6 ++
 drivers/hid/hid-ids.h                       |  3 +
 drivers/hv/ring_buffer.c                    | 10 ++--
 drivers/hv/vmbus_drv.c                      |  2 +-
 drivers/input/mouse/bcm5974.c               | 36 ++++++++++-
 drivers/net/wireless/iwlwifi/pcie/tx.c      | 13 ++++
 drivers/net/wireless/rtlwifi/rtl8192cu/rf.c |  2 +-
 drivers/net/wireless/rtlwifi/rtl8192cu/sw.c |  1 +
 drivers/net/wireless/rtlwifi/rtl8723ae/sw.c |  6 +-
 drivers/parisc/lba_pci.c                    | 56 ++++++++++++++++++
 drivers/pci/iov.c                           |  5 +-
 drivers/pci/probe.c                         | 14 +++--
 drivers/pci/quirks.c                        |  2 +
 drivers/pci/xen-pcifront.c                  |  7 +--
 drivers/pcmcia/at91_cf.c                    |  4 +-
 drivers/rtc/rtc-rv3029c2.c                  |  2 +-
 drivers/tty/serial/pch_uart.c               |  5 ++
 drivers/usb/gadget/f_mass_storage.c         |  2 +
 drivers/usb/host/ehci-omap.c                | 11 +++-
 drivers/usb/host/xhci-mem.c                 |  4 ++
 drivers/usb/host/xhci-plat.c                |  1 +
 drivers/usb/serial/option.c                 |  4 --
 drivers/usb/serial/qcserial.c               |  8 ++-
 fs/btrfs/ctree.c                            | 13 ++--
 fs/btrfs/send.c                             | 35 +++++++++++
 fs/cifs/cifs_unicode.h                      |  8 +--
 fs/cifs/cifsencrypt.c                       |  6 +-
 fs/cifs/file.c                              |  9 ++-
 fs/cifs/inode.c                             |  5 ++
 fs/ext3/namei.c                             |  7 +--
 fs/ext4/balloc.c                            |  4 +-
 fs/ext4/extents.c                           |  4 +-
 fs/ext4/file.c                              | 14 ++---
 fs/ext4/inline.c                            |  2 +-
 fs/ext4/inode.c                             | 15 +++--
 fs/ext4/mballoc.c                           | 11 +++-
 fs/ext4/namei.c                             |  7 +--
 fs/ext4/resize.c                            |  4 +-
 fs/ext4/super.c                             | 14 ++---
 fs/jbd2/journal.c                           |  3 +-
 fs/jbd2/transaction.c                       |  2 +-
 fs/ocfs2/xattr.c                            | 10 ++++
 fs/ubifs/super.c                            |  2 +-
 include/linux/cgroup.h                      | 58 ++++++++++++++----
 include/linux/nbd.h                         |  1 +
 kernel/cgroup.c                             | 25 ++++++--
 kernel/irq/manage.c                         |  6 +-
 kernel/timer.c                              |  8 ++-
 mm/memcontrol.c                             |  8 ---
 mm/page_alloc.c                             |  4 ++
 mm/slab.c                                   |  2 +-
 84 files changed, 676 insertions(+), 236 deletions(-)



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 01/72] CIFS use sensible file nlink values if unprovided
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 02/72] CIFS: Fix a deadlock when a file is reopened Greg Kroah-Hartman
                   ` (74 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, David Disseldorp, Steve French

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Steve French <smfrench@gmail.com>

commit 6658b9f70ebca5fc0795b1d6d733996af1e2caa7 upstream.

Certain servers may not set the NumberOfLinks field in query file/path
info responses. In such a case, cifs_inode_needs_reval() assumes that
all regular files are hardlinks and triggers revalidation, leading to
excessive and unnecessary network traffic.

This change hardcodes cf_nlink (and subsequently i_nlink) when not
returned by the server, similar to what already occurs in cifs_mkdir().

Signed-off-by: David Disseldorp <ddiss@suse.de>
Signed-off-by: Steve French <smfrench@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index 20efd81..449b6cf 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -558,6 +558,11 @@ cifs_all_info_to_fattr(struct cifs_fattr *fattr, FILE_ALL_INFO *info,
 			fattr->cf_mode &= ~(S_IWUGO);
 
 		fattr->cf_nlink = le32_to_cpu(info->NumberOfLinks);
+		if (fattr->cf_nlink < 1) {
+			cifs_dbg(1, "replacing bogus file nlink value %u\n",
+				fattr->cf_nlink);
+			fattr->cf_nlink = 1;
+		}
 	}
 
 	fattr->cf_uid = cifs_sb->mnt_uid;



^ permalink raw reply related	[flat|nested] 90+ messages in thread

* [ 02/72] CIFS: Fix a deadlock when a file is reopened
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 01/72] CIFS use sensible file nlink values if unprovided Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 03/72] rtlwifi: rtl8192cu: Add new USB ID for TP-Link TL-WN8200ND Greg Kroah-Hartman
                   ` (73 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Pavel Shilovsky, Jeff Layton, Steve French

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Pavel Shilovsky <pshilovsky@samba.org>

commit 689c3db4d57a73bee6c5ad7797fce7b54d32a87c upstream.

If we request reading or writing on a file that needs to be
reopened, it causes the deadlock: we are already holding rw
semaphore for reading and then we try to acquire it for writing
in cifs_relock_file. Fix this by acquiring the semaphore for
reading in cifs_relock_file due to we don't make any changes in
locks and don't need a write access.

Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org>
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/cifs/file.c |    9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -553,11 +553,10 @@ cifs_relock_file(struct cifsFileInfo *cf
 	struct cifs_tcon *tcon = tlink_tcon(cfile->tlink);
 	int rc = 0;
 
-	/* we are going to update can_cache_brlcks here - need a write access */
-	down_write(&cinode->lock_sem);
+	down_read(&cinode->lock_sem);
 	if (cinode->can_cache_brlcks) {
-		/* can cache locks - no need to push them */
-		up_write(&cinode->lock_sem);
+		/* can cache locks - no need to relock */
+		up_read(&cinode->lock_sem);
 		return rc;
 	}
 
@@ -568,7 +567,7 @@ cifs_relock_file(struct cifsFileInfo *cf
 	else
 		rc = tcon->ses->server->ops->push_mand_locks(cfile);
 
-	up_write(&cinode->lock_sem);
+	up_read(&cinode->lock_sem);
 	return rc;
 }
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 03/72] rtlwifi: rtl8192cu: Add new USB ID for TP-Link TL-WN8200ND
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 01/72] CIFS use sensible file nlink values if unprovided Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 02/72] CIFS: Fix a deadlock when a file is reopened Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 04/72] rtlwifi: rtl8723ae: Fix typo in firmware names Greg Kroah-Hartman
                   ` (72 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Tobias Kluge, Larry Finger, John W. Linville

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Larry Finger <Larry.Finger@lwfinger.net>

commit c4d827c5ccc3a49227dbf9d4b248a2e86f388023 upstream.

This is a new device for this driver.

Reported-by: Tobias Kluge <zielscheibe@gmail.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Tobias Kluge <zielscheibe@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/wireless/rtlwifi/rtl8192cu/sw.c |    1 +
 1 file changed, 1 insertion(+)

--- a/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
@@ -359,6 +359,7 @@ static struct usb_device_id rtl8192c_usb
 	{RTL_USB_DEVICE(0x2001, 0x330a, rtl92cu_hal_cfg)}, /*D-Link-Alpha*/
 	{RTL_USB_DEVICE(0x2019, 0xab2b, rtl92cu_hal_cfg)}, /*Planex -Abocom*/
 	{RTL_USB_DEVICE(0x20f4, 0x624d, rtl92cu_hal_cfg)}, /*TRENDNet*/
+	{RTL_USB_DEVICE(0x2357, 0x0100, rtl92cu_hal_cfg)}, /*TP-Link WN8200ND*/
 	{RTL_USB_DEVICE(0x7392, 0x7822, rtl92cu_hal_cfg)}, /*Edimax -Edimax*/
 	{}
 };



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 04/72] rtlwifi: rtl8723ae: Fix typo in firmware names
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (2 preceding siblings ...)
  2013-07-19  5:25 ` [ 03/72] rtlwifi: rtl8192cu: Add new USB ID for TP-Link TL-WN8200ND Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 05/72] rtlwifi: rtl8192cu: Fix duplicate if test Greg Kroah-Hartman
                   ` (71 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Larry Finger, Axel Köllhofer,
	John W. Linville

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Larry Finger <Larry.Finger@lwfinger.net>

commit 73e088ed17c2880a963cc760a78af8a06d4a4d9d upstream.

The driver loads its firmware from files rtlwifi/rtl8723fw*.bin, but the
MODULE_FIRMWARE macros refer to rtlwifi/RTL8723aefw*.bin.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Reported-by: Axel Köllhofer <AxelKoellhofer@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/wireless/rtlwifi/rtl8723ae/sw.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8723ae/sw.c
@@ -251,7 +251,7 @@ static struct rtl_hal_cfg rtl8723ae_hal_
 	.bar_id = 2,
 	.write_readback = true,
 	.name = "rtl8723ae_pci",
-	.fw_name = "rtlwifi/rtl8723aefw.bin",
+	.fw_name = "rtlwifi/rtl8723fw.bin",
 	.ops = &rtl8723ae_hal_ops,
 	.mod_params = &rtl8723ae_mod_params,
 	.maps[SYS_ISO_CTRL] = REG_SYS_ISO_CTRL,
@@ -353,8 +353,8 @@ MODULE_AUTHOR("Realtek WlanFAE	<wlanfae@
 MODULE_AUTHOR("Larry Finger	<Larry.Finger@lwfinger.net>");
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Realtek 8723E 802.11n PCI wireless");
-MODULE_FIRMWARE("rtlwifi/rtl8723aefw.bin");
-MODULE_FIRMWARE("rtlwifi/rtl8723aefw_B.bin");
+MODULE_FIRMWARE("rtlwifi/rtl8723fw.bin");
+MODULE_FIRMWARE("rtlwifi/rtl8723fw_B.bin");
 
 module_param_named(swenc, rtl8723ae_mod_params.sw_crypto, bool, 0444);
 module_param_named(debug, rtl8723ae_mod_params.debug, int, 0444);



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 05/72] rtlwifi: rtl8192cu: Fix duplicate if test
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (3 preceding siblings ...)
  2013-07-19  5:25 ` [ 04/72] rtlwifi: rtl8723ae: Fix typo in firmware names Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 06/72] jbd2: move superblock checksum calculation to jbd2_write_superblock() Greg Kroah-Hartman
                   ` (70 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Larry Finger, John W. Linville

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Larry Finger <Larry.Finger@lwfinger.net>

commit 10d0b9030a3f86e1e26c710c7580524d7787d688 upstream.

A typo causes routine rtl92cu_phy_rf6052_set_cck_txpower() to test the
same condition twice. The problem was found using cppcheck-1.49, and the
proper fix was verified against the pre-mac80211 version of the code.

This patch was originally included as commit 1288aa4, but was accidentally
reverted in a later patch.

Reported-by: David Binderman <dcb314@hotmail.com> [original report]
Reported-by: Andrea Morello <andrea.merello@gmail.com> [report of accidental reversion]
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/wireless/rtlwifi/rtl8192cu/rf.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/net/wireless/rtlwifi/rtl8192cu/rf.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192cu/rf.c
@@ -104,7 +104,7 @@ void rtl92cu_phy_rf6052_set_cck_txpower(
 			tx_agc[RF90_PATH_A] = 0x10101010;
 			tx_agc[RF90_PATH_B] = 0x10101010;
 		} else if (rtlpriv->dm.dynamic_txhighpower_lvl ==
-			   TXHIGHPWRLEVEL_LEVEL1) {
+			   TXHIGHPWRLEVEL_LEVEL2) {
 			tx_agc[RF90_PATH_A] = 0x00000000;
 			tx_agc[RF90_PATH_B] = 0x00000000;
 		} else{



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 06/72] jbd2: move superblock checksum calculation to jbd2_write_superblock()
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (4 preceding siblings ...)
  2013-07-19  5:25 ` [ 05/72] rtlwifi: rtl8192cu: Fix duplicate if test Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 07/72] jbd2: fix theoretical race in jbd2__journal_restart Greg Kroah-Hartman
                   ` (69 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Theodore Tso, Darrick J. Wong

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Theodore Ts'o <tytso@mit.edu>

commit fe52d17cdd343ac43c85cf72940a58865b9d3bfb upstream.

Some of the functions which modify the jbd2 superblock were not
updating the checksum before calling jbd2_write_superblock().  Move
the call to jbd2_superblock_csum_set() to jbd2_write_superblock(), so
that the checksum is calculated consistently.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/jbd2/journal.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -1318,6 +1318,7 @@ static int journal_reset(journal_t *jour
 static void jbd2_write_superblock(journal_t *journal, int write_op)
 {
 	struct buffer_head *bh = journal->j_sb_buffer;
+	journal_superblock_t *sb = journal->j_superblock;
 	int ret;
 
 	trace_jbd2_write_superblock(journal, write_op);
@@ -1339,6 +1340,7 @@ static void jbd2_write_superblock(journa
 		clear_buffer_write_io_error(bh);
 		set_buffer_uptodate(bh);
 	}
+	jbd2_superblock_csum_set(journal, sb);
 	get_bh(bh);
 	bh->b_end_io = end_buffer_write_sync;
 	ret = submit_bh(write_op, bh);
@@ -1435,7 +1437,6 @@ void jbd2_journal_update_sb_errno(journa
 	jbd_debug(1, "JBD2: updating superblock error (errno %d)\n",
 		  journal->j_errno);
 	sb->s_errno    = cpu_to_be32(journal->j_errno);
-	jbd2_superblock_csum_set(journal, sb);
 	read_unlock(&journal->j_state_lock);
 
 	jbd2_write_superblock(journal, WRITE_SYNC);



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 07/72] jbd2: fix theoretical race in jbd2__journal_restart
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (5 preceding siblings ...)
  2013-07-19  5:25 ` [ 06/72] jbd2: move superblock checksum calculation to jbd2_write_superblock() Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 08/72] ext4: fix corruption when online resizing a fs with 1K block size Greg Kroah-Hartman
                   ` (68 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Theodore Tso

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Theodore Ts'o <tytso@mit.edu>

commit 39c04153fda8c32e85b51c96eb5511a326ad7609 upstream.

Once we decrement transaction->t_updates, if this is the last handle
holding the transaction from closing, and once we release the
t_handle_lock spinlock, it's possible for the transaction to commit
and be released.  In practice with normal kernels, this probably won't
happen, since the commit happens in a separate kernel thread and it's
unlikely this could all happen within the space of a few CPU cycles.

On the other hand, with a real-time kernel, this could potentially
happen, so save the tid found in transaction->t_tid before we release
t_handle_lock.  It would require an insane configuration, such as one
where the jbd2 thread was set to a very high real-time priority,
perhaps because a high priority real-time thread is trying to read or
write to a file system.  But some people who use real-time kernels
have been known to do insane things, including controlling
laser-wielding industrial robots.  :-)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/jbd2/transaction.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/fs/jbd2/transaction.c
+++ b/fs/jbd2/transaction.c
@@ -517,10 +517,10 @@ int jbd2__journal_restart(handle_t *hand
 		   &transaction->t_outstanding_credits);
 	if (atomic_dec_and_test(&transaction->t_updates))
 		wake_up(&journal->j_wait_updates);
+	tid = transaction->t_tid;
 	spin_unlock(&transaction->t_handle_lock);
 
 	jbd_debug(2, "restarting handle %p\n", handle);
-	tid = transaction->t_tid;
 	need_to_start = !tid_geq(journal->j_commit_request, tid);
 	read_unlock(&journal->j_state_lock);
 	if (need_to_start)



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 08/72] ext4: fix corruption when online resizing a fs with 1K block size
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (6 preceding siblings ...)
  2013-07-19  5:25 ` [ 07/72] jbd2: fix theoretical race in jbd2__journal_restart Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 09/72] ext3,ext4: dont mess with dir_file->f_pos in htree_dirblock_to_tree() Greg Kroah-Hartman
                   ` (67 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Maarten ter Huurne, Theodore Tso, Jan Kara

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Maarten ter Huurne <maarten@treewalker.org>

commit 6ca792edc13c409e8d4eb9001e048264c6a2eb64 upstream.

Subtracting the number of the first data block places the superblock
backups one block too early, corrupting the file system. When the block
size is larger than 1K, the first data block is 0, so the subtraction
has no effect and no corruption occurs.

Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ext4/resize.c |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -1656,12 +1656,10 @@ errout:
 		err = err2;
 
 	if (!err) {
-		ext4_fsblk_t first_block;
-		first_block = ext4_group_first_block_no(sb, 0);
 		if (test_opt(sb, DEBUG))
 			printk(KERN_DEBUG "EXT4-fs: extended group to %llu "
 			       "blocks\n", ext4_blocks_count(es));
-		update_backups(sb, EXT4_SB(sb)->s_sbh->b_blocknr - first_block,
+		update_backups(sb, EXT4_SB(sb)->s_sbh->b_blocknr,
 			       (char *)es, sizeof(struct ext4_super_block), 0);
 	}
 	return err;



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 09/72] ext3,ext4: dont mess with dir_file->f_pos in htree_dirblock_to_tree()
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (7 preceding siblings ...)
  2013-07-19  5:25 ` [ 08/72] ext4: fix corruption when online resizing a fs with 1K block size Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 10/72] ext4: check error return from ext4_write_inline_data_end() Greg Kroah-Hartman
                   ` (66 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Al Viro, Theodore Tso

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Al Viro <viro@ZenIV.linux.org.uk>

commit 64cb927371cd2ec43758d8a094a003d27bc3d0dc upstream.

Both ext3 and ext4 htree_dirblock_to_tree() is just filling the
in-core rbtree for use by call_filldir().  All updates of ->f_pos are
done by the latter; bumping it here (on error) is obviously wrong - we
might very well have it nowhere near the block we'd found an error in.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ext3/namei.c |    7 ++-----
 fs/ext4/namei.c |    7 ++-----
 2 files changed, 4 insertions(+), 10 deletions(-)

--- a/fs/ext3/namei.c
+++ b/fs/ext3/namei.c
@@ -576,11 +576,8 @@ static int htree_dirblock_to_tree(struct
 		if (!ext3_check_dir_entry("htree_dirblock_to_tree", dir, de, bh,
 					(block<<EXT3_BLOCK_SIZE_BITS(dir->i_sb))
 						+((char *)de - bh->b_data))) {
-			/* On error, skip the f_pos to the next block. */
-			dir_file->f_pos = (dir_file->f_pos |
-					(dir->i_sb->s_blocksize - 1)) + 1;
-			brelse (bh);
-			return count;
+			/* silently ignore the rest of the block */
+			break;
 		}
 		ext3fs_dirhash(de->name, de->name_len, hinfo);
 		if ((hinfo->hash < start_hash) ||
--- a/fs/ext4/namei.c
+++ b/fs/ext4/namei.c
@@ -918,11 +918,8 @@ static int htree_dirblock_to_tree(struct
 				bh->b_data, bh->b_size,
 				(block<<EXT4_BLOCK_SIZE_BITS(dir->i_sb))
 					 + ((char *)de - bh->b_data))) {
-			/* On error, skip the f_pos to the next block. */
-			dir_file->f_pos = (dir_file->f_pos |
-					(dir->i_sb->s_blocksize - 1)) + 1;
-			brelse(bh);
-			return count;
+			/* silently ignore the rest of the block */
+			break;
 		}
 		ext4fs_dirhash(de->name, de->name_len, hinfo);
 		if ((hinfo->hash < start_hash) ||



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 10/72] ext4: check error return from ext4_write_inline_data_end()
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (8 preceding siblings ...)
  2013-07-19  5:25 ` [ 09/72] ext3,ext4: dont mess with dir_file->f_pos in htree_dirblock_to_tree() Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 11/72] pch_uart: Add uart_clk selection for the MinnowBoard Greg Kroah-Hartman
                   ` (65 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Theodore Tso, Zheng Liu

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Theodore Ts'o <tytso@mit.edu>

commit 42c832debbbf819f6c4ad8601baa559c44105ba4 upstream.

The function ext4_write_inline_data_end() can return an error.  So we
need to assign it to a signed integer variable to check for an error
return (since copied is an unsigned int).

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ext4/inode.c |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -1118,10 +1118,13 @@ static int ext4_write_end(struct file *f
 		}
 	}
 
-	if (ext4_has_inline_data(inode))
-		copied = ext4_write_inline_data_end(inode, pos, len,
-						    copied, page);
-	else
+	if (ext4_has_inline_data(inode)) {
+		ret = ext4_write_inline_data_end(inode, pos, len,
+						 copied, page);
+		if (ret < 0)
+			goto errout;
+		copied = ret;
+	} else
 		copied = block_write_end(file, mapping, pos,
 					 len, copied, page, fsdata);
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 11/72] pch_uart: Add uart_clk selection for the MinnowBoard
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (9 preceding siblings ...)
  2013-07-19  5:25 ` [ 10/72] ext4: check error return from ext4_write_inline_data_end() Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 12/72] USB: option,qcserial: move Novatel Gobi1K IDs to qcserial Greg Kroah-Hartman
                   ` (64 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Darren Hart, Jiri Slaby,
	H. Peter Anvin, Peter Waskiewicz, Andy Shevchenko

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Darren Hart <dvhart@linux.intel.com>

commit 29692d05647cb7ecea56242241f77291d5624b95 upstream.

Use DMI_BOARD_NAME to determine if we are running on a MinnowBoard and
set the uart clock to 50MHz if so. This removes the need to pass the
user_uartclk to the kernel at boot time.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Peter Waskiewicz <peter.p.waskiewicz.jr@intel.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/tty/serial/pch_uart.c |    5 +++++
 1 file changed, 5 insertions(+)

--- a/drivers/tty/serial/pch_uart.c
+++ b/drivers/tty/serial/pch_uart.c
@@ -217,6 +217,7 @@ enum {
 #define FRI2_64_UARTCLK  64000000 /*  64.0000 MHz */
 #define FRI2_48_UARTCLK  48000000 /*  48.0000 MHz */
 #define NTC1_UARTCLK     64000000 /*  64.0000 MHz */
+#define MINNOW_UARTCLK   50000000 /*  50.0000 MHz */
 
 struct pch_uart_buffer {
 	unsigned char *buf;
@@ -398,6 +399,10 @@ static int pch_uart_get_uartclk(void)
 		    strstr(cmp, "nanoETXexpress-TT")))
 		return NTC1_UARTCLK;
 
+	cmp = dmi_get_system_info(DMI_BOARD_NAME);
+	if (cmp && strstr(cmp, "MinnowBoard"))
+		return MINNOW_UARTCLK;
+
 	return DEFAULT_UARTCLK;
 }
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 12/72] USB: option,qcserial: move Novatel Gobi1K IDs to qcserial
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (10 preceding siblings ...)
  2013-07-19  5:25 ` [ 11/72] pch_uart: Add uart_clk selection for the MinnowBoard Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 13/72] usb: gadget: f_mass_storage: add missing memory barrier for thread_wakeup_needed Greg Kroah-Hartman
                   ` (63 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Dan Williams

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Dan Williams <dcbw@redhat.com>

commit a254810a86aaaac4ac6ba44fa934558b042a17a7 upstream.

These devices are all Gobi1K devices (according to the Windows INF
files) and should be handled by qcserial instead of option.  Their
network port is handled by qmi_wwan.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/usb/serial/option.c   |    4 ----
 drivers/usb/serial/qcserial.c |    8 +++++++-
 2 files changed, 7 insertions(+), 5 deletions(-)

--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -159,8 +159,6 @@ static void option_instat_callback(struc
 #define NOVATELWIRELESS_PRODUCT_HSPA_EMBEDDED_FULLSPEED	0x9000
 #define NOVATELWIRELESS_PRODUCT_HSPA_EMBEDDED_HIGHSPEED	0x9001
 #define NOVATELWIRELESS_PRODUCT_E362		0x9010
-#define NOVATELWIRELESS_PRODUCT_G1		0xA001
-#define NOVATELWIRELESS_PRODUCT_G1_M		0xA002
 #define NOVATELWIRELESS_PRODUCT_G2		0xA010
 #define NOVATELWIRELESS_PRODUCT_MC551		0xB001
 
@@ -730,8 +728,6 @@ static const struct usb_device_id option
 	{ USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC547) },
 	{ USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EVDO_EMBEDDED_HIGHSPEED) },
 	{ USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_HSPA_EMBEDDED_HIGHSPEED) },
-	{ USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G1) },
-	{ USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G1_M) },
 	{ USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G2) },
 	/* Novatel Ovation MC551 a.k.a. Verizon USB551L */
 	{ USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC551, 0xff, 0xff, 0xff) },
--- a/drivers/usb/serial/qcserial.c
+++ b/drivers/usb/serial/qcserial.c
@@ -35,7 +35,13 @@ static const struct usb_device_id id_tab
 	{DEVICE_G1K(0x04da, 0x250c)},	/* Panasonic Gobi QDL device */
 	{DEVICE_G1K(0x413c, 0x8172)},	/* Dell Gobi Modem device */
 	{DEVICE_G1K(0x413c, 0x8171)},	/* Dell Gobi QDL device */
-	{DEVICE_G1K(0x1410, 0xa001)},	/* Novatel Gobi Modem device */
+	{DEVICE_G1K(0x1410, 0xa001)},	/* Novatel/Verizon USB-1000 */
+	{DEVICE_G1K(0x1410, 0xa002)},	/* Novatel Gobi Modem device */
+	{DEVICE_G1K(0x1410, 0xa003)},	/* Novatel Gobi Modem device */
+	{DEVICE_G1K(0x1410, 0xa004)},	/* Novatel Gobi Modem device */
+	{DEVICE_G1K(0x1410, 0xa005)},	/* Novatel Gobi Modem device */
+	{DEVICE_G1K(0x1410, 0xa006)},	/* Novatel Gobi Modem device */
+	{DEVICE_G1K(0x1410, 0xa007)},	/* Novatel Gobi Modem device */
 	{DEVICE_G1K(0x1410, 0xa008)},	/* Novatel Gobi QDL device */
 	{DEVICE_G1K(0x0b05, 0x1776)},	/* Asus Gobi Modem device */
 	{DEVICE_G1K(0x0b05, 0x1774)},	/* Asus Gobi QDL device */



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 13/72] usb: gadget: f_mass_storage: add missing memory barrier for thread_wakeup_needed
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (11 preceding siblings ...)
  2013-07-19  5:25 ` [ 12/72] USB: option,qcserial: move Novatel Gobi1K IDs to qcserial Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 14/72] USB: ehci-omap: Tweak PHY initialization sequence Greg Kroah-Hartman
                   ` (62 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, UCHINO Satoshi, Michal Nazarewicz,
	Felipe Balbi

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: UCHINO Satoshi <satoshi.uchino@toshiba.co.jp>

commit d68c277b501889b3a50c179d1c3d704db7947b83 upstream.

Without this memory barrier, the file-storage thread may fail to
escape from the following while loop, because it may observe new
common->thread_wakeup_needed and old bh->state which are updated by
the callback functions.

	/* Wait for the CBW to arrive */
	while (bh->state != BUF_STATE_FULL) {
		rc = sleep_thread(common);
		if (rc)
			return rc;
	}

Signed-off-by: UCHINO Satoshi <satoshi.uchino@toshiba.co.jp>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/usb/gadget/f_mass_storage.c |    2 ++
 1 file changed, 2 insertions(+)

--- a/drivers/usb/gadget/f_mass_storage.c
+++ b/drivers/usb/gadget/f_mass_storage.c
@@ -413,6 +413,7 @@ static int fsg_set_halt(struct fsg_dev *
 /* Caller must hold fsg->lock */
 static void wakeup_thread(struct fsg_common *common)
 {
+	smp_wmb();	/* ensure the write of bh->state is complete */
 	/* Tell the main thread that something has happened */
 	common->thread_wakeup_needed = 1;
 	if (common->thread_task)
@@ -632,6 +633,7 @@ static int sleep_thread(struct fsg_commo
 	}
 	__set_current_state(TASK_RUNNING);
 	common->thread_wakeup_needed = 0;
+	smp_rmb();	/* ensure the latest bh->state is visible */
 	return rc;
 }
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 14/72] USB: ehci-omap: Tweak PHY initialization sequence
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (12 preceding siblings ...)
  2013-07-19  5:25 ` [ 13/72] usb: gadget: f_mass_storage: add missing memory barrier for thread_wakeup_needed Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 15/72] xhci: check for failed dma pool allocation Greg Kroah-Hartman
                   ` (61 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Tomi Valkeinen, Roger Quadros

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Roger Quadros <rogerq@ti.com>

commit 4e5c9e6fa2d232a0686d5fe45cd1508484048936 upstream.

For PHY mode, the PHYs must be brought out of reset
before the EHCI controller is started.

This patch fixes the issue where USB devices are not found
on Beagleboard/Beagle-xm if USB has been started previously
by the bootloader. (e.g. by "usb start" command in u-boot)

Tested on Beagleboard, Beagleboard-xm and Pandaboard.

Issue present on 3.10 onwards.

Reported-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tested-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/usb/host/ehci-omap.c |   11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -187,6 +187,12 @@ static int ehci_hcd_omap_probe(struct pl
 		}
 
 		omap->phy[i] = phy;
+
+		if (pdata->port_mode[i] == OMAP_EHCI_PORT_MODE_PHY) {
+			usb_phy_init(omap->phy[i]);
+			/* bring PHY out of suspend */
+			usb_phy_set_suspend(omap->phy[i], 0);
+		}
 	}
 
 	pm_runtime_enable(dev);
@@ -211,13 +217,14 @@ static int ehci_hcd_omap_probe(struct pl
 	}
 
 	/*
-	 * Bring PHYs out of reset.
+	 * Bring PHYs out of reset for non PHY modes.
 	 * Even though HSIC mode is a PHY-less mode, the reset
 	 * line exists between the chips and can be modelled
 	 * as a PHY device for reset control.
 	 */
 	for (i = 0; i < omap->nports; i++) {
-		if (!omap->phy[i])
+		if (!omap->phy[i] ||
+		     pdata->port_mode[i] == OMAP_EHCI_PORT_MODE_PHY)
 			continue;
 
 		usb_phy_init(omap->phy[i]);



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 15/72] xhci: check for failed dma pool allocation
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (13 preceding siblings ...)
  2013-07-19  5:25 ` [ 14/72] USB: ehci-omap: Tweak PHY initialization sequence Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 16/72] usb: host: xhci-plat: release mem region while removing module Greg Kroah-Hartman
                   ` (60 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Mathias Nyman, Sarah Sharp, John Youn

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Mathias Nyman <mathias.nyman@linux.intel.com>

commit 025f880cb2e4d7218d0422d4b07bea1a68959c38 upstream.

Fail and free the container context in case dma_pool_alloc() can't allocate
the raw context data part of it

This patch should be backported to kernels as old as 2.6.31, that
contain the commit d115b04818e57bdbc7ccde4d0660b15e33013dc8 "USB: xhci:
Support for 64-byte contexts".

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: John Youn <johnyoun@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/usb/host/xhci-mem.c |    4 ++++
 1 file changed, 4 insertions(+)

--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -369,6 +369,10 @@ static struct xhci_container_ctx *xhci_a
 		ctx->size += CTX_SIZE(xhci->hcc_params);
 
 	ctx->bytes = dma_pool_alloc(xhci->device_pool, flags, &ctx->dma);
+	if (!ctx->bytes) {
+		kfree(ctx);
+		return NULL;
+	}
 	memset(ctx->bytes, 0, ctx->size);
 	return ctx;
 }



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 16/72] usb: host: xhci-plat: release mem region while removing module
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (14 preceding siblings ...)
  2013-07-19  5:25 ` [ 15/72] xhci: check for failed dma pool allocation Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 17/72] drivers: hv: switch to use mb() instead of smp_mb() Greg Kroah-Hartman
                   ` (59 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, George Cherian, Felipe Balbi

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: George Cherian <george.cherian@ti.com>

commit 5388a3a5faba8dfa69e5f06c3a415d373c1a4316 upstream.

Do a release_mem_region of the hcd resource. Without this the
subsequent insertion of module fails in request_mem_region.

Signed-off-by: George Cherian <george.cherian@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/usb/host/xhci-plat.c |    1 +
 1 file changed, 1 insertion(+)

--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -179,6 +179,7 @@ static int xhci_plat_remove(struct platf
 
 	usb_remove_hcd(hcd);
 	iounmap(hcd->regs);
+	release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
 	usb_put_hcd(hcd);
 	kfree(xhci);
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 17/72] drivers: hv: switch to use mb() instead of smp_mb()
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (15 preceding siblings ...)
  2013-07-19  5:25 ` [ 16/72] usb: host: xhci-plat: release mem region while removing module Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 18/72] pcmcia: at91_cf: fix gpio_get_value in at91_cf_get_status Greg Kroah-Hartman
                   ` (58 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Jason Wang, Haiyang Zhang, K. Y. Srinivasan

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Jason Wang <jasowang@redhat.com>

commit 35848f68b07df3f917cb13fc3c134718669f569b upstream.

Even if guest were compiled without SMP support, it could not assume that host
wasn't. So switch to use mb() instead of smp_mb() to force memory barriers for
UP guest.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/hv/ring_buffer.c |   10 +++++-----
 drivers/hv/vmbus_drv.c   |    2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

--- a/drivers/hv/ring_buffer.c
+++ b/drivers/hv/ring_buffer.c
@@ -32,7 +32,7 @@
 void hv_begin_read(struct hv_ring_buffer_info *rbi)
 {
 	rbi->ring_buffer->interrupt_mask = 1;
-	smp_mb();
+	mb();
 }
 
 u32 hv_end_read(struct hv_ring_buffer_info *rbi)
@@ -41,7 +41,7 @@ u32 hv_end_read(struct hv_ring_buffer_in
 	u32 write;
 
 	rbi->ring_buffer->interrupt_mask = 0;
-	smp_mb();
+	mb();
 
 	/*
 	 * Now check to see if the ring buffer is still empty.
@@ -71,7 +71,7 @@ u32 hv_end_read(struct hv_ring_buffer_in
 
 static bool hv_need_to_signal(u32 old_write, struct hv_ring_buffer_info *rbi)
 {
-	smp_mb();
+	mb();
 	if (rbi->ring_buffer->interrupt_mask)
 		return false;
 
@@ -442,7 +442,7 @@ int hv_ringbuffer_write(struct hv_ring_b
 					     sizeof(u64));
 
 	/* Issue a full memory barrier before updating the write index */
-	smp_mb();
+	mb();
 
 	/* Now, update the write location */
 	hv_set_next_write_location(outring_info, next_write_location);
@@ -549,7 +549,7 @@ int hv_ringbuffer_read(struct hv_ring_bu
 	/* Make sure all reads are done before we update the read index since */
 	/* the writer may start writing to the read area once the read index */
 	/*is updated */
-	smp_mb();
+	mb();
 
 	/* Update the read index */
 	hv_set_next_read_location(inring_info, next_read_location);
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -434,7 +434,7 @@ static void vmbus_on_msg_dpc(unsigned lo
 		 * will not deliver any more messages since there is
 		 * no empty slot
 		 */
-		smp_mb();
+		mb();
 
 		if (msg->header.message_flags.msg_pending) {
 			/*



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 18/72] pcmcia: at91_cf: fix gpio_get_value in at91_cf_get_status
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (16 preceding siblings ...)
  2013-07-19  5:25 ` [ 17/72] drivers: hv: switch to use mb() instead of smp_mb() Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 19/72] cgroup: fix umount vs cgroup_event_remove() race Greg Kroah-Hartman
                   ` (57 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Joachim Eastwood, Nicolas Ferre,
	Jean-Christophe PLAGNIOL-VILLARD

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Joachim Eastwood <manabian@gmail.com>

commit e39506b466edcda2a7e9d0174d7987ae654137b7 upstream.

Commit 80af9e6d (pcmcia at91_cf: fix raw gpio number usage) forgot
to change the parameter in gpio_get_value after adding gpio
validation.

Signed-off-by: Joachim Eastwood <manabian@gmail.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/pcmcia/at91_cf.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/pcmcia/at91_cf.c
+++ b/drivers/pcmcia/at91_cf.c
@@ -100,9 +100,9 @@ static int at91_cf_get_status(struct pcm
 		int vcc	= gpio_is_valid(cf->board->vcc_pin);
 
 		*sp = SS_DETECT | SS_3VCARD;
-		if (!rdy || gpio_get_value(rdy))
+		if (!rdy || gpio_get_value(cf->board->irq_pin))
 			*sp |= SS_READY;
-		if (!vcc || gpio_get_value(vcc))
+		if (!vcc || gpio_get_value(cf->board->vcc_pin))
 			*sp |= SS_POWERON;
 	} else
 		*sp = 0;



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 19/72] cgroup: fix umount vs cgroup_event_remove() race
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (17 preceding siblings ...)
  2013-07-19  5:25 ` [ 18/72] pcmcia: at91_cf: fix gpio_get_value in at91_cf_get_status Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 20/72] cgroup: fix RCU accesses to task->cgroups Greg Kroah-Hartman
                   ` (56 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Li Zefan, Tejun Heo

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Li Zefan <lizefan@huawei.com>

commit 1c8158eeae0f37d0eee9f1fbe68080df6a408df2 upstream.

 commit 5db9a4d99b0157a513944e9a44d29c9cec2e91dc
 Author: Tejun Heo <tj@kernel.org>
 Date:   Sat Jul 7 16:08:18 2012 -0700

     cgroup: fix cgroup hierarchy umount race

This commit fixed a race caused by the dput() in css_dput_fn(), but
the dput() in cgroup_event_remove() can also lead to the same BUG().

Signed-off-by: Li Zefan <lizefan@huawei.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 kernel/cgroup.c |   25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -3727,6 +3727,23 @@ static int cgroup_write_notify_on_releas
 }
 
 /*
+ * When dput() is called asynchronously, if umount has been done and
+ * then deactivate_super() in cgroup_free_fn() kills the superblock,
+ * there's a small window that vfs will see the root dentry with non-zero
+ * refcnt and trigger BUG().
+ *
+ * That's why we hold a reference before dput() and drop it right after.
+ */
+static void cgroup_dput(struct cgroup *cgrp)
+{
+	struct super_block *sb = cgrp->root->sb;
+
+	atomic_inc(&sb->s_active);
+	dput(cgrp->dentry);
+	deactivate_super(sb);
+}
+
+/*
  * Unregister event and free resources.
  *
  * Gets called from workqueue.
@@ -3746,7 +3763,7 @@ static void cgroup_event_remove(struct w
 
 	eventfd_ctx_put(event->eventfd);
 	kfree(event);
-	dput(cgrp->dentry);
+	cgroup_dput(cgrp);
 }
 
 /*
@@ -4031,12 +4048,8 @@ static void css_dput_fn(struct work_stru
 {
 	struct cgroup_subsys_state *css =
 		container_of(work, struct cgroup_subsys_state, dput_work);
-	struct dentry *dentry = css->cgroup->dentry;
-	struct super_block *sb = dentry->d_sb;
 
-	atomic_inc(&sb->s_active);
-	dput(dentry);
-	deactivate_super(sb);
+	cgroup_dput(css->cgroup);
 }
 
 static void init_cgroup_css(struct cgroup_subsys_state *css,



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 20/72] cgroup: fix RCU accesses to task->cgroups
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (18 preceding siblings ...)
  2013-07-19  5:25 ` [ 19/72] cgroup: fix umount vs cgroup_event_remove() race Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 21/72] parisc: document the shadow registers Greg Kroah-Hartman
                   ` (55 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Tejun Heo, Fengguang Wu, Li Zefan

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Tejun Heo <tj@kernel.org>

commit 14611e51a57df10240817d8ada510842faf0ec51 upstream.

task->cgroups is a RCU pointer pointing to struct css_set.  A task
switches to a different css_set on cgroup migration but a css_set
doesn't change once created and its pointers to cgroup_subsys_states
aren't RCU protected.

task_subsys_state[_check]() is the macro to acquire css given a task
and subsys_id pair.  It RCU-dereferences task->cgroups->subsys[] not
task->cgroups, so the RCU pointer task->cgroups ends up being
dereferenced without read_barrier_depends() after it.  It's broken.

Fix it by introducing task_css_set[_check]() which does
RCU-dereference on task->cgroups.  task_subsys_state[_check]() is
reimplemented to directly dereference ->subsys[] of the css_set
returned from task_css_set[_check]().

This removes some of sparse RCU warnings in cgroup.

v2: Fixed unbalanced parenthsis and there's no need to use
    rcu_dereference_raw() when !CONFIG_PROVE_RCU.  Both spotted by Li.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Acked-by: Li Zefan <lizefan@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 include/linux/cgroup.h |   58 ++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 48 insertions(+), 10 deletions(-)

--- a/include/linux/cgroup.h
+++ b/include/linux/cgroup.h
@@ -646,22 +646,60 @@ static inline struct cgroup_subsys_state
 	return cgrp->subsys[subsys_id];
 }
 
-/*
- * function to get the cgroup_subsys_state which allows for extra
- * rcu_dereference_check() conditions, such as locks used during the
- * cgroup_subsys::attach() methods.
+/**
+ * task_css_set_check - obtain a task's css_set with extra access conditions
+ * @task: the task to obtain css_set for
+ * @__c: extra condition expression to be passed to rcu_dereference_check()
+ *
+ * A task's css_set is RCU protected, initialized and exited while holding
+ * task_lock(), and can only be modified while holding both cgroup_mutex
+ * and task_lock() while the task is alive.  This macro verifies that the
+ * caller is inside proper critical section and returns @task's css_set.
+ *
+ * The caller can also specify additional allowed conditions via @__c, such
+ * as locks used during the cgroup_subsys::attach() methods.
  */
 #ifdef CONFIG_PROVE_RCU
 extern struct mutex cgroup_mutex;
-#define task_subsys_state_check(task, subsys_id, __c)			\
-	rcu_dereference_check((task)->cgroups->subsys[(subsys_id)],	\
-			      lockdep_is_held(&(task)->alloc_lock) ||	\
-			      lockdep_is_held(&cgroup_mutex) || (__c))
+#define task_css_set_check(task, __c)					\
+	rcu_dereference_check((task)->cgroups,				\
+		lockdep_is_held(&(task)->alloc_lock) ||			\
+		lockdep_is_held(&cgroup_mutex) || (__c))
 #else
-#define task_subsys_state_check(task, subsys_id, __c)			\
-	rcu_dereference((task)->cgroups->subsys[(subsys_id)])
+#define task_css_set_check(task, __c)					\
+	rcu_dereference((task)->cgroups)
 #endif
 
+/**
+ * task_subsys_state_check - obtain css for (task, subsys) w/ extra access conds
+ * @task: the target task
+ * @subsys_id: the target subsystem ID
+ * @__c: extra condition expression to be passed to rcu_dereference_check()
+ *
+ * Return the cgroup_subsys_state for the (@task, @subsys_id) pair.  The
+ * synchronization rules are the same as task_css_set_check().
+ */
+#define task_subsys_state_check(task, subsys_id, __c)			\
+	task_css_set_check((task), (__c))->subsys[(subsys_id)]
+
+/**
+ * task_css_set - obtain a task's css_set
+ * @task: the task to obtain css_set for
+ *
+ * See task_css_set_check().
+ */
+static inline struct css_set *task_css_set(struct task_struct *task)
+{
+	return task_css_set_check(task, false);
+}
+
+/**
+ * task_subsys_state - obtain css for (task, subsys)
+ * @task: the target task
+ * @subsys_id: the target subsystem ID
+ *
+ * See task_subsys_state_check().
+ */
 static inline struct cgroup_subsys_state *
 task_subsys_state(struct task_struct *task, int subsys_id)
 {



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 21/72] parisc: document the shadow registers
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (19 preceding siblings ...)
  2013-07-19  5:25 ` [ 20/72] cgroup: fix RCU accesses to task->cgroups Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 22/72] parisc: Fix gcc miscompilation in pa_memcpy() Greg Kroah-Hartman
                   ` (54 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Helge Deller

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Helge Deller <deller@gmx.de>

commit a83f58bcb24003b9de2364de7c829a263423ead7 upstream.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 Documentation/parisc/registers |    8 ++++++++
 1 file changed, 8 insertions(+)

--- a/Documentation/parisc/registers
+++ b/Documentation/parisc/registers
@@ -78,6 +78,14 @@ Shadow Registers		used by interruption h
 TOC enable bit			1
 
 =========================================================================
+
+The PA-RISC architecture defines 7 registers as "shadow registers".
+Those are used in RETURN FROM INTERRUPTION AND RESTORE instruction to reduce
+the state save and restore time by eliminating the need for general register
+(GR) saves and restores in interruption handlers.
+Shadow registers are the GRs 1, 8, 9, 16, 17, 24, and 25.
+
+=========================================================================
 Register usage notes, originally from John Marvin, with some additional
 notes from Randolph Chung.
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 22/72] parisc: Fix gcc miscompilation in pa_memcpy()
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (20 preceding siblings ...)
  2013-07-19  5:25 ` [ 21/72] parisc: document the shadow registers Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 23/72] slab: fix init_lock_keys Greg Kroah-Hartman
                   ` (53 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Helge Deller, John David Anglin

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Helge Deller <deller@gmx.de>

commit 5b879d78bc0818aa710f5d4d9abbfc2aca075cc3 upstream.

When running the LTP testsuite one may hit this kernel BUG() with the
write06 testcase:

kernel BUG at mm/filemap.c:2023!
CPU: 1 PID: 8614 Comm: writev01 Not tainted 3.10.0-rc7-64bit-c3000+ #6
IASQ: 0000000000000000 0000000000000000 IAOQ: 00000000401e6e84 00000000401e6e88
 IIR: 03ffe01f    ISR: 0000000010340000  IOR: 000001fbe0380820
 CPU:        1   CR30: 00000000bef80000 CR31: ffffffffffffffff
 ORIG_R28: 00000000bdc192c0
 IAOQ[0]: iov_iter_advance+0x3c/0xc0
 IAOQ[1]: iov_iter_advance+0x40/0xc0
 RP(r2): generic_file_buffered_write+0x204/0x3f0
Backtrace:
 [<00000000401e764c>] generic_file_buffered_write+0x204/0x3f0
 [<00000000401eab24>] __generic_file_aio_write+0x244/0x448
 [<00000000401eadc0>] generic_file_aio_write+0x98/0x150
 [<000000004024f460>] do_sync_readv_writev+0xc0/0x130
 [<000000004025037c>] compat_do_readv_writev+0x12c/0x340
 [<00000000402505f8>] compat_writev+0x68/0xa0
 [<0000000040251d88>] compat_SyS_writev+0x98/0xf8

Reason for this crash is a gcc miscompilation in the fault handlers of
pa_memcpy() which return the fault address instead of the copied bytes.
Since this seems to be a generic problem with gcc-4.7.x (and below), it's
better to simplify the fault handlers in pa_memcpy to avoid this problem.

Here is a simple reproducer for the problem:

int main(int argc, char **argv)
{
	int fd, nbytes;
	struct iovec wr_iovec[] = {
		{ "TEST STRING                     ",32},
		{ (char*)0x40005000,32} }; // random memory.
	fd = open(DATA_FILE, O_RDWR | O_CREAT, 0666);
	nbytes = writev(fd, wr_iovec, 2);
	printf("return value = %d, errno %d (%s)\n",
		nbytes, errno, strerror(errno));
	return 0;
}

In addition, John David Anglin wrote:
There is no gcc PR as pa_memcpy is not legitimate C code. There is an
implicit assumption that certain variables will contain correct values
when an exception occurs and the code randomly jumps to one of the
exception blocks.  There is no guarantee of this.  If a PR was filed, it
would likely be marked as invalid.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/parisc/lib/memcpy.c |   79 +++++++++++++++++++++++++++++------------------
 1 file changed, 50 insertions(+), 29 deletions(-)

--- a/arch/parisc/lib/memcpy.c
+++ b/arch/parisc/lib/memcpy.c
@@ -2,6 +2,7 @@
  *    Optimized memory copy routines.
  *
  *    Copyright (C) 2004 Randolph Chung <tausq@debian.org>
+ *    Copyright (C) 2013 Helge Deller <deller@gmx.de>
  *
  *    This program is free software; you can redistribute it and/or modify
  *    it under the terms of the GNU General Public License as published by
@@ -153,17 +154,21 @@ static inline void prefetch_dst(const vo
 #define prefetch_dst(addr) do { } while(0)
 #endif
 
+#define PA_MEMCPY_OK		0
+#define PA_MEMCPY_LOAD_ERROR	1
+#define PA_MEMCPY_STORE_ERROR	2
+
 /* Copy from a not-aligned src to an aligned dst, using shifts. Handles 4 words
  * per loop.  This code is derived from glibc. 
  */
-static inline unsigned long copy_dstaligned(unsigned long dst, unsigned long src, unsigned long len, unsigned long o_dst, unsigned long o_src, unsigned long o_len)
+static inline unsigned long copy_dstaligned(unsigned long dst,
+					unsigned long src, unsigned long len)
 {
 	/* gcc complains that a2 and a3 may be uninitialized, but actually
 	 * they cannot be.  Initialize a2/a3 to shut gcc up.
 	 */
 	register unsigned int a0, a1, a2 = 0, a3 = 0;
 	int sh_1, sh_2;
-	struct exception_data *d;
 
 	/* prefetch_src((const void *)src); */
 
@@ -197,7 +202,7 @@ static inline unsigned long copy_dstalig
 			goto do2;
 		case 0:
 			if (len == 0)
-				return 0;
+				return PA_MEMCPY_OK;
 			/* a3 = ((unsigned int *) src)[0];
 			   a0 = ((unsigned int *) src)[1]; */
 			ldw(s_space, 0, src, a3, cda_ldw_exc);
@@ -256,42 +261,35 @@ do0:
 	preserve_branch(handle_load_error);
 	preserve_branch(handle_store_error);
 
-	return 0;
+	return PA_MEMCPY_OK;
 
 handle_load_error:
 	__asm__ __volatile__ ("cda_ldw_exc:\n");
-	d = &__get_cpu_var(exception_data);
-	DPRINTF("cda_ldw_exc: o_len=%lu fault_addr=%lu o_src=%lu ret=%lu\n",
-		o_len, d->fault_addr, o_src, o_len - d->fault_addr + o_src);
-	return o_len * 4 - d->fault_addr + o_src;
+	return PA_MEMCPY_LOAD_ERROR;
 
 handle_store_error:
 	__asm__ __volatile__ ("cda_stw_exc:\n");
-	d = &__get_cpu_var(exception_data);
-	DPRINTF("cda_stw_exc: o_len=%lu fault_addr=%lu o_dst=%lu ret=%lu\n",
-		o_len, d->fault_addr, o_dst, o_len - d->fault_addr + o_dst);
-	return o_len * 4 - d->fault_addr + o_dst;
+	return PA_MEMCPY_STORE_ERROR;
 }
 
 
-/* Returns 0 for success, otherwise, returns number of bytes not transferred. */
-static unsigned long pa_memcpy(void *dstp, const void *srcp, unsigned long len)
+/* Returns PA_MEMCPY_OK, PA_MEMCPY_LOAD_ERROR or PA_MEMCPY_STORE_ERROR.
+ * In case of an access fault the faulty address can be read from the per_cpu
+ * exception data struct. */
+static unsigned long pa_memcpy_internal(void *dstp, const void *srcp,
+					unsigned long len)
 {
 	register unsigned long src, dst, t1, t2, t3;
 	register unsigned char *pcs, *pcd;
 	register unsigned int *pws, *pwd;
 	register double *pds, *pdd;
-	unsigned long ret = 0;
-	unsigned long o_dst, o_src, o_len;
-	struct exception_data *d;
+	unsigned long ret;
 
 	src = (unsigned long)srcp;
 	dst = (unsigned long)dstp;
 	pcs = (unsigned char *)srcp;
 	pcd = (unsigned char *)dstp;
 
-	o_dst = dst; o_src = src; o_len = len;
-
 	/* prefetch_src((const void *)srcp); */
 
 	if (len < THRESHOLD)
@@ -401,7 +399,7 @@ byte_copy:
 		len--;
 	}
 
-	return 0;
+	return PA_MEMCPY_OK;
 
 unaligned_copy:
 	/* possibly we are aligned on a word, but not on a double... */
@@ -438,8 +436,7 @@ unaligned_copy:
 		src = (unsigned long)pcs;
 	}
 
-	ret = copy_dstaligned(dst, src, len / sizeof(unsigned int), 
-		o_dst, o_src, o_len);
+	ret = copy_dstaligned(dst, src, len / sizeof(unsigned int));
 	if (ret)
 		return ret;
 
@@ -454,17 +451,41 @@ unaligned_copy:
 
 handle_load_error:
 	__asm__ __volatile__ ("pmc_load_exc:\n");
-	d = &__get_cpu_var(exception_data);
-	DPRINTF("pmc_load_exc: o_len=%lu fault_addr=%lu o_src=%lu ret=%lu\n",
-		o_len, d->fault_addr, o_src, o_len - d->fault_addr + o_src);
-	return o_len - d->fault_addr + o_src;
+	return PA_MEMCPY_LOAD_ERROR;
 
 handle_store_error:
 	__asm__ __volatile__ ("pmc_store_exc:\n");
+	return PA_MEMCPY_STORE_ERROR;
+}
+
+
+/* Returns 0 for success, otherwise, returns number of bytes not transferred. */
+static unsigned long pa_memcpy(void *dstp, const void *srcp, unsigned long len)
+{
+	unsigned long ret, fault_addr, reference;
+	struct exception_data *d;
+
+	ret = pa_memcpy_internal(dstp, srcp, len);
+	if (likely(ret == PA_MEMCPY_OK))
+		return 0;
+
+	/* if a load or store fault occured we can get the faulty addr */
 	d = &__get_cpu_var(exception_data);
-	DPRINTF("pmc_store_exc: o_len=%lu fault_addr=%lu o_dst=%lu ret=%lu\n",
-		o_len, d->fault_addr, o_dst, o_len - d->fault_addr + o_dst);
-	return o_len - d->fault_addr + o_dst;
+	fault_addr = d->fault_addr;
+
+	/* error in load or store? */
+	if (ret == PA_MEMCPY_LOAD_ERROR)
+		reference = (unsigned long) srcp;
+	else
+		reference = (unsigned long) dstp;
+
+	DPRINTF("pa_memcpy: fault type = %lu, len=%lu fault_addr=%lu ref=%lu\n",
+		ret, len, fault_addr, reference);
+
+	if (fault_addr >= reference)
+		return len - (fault_addr - reference);
+	else
+		return len;
 }
 
 #ifdef __KERNEL__



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 23/72] slab: fix init_lock_keys
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (21 preceding siblings ...)
  2013-07-19  5:25 ` [ 22/72] parisc: Fix gcc miscompilation in pa_memcpy() Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 24/72] parisc: Ensure volatile space register %sr1 is not clobbered Greg Kroah-Hartman
                   ` (52 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Christoph Lameter, Tetsuo Handa,
	Pekka Enberg, Andrew Morton

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Christoph Lameter <cl@linux.com>

commit 0f8f8094d28eb53368ac09186ea6b3a324cc7d44 upstream.

Some architectures (e.g. powerpc built with CONFIG_PPC_256K_PAGES=y
CONFIG_FORCE_MAX_ZONEORDER=11) get PAGE_SHIFT + MAX_ORDER > 26.

In 3.10 kernels, CONFIG_LOCKDEP=y with PAGE_SHIFT + MAX_ORDER > 26 makes
init_lock_keys() dereference beyond kmalloc_caches[26].
This leads to an unbootable system (kernel panic at initializing SLAB)
if one of kmalloc_caches[26...PAGE_SHIFT+MAX_ORDER-1] is not NULL.

Fix this by making sure that init_lock_keys() does not dereference beyond
kmalloc_caches[26] arrays.

Signed-off-by: Christoph Lameter <cl@linux.com>
Reported-by: Tetsuo Handa <penguin-kernel@I-Love.SAKURA.ne.jp>
Cc: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 mm/slab.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/mm/slab.c
+++ b/mm/slab.c
@@ -565,7 +565,7 @@ static void init_node_lock_keys(int q)
 	if (slab_state < UP)
 		return;
 
-	for (i = 1; i < PAGE_SHIFT + MAX_ORDER; i++) {
+	for (i = 1; i <= KMALLOC_SHIFT_HIGH; i++) {
 		struct kmem_cache_node *n;
 		struct kmem_cache *cache = kmalloc_caches[i];
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 24/72] parisc: Ensure volatile space register %sr1 is not clobbered
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (22 preceding siblings ...)
  2013-07-19  5:25 ` [ 23/72] slab: fix init_lock_keys Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 25/72] parisc: fix LMMIO mismatch between PAT length and MASK register Greg Kroah-Hartman
                   ` (51 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, John David Anglin, Helge Deller

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: John David Anglin <dave.anglin@bell.net>

commit e8d8fc219f9a0e63e7fb927881e6f4db8e7d34df upstream.

I still see the occasional random segv on rp3440.  Looking at one of
these (a code 15), it appeared the problem must be with the cache
handling of anonymous pages.  Reviewing this, I noticed that the space
register %sr1 might be being clobbered when we flush an anonymous page.

Register %sr1 is used for TLB purges in a couple of places.  These
purges are needed on PA8800 and PA8900 processors to ensure cache
consistency of flushed cache lines.

The solution here is simply to move the %sr1 load into the TLB lock
region needed to ensure that one purge executes at a time on SMP
systems.  This was already the case for one use.  After a few days of
operation, I haven't had a random segv on my rp3440.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/parisc/include/asm/tlbflush.h |    5 +++--
 arch/parisc/kernel/cache.c         |    2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

--- a/arch/parisc/include/asm/tlbflush.h
+++ b/arch/parisc/include/asm/tlbflush.h
@@ -63,13 +63,14 @@ static inline void flush_tlb_mm(struct m
 static inline void flush_tlb_page(struct vm_area_struct *vma,
 	unsigned long addr)
 {
-	unsigned long flags;
+	unsigned long flags, sid;
 
 	/* For one page, it's not worth testing the split_tlb variable */
 
 	mb();
-	mtsp(vma->vm_mm->context,1);
+	sid = vma->vm_mm->context;
 	purge_tlb_start(flags);
+	mtsp(sid, 1);
 	pdtlb(addr);
 	pitlb(addr);
 	purge_tlb_end(flags);
--- a/arch/parisc/kernel/cache.c
+++ b/arch/parisc/kernel/cache.c
@@ -440,8 +440,8 @@ void __flush_tlb_range(unsigned long sid
 	else {
 		unsigned long flags;
 
-		mtsp(sid, 1);
 		purge_tlb_start(flags);
+		mtsp(sid, 1);
 		if (split_tlb) {
 			while (npages--) {
 				pdtlb(start);



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 25/72] parisc: fix LMMIO mismatch between PAT length and MASK register
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (23 preceding siblings ...)
  2013-07-19  5:25 ` [ 24/72] parisc: Ensure volatile space register %sr1 is not clobbered Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 26/72] parisc: optimize mtsp(0,sr) inline assembly Greg Kroah-Hartman
                   ` (50 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Helge Deller

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Helge Deller <deller@gmx.de>

commit dac76f1be5beaea4af9afe85fb475c73de0b8731 upstream.

The LMMIO length reported by PAT and the length given by the LBA MASK
register are not consistent. This leads e.g. to a not-working ATI FireGL
card with the radeon DRM driver since the memory can't be mapped.

Fix this by correctly adjusting the resource sizes.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/parisc/lba_pci.c |   56 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

--- a/drivers/parisc/lba_pci.c
+++ b/drivers/parisc/lba_pci.c
@@ -613,6 +613,54 @@ truncate_pat_collision(struct resource *
 	return 0;	/* truncation successful */
 }
 
+/*
+ * extend_lmmio_len: extend lmmio range to maximum length
+ *
+ * This is needed at least on C8000 systems to get the ATI FireGL card
+ * working. On other systems we will currently not extend the lmmio space.
+ */
+static unsigned long
+extend_lmmio_len(unsigned long start, unsigned long end, unsigned long lba_len)
+{
+	struct resource *tmp;
+
+	pr_debug("LMMIO mismatch: PAT length = 0x%lx, MASK register = 0x%lx\n",
+		end - start, lba_len);
+
+	lba_len = min(lba_len+1, 256UL*1024*1024); /* limit to 256 MB */
+
+	pr_debug("LBA: lmmio_space [0x%lx-0x%lx] - original\n", start, end);
+
+	if (boot_cpu_data.cpu_type < mako) {
+		pr_info("LBA: Not a C8000 system - not extending LMMIO range.\n");
+		return end;
+	}
+
+	end += lba_len;
+	if (end < start) /* fix overflow */
+		end = -1ULL;
+
+	pr_debug("LBA: lmmio_space [0x%lx-0x%lx] - current\n", start, end);
+
+	/* first overlap */
+	for (tmp = iomem_resource.child; tmp; tmp = tmp->sibling) {
+		pr_debug("LBA: testing %pR\n", tmp);
+		if (tmp->start == start)
+			continue; /* ignore ourself */
+		if (tmp->end < start)
+			continue;
+		if (tmp->start > end)
+			continue;
+		if (end >= tmp->start)
+			end = tmp->start - 1;
+	}
+
+	pr_info("LBA: lmmio_space [0x%lx-0x%lx] - new\n", start, end);
+
+	/* return new end */
+	return end;
+}
+
 #else
 #define truncate_pat_collision(r,n)  (0)
 #endif
@@ -994,6 +1042,14 @@ lba_pat_resources(struct parisc_device *
 		case PAT_LMMIO:
 			/* used to fix up pre-initialized MEM BARs */
 			if (!lba_dev->hba.lmmio_space.flags) {
+				unsigned long lba_len;
+
+				lba_len = ~READ_REG32(lba_dev->hba.base_addr
+						+ LBA_LMMIO_MASK);
+				if ((p->end - p->start) != lba_len)
+					p->end = extend_lmmio_len(p->start,
+						p->end, lba_len);
+
 				sprintf(lba_dev->hba.lmmio_name,
 						"PCI%02x LMMIO",
 						(int)lba_dev->hba.bus_num.start);



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 26/72] parisc: optimize mtsp(0,sr) inline assembly
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (24 preceding siblings ...)
  2013-07-19  5:25 ` [ 25/72] parisc: fix LMMIO mismatch between PAT length and MASK register Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 27/72] x86, efi: retry ExitBootServices() on failure Greg Kroah-Hartman
                   ` (49 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Helge Deller

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Helge Deller <deller@gmx.de>

commit 92b59929825d67db575043a76651865d16873b36 upstream.

If the value which should be moved into a space register is zero, we can
optimize the inline assembly to become "mtsp %r0,%srX".

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/parisc/include/asm/special_insns.h |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

--- a/arch/parisc/include/asm/special_insns.h
+++ b/arch/parisc/include/asm/special_insns.h
@@ -32,9 +32,12 @@ static inline void set_eiem(unsigned lon
 	cr;				\
 })
 
-#define mtsp(gr, cr) \
-	__asm__ __volatile__("mtsp %0,%1" \
+#define mtsp(val, cr) \
+	{ if (__builtin_constant_p(val) && ((val) == 0)) \
+	 __asm__ __volatile__("mtsp %%r0,%0" : : "i" (cr) : "memory"); \
+	else \
+	 __asm__ __volatile__("mtsp %0,%1" \
 		: /* no outputs */ \
-		: "r" (gr), "i" (cr) : "memory")
+		: "r" (val), "i" (cr) : "memory"); }
 
 #endif /* __PARISC_SPECIAL_INSNS_H */



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 27/72] x86, efi: retry ExitBootServices() on failure
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (25 preceding siblings ...)
  2013-07-19  5:25 ` [ 26/72] parisc: optimize mtsp(0,sr) inline assembly Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 28/72] xen/time: remove blocked time accounting from xen "clockchip" Greg Kroah-Hartman
                   ` (48 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Zach Bobroff, Matt Fleming

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Zach Bobroff <zacharyb@ami.com>

commit d3768d885c6ccbf8a137276843177d76c49033a7 upstream.

ExitBootServices is absolutely supposed to return a failure if any
ExitBootServices event handler changes the memory map.  Basically the
get_map loop should run again if ExitBootServices returns an error the
first time.  I would say it would be fair that if ExitBootServices gives
an error the second time then Linux would be fine in returning control
back to BIOS.

The second change is the following line:

again:
        size += sizeof(*mem_map) * 2;

Originally you were incrementing it by the size of one memory map entry.
The issue here is all related to the low_alloc routine you are using.
In this routine you are making allocations to get the memory map itself.
Doing this allocation or allocations can affect the memory map by more
than one record.

[ mfleming - changelog, code style ]
Signed-off-by: Zach Bobroff <zacharyb@ami.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/x86/boot/compressed/eboot.c |   20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
@@ -992,18 +992,20 @@ static efi_status_t exit_boot(struct boo
 	efi_memory_desc_t *mem_map;
 	efi_status_t status;
 	__u32 desc_version;
+	bool called_exit = false;
 	u8 nr_entries;
 	int i;
 
 	size = sizeof(*mem_map) * 32;
 
 again:
-	size += sizeof(*mem_map);
+	size += sizeof(*mem_map) * 2;
 	_size = size;
 	status = low_alloc(size, 1, (unsigned long *)&mem_map);
 	if (status != EFI_SUCCESS)
 		return status;
 
+get_map:
 	status = efi_call_phys5(sys_table->boottime->get_memory_map, &size,
 				mem_map, &key, &desc_size, &desc_version);
 	if (status == EFI_BUFFER_TOO_SMALL) {
@@ -1029,8 +1031,20 @@ again:
 	/* Might as well exit boot services now */
 	status = efi_call_phys2(sys_table->boottime->exit_boot_services,
 				handle, key);
-	if (status != EFI_SUCCESS)
-		goto free_mem_map;
+	if (status != EFI_SUCCESS) {
+		/*
+		 * ExitBootServices() will fail if any of the event
+		 * handlers change the memory map. In which case, we
+		 * must be prepared to retry, but only once so that
+		 * we're guaranteed to exit on repeated failures instead
+		 * of spinning forever.
+		 */
+		if (called_exit)
+			goto free_mem_map;
+
+		called_exit = true;
+		goto get_map;
+	}
 
 	/* Historic? */
 	boot_params->alt_mem_k = 32 * 1024;



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 28/72] xen/time: remove blocked time accounting from xen "clockchip"
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (26 preceding siblings ...)
  2013-07-19  5:25 ` [ 27/72] x86, efi: retry ExitBootServices() on failure Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 29/72] xen/pcifront: Deal with toolstack missing XenbusStateClosing state Greg Kroah-Hartman
                   ` (47 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Laszlo Ersek, John Haxby,
	Konrad Rzeszutek Wilk

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Laszlo Ersek <lersek@redhat.com>

commit 0b0c002c340e78173789f8afaa508070d838cf3d upstream.

... because the "clock_event_device framework" already accounts for idle
time through the "event_handler" function pointer in
xen_timer_interrupt().

The patch is intended as the completion of [1]. It should fix the double
idle times seen in PV guests' /proc/stat [2]. It should be orthogonal to
stolen time accounting (the removed code seems to be isolated).

The approach may be completely misguided.

[1] https://lkml.org/lkml/2011/10/6/10
[2] http://lists.xensource.com/archives/html/xen-devel/2010-08/msg01068.html

John took the time to retest this patch on top of v3.10 and reported:
"idle time is correctly incremented for pv and hvm for the normal
case, nohz=off and nohz=idle." so lets put this patch in.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: John Haxby <john.haxby@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/x86/xen/time.c |   17 ++---------------
 1 file changed, 2 insertions(+), 15 deletions(-)

--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -36,9 +36,8 @@ static DEFINE_PER_CPU(struct vcpu_runsta
 /* snapshots of runstate info */
 static DEFINE_PER_CPU(struct vcpu_runstate_info, xen_runstate_snapshot);
 
-/* unused ns of stolen and blocked time */
+/* unused ns of stolen time */
 static DEFINE_PER_CPU(u64, xen_residual_stolen);
-static DEFINE_PER_CPU(u64, xen_residual_blocked);
 
 /* return an consistent snapshot of 64-bit time/counter value */
 static u64 get64(const u64 *p)
@@ -115,7 +114,7 @@ static void do_stolen_accounting(void)
 {
 	struct vcpu_runstate_info state;
 	struct vcpu_runstate_info *snap;
-	s64 blocked, runnable, offline, stolen;
+	s64 runnable, offline, stolen;
 	cputime_t ticks;
 
 	get_runstate_snapshot(&state);
@@ -125,7 +124,6 @@ static void do_stolen_accounting(void)
 	snap = &__get_cpu_var(xen_runstate_snapshot);
 
 	/* work out how much time the VCPU has not been runn*ing*  */
-	blocked = state.time[RUNSTATE_blocked] - snap->time[RUNSTATE_blocked];
 	runnable = state.time[RUNSTATE_runnable] - snap->time[RUNSTATE_runnable];
 	offline = state.time[RUNSTATE_offline] - snap->time[RUNSTATE_offline];
 
@@ -141,17 +139,6 @@ static void do_stolen_accounting(void)
 	ticks = iter_div_u64_rem(stolen, NS_PER_TICK, &stolen);
 	__this_cpu_write(xen_residual_stolen, stolen);
 	account_steal_ticks(ticks);
-
-	/* Add the appropriate number of ticks of blocked time,
-	   including any left-overs from last time. */
-	blocked += __this_cpu_read(xen_residual_blocked);
-
-	if (blocked < 0)
-		blocked = 0;
-
-	ticks = iter_div_u64_rem(blocked, NS_PER_TICK, &blocked);
-	__this_cpu_write(xen_residual_blocked, blocked);
-	account_idle_ticks(ticks);
 }
 
 /* Get the TSC speed from Xen */



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 29/72] xen/pcifront: Deal with toolstack missing XenbusStateClosing state.
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (27 preceding siblings ...)
  2013-07-19  5:25 ` [ 28/72] xen/time: remove blocked time accounting from xen "clockchip" Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 30/72] genirq: Fix can_request_irq() for IRQs without an action Greg Kroah-Hartman
                   ` (46 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Bjorn Helgaas, Konrad Rzeszutek Wilk,
	linux-pci

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

commit 098b1aeaf4d6149953b8f1f8d55c21d85536fbff upstream.

There are two tool-stack that can instruct the Xen PCI frontend
and backend to change states: 'xm' (Python code with a daemon),
and 'xl' (C library - does not keep state changes).

With the 'xm', the path to disconnect a single PCI device (xm pci-detach
<guest> <BDF>) is:

4(Connected)->7(Reconfiguring*)-> 8(Reconfigured)-> 4(Connected)->5(Closing*).

The * is for states that the tool-stack sets. For 'xl', it is similar:

4(Connected)->7(Reconfiguring*)-> 8(Reconfigured)-> 4(Connected)

Both of them also tear down the XenBus structure, so the backend
state ends up going in the 3(Initialised) and calls pcifront_xenbus_remove.

When a PCI device is plugged back in (xm pci-attach <guest> <BDF>)
both of them follow the same pattern:

2(InitWait*), 3(Initialized*), 4(Connected*)->4(Connected).

[xen-pcifront ignores the 2,3 state changes and only acts when
4 (Connected) has been reached]

Note that this is for a _single_ PCI device. If there were two
PCI devices and only one was disconnected 'xm' would show the same
state changes.

The problem is that git commit 3d925320e9e2de162bd138bf97816bda8c3f71be
("xen/pcifront: Use Xen-SWIOTLB when initting if required") introduced
a mechanism to initialize the SWIOTLB when the Xen PCI front moves to
Connected state. It also had some aggressive seatbelt code check that
would warn the user if one tried to change to Connected state without
hitting first the Closing state:

 pcifront pci-0: PCI frontend already installed!

However, that code can be relaxed and we can continue on working
even if the frontend is instructed to be the 'Connected' state with
no devices and then gets tickled to be in 'Connected' state again.

In other words, this 4(Connected)->5(Closing)->4(Connected) state
was expected, while 4(Connected)->.... anything but 5(Closing)->4(Connected)
was not. This patch removes that aggressive check and allows
Xen pcifront to work with the 'xl' toolstack (for one or more
PCI devices) and with 'xm' toolstack (for more than two PCI
devices).

Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
[v2: Added in the description about two PCI devices]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/pci/xen-pcifront.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -678,10 +678,9 @@ static int pcifront_connect_and_init_dma
 	if (!pcifront_dev) {
 		dev_info(&pdev->xdev->dev, "Installing PCI frontend\n");
 		pcifront_dev = pdev;
-	} else {
-		dev_err(&pdev->xdev->dev, "PCI frontend already installed!\n");
+	} else
 		err = -EEXIST;
-	}
+
 	spin_unlock(&pcifront_dev_lock);
 
 	if (!err && !swiotlb_nr_tbl()) {
@@ -848,7 +847,7 @@ static int pcifront_try_connect(struct p
 		goto out;
 
 	err = pcifront_connect_and_init_dma(pdev);
-	if (err) {
+	if (err && err != -EEXIST) {
 		xenbus_dev_fatal(pdev->xdev, err,
 				 "Error setting up PCI Frontend");
 		goto out;



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 30/72] genirq: Fix can_request_irq() for IRQs without an action
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (28 preceding siblings ...)
  2013-07-19  5:25 ` [ 29/72] xen/pcifront: Deal with toolstack missing XenbusStateClosing state Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 31/72] drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq Greg Kroah-Hartman
                   ` (45 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Bjarni Ingi Gislason, Ben Hutchings,
	Thomas Gleixner, 709647

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Ben Hutchings <ben@decadent.org.uk>

commit 2779db8d37d4b542d9ca2575f5f178dbeaca6c86 upstream.

Commit 02725e7471b8 ('genirq: Use irq_get/put functions'),
inadvertently changed can_request_irq() to return 0 for IRQs that have
no action.  This causes pcibios_lookup_irq() to select only IRQs that
already have an action with IRQF_SHARED set, or to fail if there are
none.  Change can_request_irq() to return 1 for IRQs that have no
action (if the first two conditions are met).

Reported-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
Tested-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> (against 3.2)
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: 709647@bugs.debian.org
Link: http://bugs.debian.org/709647
Link: http://lkml.kernel.org/r/1372383630.23847.40.camel@deadeye.wl.decadent.org.uk
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 kernel/irq/manage.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -555,9 +555,9 @@ int can_request_irq(unsigned int irq, un
 		return 0;
 
 	if (irq_settings_can_request(desc)) {
-		if (desc->action)
-			if (irqflags & desc->action->flags & IRQF_SHARED)
-				canrequest =1;
+		if (!desc->action ||
+		    irqflags & desc->action->flags & IRQF_SHARED)
+			canrequest = 1;
 	}
 	irq_put_desc_unlock(desc, flags);
 	return canrequest;



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 31/72] drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (29 preceding siblings ...)
  2013-07-19  5:25 ` [ 30/72] genirq: Fix can_request_irq() for IRQs without an action Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 32/72] ACPI: Add CMOS RTC Operation Region handler support Greg Kroah-Hartman
                   ` (44 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Axel Lin, Heiko Schocher,
	Andrew Morton, Linus Torvalds

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Axel Lin <axel.lin@ingics.com>

commit 29ecd78c0fd6ee05f2c6b07b23823a6ae43c13ff upstream.

In the disable AIE irq code path, current code passes "1" to enable
parameter of rv3029c2_rtc_i2c_alarm_set_irq().  Thus it does not disable
AIE irq.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Heiko Schocher <hs@denx.de>
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>

---
 drivers/rtc/rtc-rv3029c2.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/rtc/rtc-rv3029c2.c
+++ b/drivers/rtc/rtc-rv3029c2.c
@@ -310,7 +310,7 @@ static int rv3029c2_rtc_i2c_set_alarm(st
 		dev_dbg(&client->dev, "alarm IRQ armed\n");
 	} else {
 		/* disable AIE irq */
-		ret = rv3029c2_rtc_i2c_alarm_set_irq(client, 1);
+		ret = rv3029c2_rtc_i2c_alarm_set_irq(client, 0);
 		if (ret)
 			return ret;
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 32/72] ACPI: Add CMOS RTC Operation Region handler support
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (30 preceding siblings ...)
  2013-07-19  5:25 ` [ 31/72] drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 33/72] ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan Greg Kroah-Hartman
                   ` (43 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Lan Tianyu, Rafael J. Wysocki

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Lan Tianyu <tianyu.lan@intel.com>

commit 2fa97feb4406c546b52e35b6b6c50cb8f63425d2 upstream.

On HP Folio 13-2000, the BIOS defines a CMOS RTC Operation Region and
the EC's _REG methord accesses that region.  Thus an appropriate
address space handler must be registered for that region before the
EC driver is loaded.

Introduce a mechanism for adding CMOS RTC address space handlers.
Register an ACPI scan handler for CMOS RTC devices such that, when
a device of that kind is detected during an ACPI namespace scan, a
common CMOS RTC operation region address space handler will be
installed for it.

References: https://bugzilla.kernel.org/show_bug.cgi?id=54621
Reported-and-tested-by: Stefan Nagy <public@stefan-nagy.at>
Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/acpi/Makefile        |    1 
 drivers/acpi/acpi_cmos_rtc.c |   92 +++++++++++++++++++++++++++++++++++++++++++
 drivers/acpi/internal.h      |    5 ++
 drivers/acpi/scan.c          |    1 
 4 files changed, 99 insertions(+)

--- a/drivers/acpi/Makefile
+++ b/drivers/acpi/Makefile
@@ -43,6 +43,7 @@ acpi-y				+= acpi_platform.o
 acpi-y				+= power.o
 acpi-y				+= event.o
 acpi-y				+= sysfs.o
+acpi-$(CONFIG_X86)		+= acpi_cmos_rtc.o
 acpi-$(CONFIG_DEBUG_FS)		+= debugfs.o
 acpi-$(CONFIG_ACPI_NUMA)	+= numa.o
 acpi-$(CONFIG_ACPI_PROCFS_POWER) += cm_sbs.o
--- /dev/null
+++ b/drivers/acpi/acpi_cmos_rtc.c
@@ -0,0 +1,92 @@
+/*
+ * ACPI support for CMOS RTC Address Space access
+ *
+ * Copyright (C) 2013, Intel Corporation
+ * Authors: Lan Tianyu <tianyu.lan@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <linux/acpi.h>
+#include <linux/device.h>
+#include <linux/err.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <asm-generic/rtc.h>
+
+#include "internal.h"
+
+#define PREFIX "ACPI: "
+
+ACPI_MODULE_NAME("cmos rtc");
+
+static const struct acpi_device_id acpi_cmos_rtc_ids[] = {
+	{ "PNP0B00" },
+	{ "PNP0B01" },
+	{ "PNP0B02" },
+	{}
+};
+
+static acpi_status
+acpi_cmos_rtc_space_handler(u32 function, acpi_physical_address address,
+		      u32 bits, u64 *value64,
+		      void *handler_context, void *region_context)
+{
+	int i;
+	u8 *value = (u8 *)&value64;
+
+	if (address > 0xff || !value64)
+		return AE_BAD_PARAMETER;
+
+	if (function != ACPI_WRITE && function != ACPI_READ)
+		return AE_BAD_PARAMETER;
+
+	spin_lock_irq(&rtc_lock);
+
+	for (i = 0; i < DIV_ROUND_UP(bits, 8); ++i, ++address, ++value)
+		if (function == ACPI_READ)
+			*value = CMOS_READ(address);
+		else
+			CMOS_WRITE(*value, address);
+
+	spin_unlock_irq(&rtc_lock);
+
+	return AE_OK;
+}
+
+static int acpi_install_cmos_rtc_space_handler(struct acpi_device *adev,
+		const struct acpi_device_id *id)
+{
+	acpi_status status;
+
+	status = acpi_install_address_space_handler(adev->handle,
+			ACPI_ADR_SPACE_CMOS,
+			&acpi_cmos_rtc_space_handler,
+			NULL, NULL);
+	if (ACPI_FAILURE(status)) {
+		pr_err(PREFIX "Error installing CMOS-RTC region handler\n");
+		return -ENODEV;
+	}
+
+	return 0;
+}
+
+static void acpi_remove_cmos_rtc_space_handler(struct acpi_device *adev)
+{
+	if (ACPI_FAILURE(acpi_remove_address_space_handler(adev->handle,
+			ACPI_ADR_SPACE_CMOS, &acpi_cmos_rtc_space_handler)))
+		pr_err(PREFIX "Error removing CMOS-RTC region handler\n");
+}
+
+static struct acpi_scan_handler cmos_rtc_handler = {
+	.ids = acpi_cmos_rtc_ids,
+	.attach = acpi_install_cmos_rtc_space_handler,
+	.detach = acpi_remove_cmos_rtc_space_handler,
+};
+
+void __init acpi_cmos_rtc_init(void)
+{
+	acpi_scan_add_handler(&cmos_rtc_handler);
+}
--- a/drivers/acpi/internal.h
+++ b/drivers/acpi/internal.h
@@ -50,6 +50,11 @@ void acpi_memory_hotplug_init(void);
 #else
 static inline void acpi_memory_hotplug_init(void) {}
 #endif
+#ifdef CONFIG_X86
+void acpi_cmos_rtc_init(void);
+#else
+static inline void acpi_cmos_rtc_init(void) {}
+#endif
 
 void acpi_sysfs_add_hotplug_profile(struct acpi_hotplug_profile *hotplug,
 				    const char *name);
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -2040,6 +2040,7 @@ int __init acpi_scan_init(void)
 	acpi_pci_link_init();
 	acpi_platform_init();
 	acpi_lpss_init();
+	acpi_cmos_rtc_init();
 	acpi_container_init();
 	acpi_memory_hotplug_init();
 	acpi_dock_init();



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 33/72] ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (31 preceding siblings ...)
  2013-07-19  5:25 ` [ 32/72] ACPI: Add CMOS RTC Operation Region handler support Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 34/72] ACPICA: Do not use extended sleep registers unless HW-reduced bit is set Greg Kroah-Hartman
                   ` (42 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Lan Tianyu, Rafael J. Wysocki

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Lan Tianyu <tianyu.lan@intel.com>

commit eff9a4b62b14cf0d9913e3caf1f26f8b7a6105c9 upstream.

HP Folio 13's BIOS defines CMOS RTC Operation Region and the EC's
_REG method will access that region.  To allow the CMOS RTC region
handler to be installed before the EC _REG method is first invoked,
add ec_skip_dsdt_scan() as HP Folio 13's callback to ec_dmi_table.

References: https://bugzilla.kernel.org/show_bug.cgi?id=54621
Reported-and-tested-by: Stefan Nagy <public@stefan-nagy.at>
Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/acpi/ec.c |    4 ++++
 1 file changed, 4 insertions(+)

--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -983,6 +983,10 @@ static struct dmi_system_id __initdata e
 	ec_enlarge_storm_threshold, "CLEVO hardware", {
 	DMI_MATCH(DMI_SYS_VENDOR, "CLEVO Co."),
 	DMI_MATCH(DMI_PRODUCT_NAME, "M720T/M730T"),}, NULL},
+	{
+	ec_skip_dsdt_scan, "HP Folio 13", {
+	DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
+	DMI_MATCH(DMI_PRODUCT_NAME, "HP Folio 13"),}, NULL},
 	{},
 };
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 34/72] ACPICA: Do not use extended sleep registers unless HW-reduced bit is set
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (32 preceding siblings ...)
  2013-07-19  5:25 ` [ 33/72] ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 35/72] ACPI / PM: Fix corner case in acpi_bus_update_power() Greg Kroah-Hartman
                   ` (41 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Daniel Rowe, Lv Zheng, Bob Moore,
	Rafael J. Wysocki

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Lv Zheng <lv.zheng@intel.com>

commit 7cec7048fe22e3e92389da2cd67098f6c4284e7f upstream.

Previous implementation incorrectly used the ACPI 5.0 extended
sleep registers if they were simply populated. This caused
problems on some non-HW-reduced machines. As per the ACPI spec,
they should only be used if the HW-reduced bit is set.  Lv Zheng,
ACPICA BZ 1020.

Reported-by: Daniel Rowe <bart@fathom13.com>
References: https://bugzilla.kernel.org/show_bug.cgi?id=54181
References: https://bugs.acpica.org/show_bug.cgi?id=1020
Bisected-by: Brint E. Kriebel <kernel@bekit.net>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/acpi/acpica/hwxfsleep.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

--- a/drivers/acpi/acpica/hwxfsleep.c
+++ b/drivers/acpi/acpica/hwxfsleep.c
@@ -240,12 +240,14 @@ static acpi_status acpi_hw_sleep_dispatc
 	    &acpi_sleep_dispatch[function_id];
 
 #if (!ACPI_REDUCED_HARDWARE)
-
 	/*
 	 * If the Hardware Reduced flag is set (from the FADT), we must
-	 * use the extended sleep registers
+	 * use the extended sleep registers (FADT). Note: As per the ACPI
+	 * specification, these extended registers are to be used for HW-reduced
+	 * platforms only. They are not general-purpose replacements for the
+	 * legacy PM register sleep support.
 	 */
-	if (acpi_gbl_reduced_hardware || acpi_gbl_FADT.sleep_control.address) {
+	if (acpi_gbl_reduced_hardware) {
 		status = sleep_functions->extended_function(sleep_state);
 	} else {
 		/* Legacy sleep */



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 35/72] ACPI / PM: Fix corner case in acpi_bus_update_power()
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (33 preceding siblings ...)
  2013-07-19  5:25 ` [ 34/72] ACPICA: Do not use extended sleep registers unless HW-reduced bit is set Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 36/72] HID: apple: Add support for the 2013 Macbook Air Greg Kroah-Hartman
                   ` (40 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Rafael J. Wysocki

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>

commit 91bdad0b6237c25a7bf8fd4604d0cc64a2005a23 upstream.

The role of acpi_bus_update_power() is to update the given ACPI
device object's power.state field to reflect the current physical
state of the device (as inferred from the configuration of power
resources and _PSC, if available).  For this purpose it calls
acpi_device_set_power() that should update the power resources'
reference counters and set power.state as appropriate.  However,
that doesn't work if the "new" state is D1, D2 or D3hot and the
the current value of power.state means D3cold, because in that
case acpi_device_set_power() will refuse to transition the device
from D3cold to non-D0.

To address this problem, make acpi_bus_update_power() call
acpi_power_transition() directly to update the power resources'
reference counters and only use acpi_device_set_power() to put
the device into D0 if the current physical state of it cannot
be determined.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/acpi/device_pm.c |   23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

--- a/drivers/acpi/device_pm.c
+++ b/drivers/acpi/device_pm.c
@@ -324,14 +324,27 @@ int acpi_bus_update_power(acpi_handle ha
 	if (result)
 		return result;
 
-	if (state == ACPI_STATE_UNKNOWN)
+	if (state == ACPI_STATE_UNKNOWN) {
 		state = ACPI_STATE_D0;
-
-	result = acpi_device_set_power(device, state);
-	if (!result && state_p)
+		result = acpi_device_set_power(device, state);
+		if (result)
+			return result;
+	} else {
+		if (device->power.flags.power_resources) {
+			/*
+			 * We don't need to really switch the state, bu we need
+			 * to update the power resources' reference counters.
+			 */
+			result = acpi_power_transition(device, state);
+			if (result)
+				return result;
+		}
+		device->power.state = state;
+	}
+	if (state_p)
 		*state_p = state;
 
-	return result;
+	return 0;
 }
 EXPORT_SYMBOL_GPL(acpi_bus_update_power);
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 36/72] HID: apple: Add support for the 2013 Macbook Air
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (34 preceding siblings ...)
  2013-07-19  5:25 ` [ 35/72] ACPI / PM: Fix corner case in acpi_bus_update_power() Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 37/72] Input: bcm5974 - add support for the 2013 MacBook Air Greg Kroah-Hartman
                   ` (39 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Henrik Rydberg, Jiri Kosina, Dmitry Torokhov

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Dmitry Torokhov <rydberg@euromail.se>

commit 9d9a04ee758b4c1fcc7586d065cdde7a7607e156 upstream.

This patch adds keyboard support for MacbookAir6,2 as WELLSPRING8
(0x0291, 0x0292, 0x0293). The touchpad is handled in a separate
bcm5974 patch, as usual.

Reported-and-tested-by: Brad Ford <plymouthffl@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/hid/hid-apple.c |    6 ++++++
 drivers/hid/hid-core.c  |    6 ++++++
 drivers/hid/hid-ids.h   |    3 +++
 3 files changed, 15 insertions(+)

--- a/drivers/hid/hid-apple.c
+++ b/drivers/hid/hid-apple.c
@@ -524,6 +524,12 @@ static const struct hid_device_id apple_
 		.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS),
 		.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI),
+		.driver_data = APPLE_HAS_FN },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ISO),
+		.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_JIS),
+		.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
 	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI),
 		.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
 	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO),
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1547,6 +1547,9 @@ static const struct hid_device_id hid_ha
 	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ISO) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_JIS) },
 	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI) },
 	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO) },
 	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS) },
@@ -2179,6 +2182,9 @@ static const struct hid_device_id hid_mo
 	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ISO) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_JIS) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) },
 	{ }
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -135,6 +135,9 @@
 #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS   0x023b
 #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI  0x0255
 #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO   0x0256
+#define USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI	0x0291
+#define USB_DEVICE_ID_APPLE_WELLSPRING8_ISO	0x0292
+#define USB_DEVICE_ID_APPLE_WELLSPRING8_JIS	0x0293
 #define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY	0x030a
 #define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY	0x030b
 #define USB_DEVICE_ID_APPLE_IRCONTROL	0x8240



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 37/72] Input: bcm5974 - add support for the 2013 MacBook Air
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (35 preceding siblings ...)
  2013-07-19  5:25 ` [ 36/72] HID: apple: Add support for the 2013 Macbook Air Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:40   ` Dmitry Torokhov
  2013-07-19  5:25 ` [ 38/72] arch: c6x: mm: include "asm/uaccess.h" to pass compiling Greg Kroah-Hartman
                   ` (38 subsequent siblings)
  75 siblings, 1 reply; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Henrik Rydberg, Dmitry Torokhov

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Dmitry Torokhov <rydberg@euromail.se>

commit 148c1c8ad3c4170186ebe6ea5900adde27d2a0e7 upstream.

The June 2013 Macbook Air (13'') has a new trackpad protocol; four new
values are inserted in the header, and the mode switch is no longer
needed. This patch adds support for the new devices.

Reported-and-tested-by: Brad Ford <plymouthffl@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/input/mouse/bcm5974.c |   36 ++++++++++++++++++++++++++++++++++--
 1 file changed, 34 insertions(+), 2 deletions(-)

--- a/drivers/input/mouse/bcm5974.c
+++ b/drivers/input/mouse/bcm5974.c
@@ -88,6 +88,10 @@
 #define USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI	0x0259
 #define USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO	0x025a
 #define USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS	0x025b
+/* MacbookAir6,2 (unibody, June 2013) */
+#define USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI	0x0291
+#define USB_DEVICE_ID_APPLE_WELLSPRING8_ISO	0x0292
+#define USB_DEVICE_ID_APPLE_WELLSPRING8_JIS	0x0293
 
 #define BCM5974_DEVICE(prod) {					\
 	.match_flags = (USB_DEVICE_ID_MATCH_DEVICE |		\
@@ -145,6 +149,10 @@ static const struct usb_device_id bcm597
 	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI),
 	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO),
 	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS),
+	/* MacbookAir6,2 */
+	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI),
+	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING8_ISO),
+	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING8_JIS),
 	/* Terminating entry */
 	{}
 };
@@ -172,15 +180,18 @@ struct bt_data {
 /* trackpad header types */
 enum tp_type {
 	TYPE1,			/* plain trackpad */
-	TYPE2			/* button integrated in trackpad */
+	TYPE2,			/* button integrated in trackpad */
+	TYPE3			/* additional header fields since June 2013 */
 };
 
 /* trackpad finger data offsets, le16-aligned */
 #define FINGER_TYPE1		(13 * sizeof(__le16))
 #define FINGER_TYPE2		(15 * sizeof(__le16))
+#define FINGER_TYPE3		(19 * sizeof(__le16))
 
 /* trackpad button data offsets */
 #define BUTTON_TYPE2		15
+#define BUTTON_TYPE3		23
 
 /* list of device capability bits */
 #define HAS_INTEGRATED_BUTTON	1
@@ -400,6 +411,19 @@ static const struct bcm5974_config bcm59
 		{ SN_COORD, -150, 6730 },
 		{ SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION }
 	},
+	{
+		USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI,
+		USB_DEVICE_ID_APPLE_WELLSPRING8_ISO,
+		USB_DEVICE_ID_APPLE_WELLSPRING8_JIS,
+		HAS_INTEGRATED_BUTTON,
+		0, sizeof(struct bt_data),
+		0x83, TYPE3, FINGER_TYPE3, FINGER_TYPE3 + SIZEOF_ALL_FINGERS,
+		{ SN_PRESSURE, 0, 300 },
+		{ SN_WIDTH, 0, 2048 },
+		{ SN_COORD, -4620, 5140 },
+		{ SN_COORD, -150, 6600 },
+		{ SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION }
+	},
 	{}
 };
 
@@ -557,6 +581,9 @@ static int report_tp_state(struct bcm597
 		input_report_key(input, BTN_LEFT, ibt);
 	}
 
+	if (c->tp_type == TYPE3)
+		input_report_key(input, BTN_LEFT, dev->tp_data[BUTTON_TYPE3]);
+
 	input_sync(input);
 
 	return 0;
@@ -572,9 +599,14 @@ static int report_tp_state(struct bcm597
 
 static int bcm5974_wellspring_mode(struct bcm5974 *dev, bool on)
 {
-	char *data = kmalloc(8, GFP_KERNEL);
 	int retval = 0, size;
+	char *data;
+
+	/* Type 3 does not require a mode switch */
+	if (dev->cfg.tp_type == TYPE3)
+		return 0;
 
+	data = kmalloc(8, GFP_KERNEL);
 	if (!data) {
 		dev_err(&dev->intf->dev, "out of memory\n");
 		retval = -ENOMEM;



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 38/72] arch: c6x: mm: include "asm/uaccess.h" to pass compiling
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (36 preceding siblings ...)
  2013-07-19  5:25 ` [ 37/72] Input: bcm5974 - add support for the 2013 MacBook Air Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 39/72] ocfs2: xattr: fix inlined xattr reflink Greg Kroah-Hartman
                   ` (37 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Chen Gang, Andrew Morton, Linus Torvalds

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Chen Gang <gang.chen@asianux.com>

commit fe74650166dd6905b0cf66594eb79222dc9d7109 upstream.

Need include "asm/uaccess.h" to pass compiling.

The related error (with allmodconfig):

  arch/c6x/mm/init.c: In function `paging_init':
  arch/c6x/mm/init.c:46:2: error: implicit declaration of function `set_fs' [-Werror=implicit-function-declaration]
  arch/c6x/mm/init.c:46:9: error: `KERNEL_DS' undeclared (first use in this function)
  arch/c6x/mm/init.c:46:9: note: each undeclared identifier is reported only once for each function it appears in

Signed-off-by: Chen Gang <gang.chen@asianux.com>
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>

---
 arch/c6x/mm/init.c |    1 +
 1 file changed, 1 insertion(+)

--- a/arch/c6x/mm/init.c
+++ b/arch/c6x/mm/init.c
@@ -18,6 +18,7 @@
 #include <linux/initrd.h>
 
 #include <asm/sections.h>
+#include <asm/uaccess.h>
 
 /*
  * ZERO_PAGE is a special page that is used for zero-initialized



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 39/72] ocfs2: xattr: fix inlined xattr reflink
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (37 preceding siblings ...)
  2013-07-19  5:25 ` [ 38/72] arch: c6x: mm: include "asm/uaccess.h" to pass compiling Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 40/72] nbd: correct disconnect behavior Greg Kroah-Hartman
                   ` (36 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Junxiao Bi, Jie Liu, Joel Becker,
	Mark Fasheh, Sunil Mushran, Andrew Morton, Linus Torvalds

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Junxiao Bi <junxiao.bi@oracle.com>

commit ef962df057aaafd714f5c22ba3de1be459571fdf upstream.

Inlined xattr shared free space of inode block with inlined data or data
extent record, so the size of the later two should be adjusted when
inlined xattr is enabled.  See ocfs2_xattr_ibody_init().  But this isn't
done well when reflink.  For inode with inlined data, its max inlined
data size is adjusted in ocfs2_duplicate_inline_data(), no problem.  But
for inode with data extent record, its record count isn't adjusted.  Fix
it, or data extent record and inlined xattr may overwrite each other,
then cause data corruption or xattr failure.

One panic caused by this bug in our test environment is the following:

  kernel BUG at fs/ocfs2/xattr.c:1435!
  invalid opcode: 0000 [#1] SMP
  Pid: 10871, comm: multi_reflink_t Not tainted 2.6.39-300.17.1.el5uek #1
  RIP: ocfs2_xa_offset_pointer+0x17/0x20 [ocfs2]
  RSP: e02b:ffff88007a587948  EFLAGS: 00010283
  RAX: 0000000000000000 RBX: 0000000000000010 RCX: 00000000000051e4
  RDX: ffff880057092060 RSI: 0000000000000f80 RDI: ffff88007a587a68
  RBP: ffff88007a587948 R08: 00000000000062f4 R09: 0000000000000000
  R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000010
  R13: ffff88007a587a68 R14: 0000000000000001 R15: ffff88007a587c68
  FS:  00007fccff7f06e0(0000) GS:ffff88007fc00000(0000) knlGS:0000000000000000
  CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
  CR2: 00000000015cf000 CR3: 000000007aa76000 CR4: 0000000000000660
  DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
  DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
  Process multi_reflink_t
  Call Trace:
    ocfs2_xa_reuse_entry+0x60/0x280 [ocfs2]
    ocfs2_xa_prepare_entry+0x17e/0x2a0 [ocfs2]
    ocfs2_xa_set+0xcc/0x250 [ocfs2]
    ocfs2_xattr_ibody_set+0x98/0x230 [ocfs2]
    __ocfs2_xattr_set_handle+0x4f/0x700 [ocfs2]
    ocfs2_xattr_set+0x6c6/0x890 [ocfs2]
    ocfs2_xattr_user_set+0x46/0x50 [ocfs2]
    generic_setxattr+0x70/0x90
    __vfs_setxattr_noperm+0x80/0x1a0
    vfs_setxattr+0xa9/0xb0
    setxattr+0xc3/0x120
    sys_fsetxattr+0xa8/0xd0
    system_call_fastpath+0x16/0x1b

Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
Reviewed-by: Jie Liu <jeff.liu@oracle.com>
Acked-by: Joel Becker <jlbec@evilplan.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Sunil Mushran <sunil.mushran@gmail.com>
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>

---
 fs/ocfs2/xattr.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

--- a/fs/ocfs2/xattr.c
+++ b/fs/ocfs2/xattr.c
@@ -6499,6 +6499,16 @@ static int ocfs2_reflink_xattr_inline(st
 	}
 
 	new_oi = OCFS2_I(args->new_inode);
+	/*
+	 * Adjust extent record count to reserve space for extended attribute.
+	 * Inline data count had been adjusted in ocfs2_duplicate_inline_data().
+	 */
+	if (!(new_oi->ip_dyn_features & OCFS2_INLINE_DATA_FL) &&
+	    !(ocfs2_inode_is_fast_symlink(args->new_inode))) {
+		struct ocfs2_extent_list *el = &new_di->id2.i_list;
+		le16_add_cpu(&el->l_count, -(inline_size /
+					sizeof(struct ocfs2_extent_rec)));
+	}
 	spin_lock(&new_oi->ip_lock);
 	new_oi->ip_dyn_features |= OCFS2_HAS_XATTR_FL | OCFS2_INLINE_XATTR_FL;
 	new_di->i_dyn_features = cpu_to_le16(new_oi->ip_dyn_features);



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 40/72] nbd: correct disconnect behavior
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (38 preceding siblings ...)
  2013-07-19  5:25 ` [ 39/72] ocfs2: xattr: fix inlined xattr reflink Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 41/72] PCI: Finish SR-IOV VF setup before adding the device Greg Kroah-Hartman
                   ` (35 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Paul Clements, Rob Landley,
	Andrew Morton, Linus Torvalds

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Paul Clements <paul.clements@steeleye.com>

commit c378f70adbc1bbecd9e6db145019f14b2f688c7c upstream.

Currently, when a disconnect is requested by the user (via NBD_DISCONNECT
ioctl) the return from NBD_DO_IT is undefined (it is usually one of
several error codes).  This means that nbd-client does not know if a
manual disconnect was performed or whether a network error occurred.
Because of this, nbd-client's persist mode (which tries to reconnect after
error, but not after manual disconnect) does not always work correctly.

This change fixes this by causing NBD_DO_IT to always return 0 if a user
requests a disconnect.  This means that nbd-client can correctly either
persist the connection (if an error occurred) or disconnect (if the user
requested it).

Signed-off-by: Paul Clements <paul.clements@steeleye.com>
Acked-by: Rob Landley <rob@landley.net>
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>

---
 drivers/block/nbd.c |    7 ++++++-
 include/linux/nbd.h |    1 +
 2 files changed, 7 insertions(+), 1 deletion(-)

--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -623,8 +623,10 @@ static int __nbd_ioctl(struct block_devi
 		if (!nbd->sock)
 			return -EINVAL;
 
+		nbd->disconnect = 1;
+
 		nbd_send_req(nbd, &sreq);
-                return 0;
+		return 0;
 	}
  
 	case NBD_CLEAR_SOCK: {
@@ -654,6 +656,7 @@ static int __nbd_ioctl(struct block_devi
 				nbd->sock = SOCKET_I(inode);
 				if (max_part > 0)
 					bdev->bd_invalidated = 1;
+				nbd->disconnect = 0; /* we're connected now */
 				return 0;
 			} else {
 				fput(file);
@@ -743,6 +746,8 @@ static int __nbd_ioctl(struct block_devi
 		set_capacity(nbd->disk, 0);
 		if (max_part > 0)
 			ioctl_by_bdev(bdev, BLKRRPART, 0);
+		if (nbd->disconnect) /* user requested, ignore socket errors */
+			return 0;
 		return nbd->harderror;
 	}
 
--- a/include/linux/nbd.h
+++ b/include/linux/nbd.h
@@ -41,6 +41,7 @@ struct nbd_device {
 	u64 bytesize;
 	pid_t pid; /* pid of nbd-client, if attached */
 	int xmit_timeout;
+	int disconnect; /* a disconnect has been requested by user */
 };
 
 #endif



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 41/72] PCI: Finish SR-IOV VF setup before adding the device
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (39 preceding siblings ...)
  2013-07-19  5:25 ` [ 40/72] nbd: correct disconnect behavior Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:25 ` [ 42/72] PCI: Fix refcount issue in pci_create_root_bus() error recovery path Greg Kroah-Hartman
                   ` (34 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Xudong Hao, Jiang Liu, Bjorn Helgaas

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Xudong Hao <xudong.hao@intel.com>

commit fbf33f516bdbcc2ab1ba1e54dfb720b0cfaa6874 upstream.

Commit 4f535093cf "PCI: Put pci_dev in device tree as early as possible"
moves device registering from pci_bus_add_devices() to pci_device_add().
That causes problems for virtual functions because device_add(&virtfn->dev)
is called before setting the virtfn->is_virtfn flag, which then causes Xen
to report PCI virtual functions as PCI physical functions.

Fix it by setting virtfn->is_virtfn before calling pci_device_add().

[Jiang Liu]: Move the setting of virtfn->is_virtfn ahead further for better
readability and modify changelog.

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/pci/iov.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -92,6 +92,8 @@ static int virtfn_add(struct pci_dev *de
 	pci_read_config_word(dev, iov->pos + PCI_SRIOV_VF_DID, &virtfn->device);
 	pci_setup_device(virtfn);
 	virtfn->dev.parent = dev->dev.parent;
+	virtfn->physfn = pci_dev_get(dev);
+	virtfn->is_virtfn = 1;
 
 	for (i = 0; i < PCI_SRIOV_NUM_BARS; i++) {
 		res = dev->resource + PCI_IOV_RESOURCES + i;
@@ -113,9 +115,6 @@ static int virtfn_add(struct pci_dev *de
 	pci_device_add(virtfn, virtfn->bus);
 	mutex_unlock(&iov->dev->sriov->lock);
 
-	virtfn->physfn = pci_dev_get(dev);
-	virtfn->is_virtfn = 1;
-
 	rc = pci_bus_add_device(virtfn);
 	sprintf(buf, "virtfn%u", id);
 	rc = sysfs_create_link(&dev->dev.kobj, &virtfn->dev.kobj, buf);



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 42/72] PCI: Fix refcount issue in pci_create_root_bus() error recovery path
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (40 preceding siblings ...)
  2013-07-19  5:25 ` [ 41/72] PCI: Finish SR-IOV VF setup before adding the device Greg Kroah-Hartman
@ 2013-07-19  5:25 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 43/72] iwlwifi: pcie: fix race in queue unmapping Greg Kroah-Hartman
                   ` (33 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Jiang Liu, Bjorn Helgaas

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Jiang Liu <liuj97@gmail.com>

commit 343df771e671d821478dd3ef525a0610b808dbf8 upstream.

After calling device_register(&bridge->dev), the bridge is reference-
counted, and it is illegal to call kfree() on it except in the release
function.

[bhelgaas: changelog, use put_device() after device_register() failure]
Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/pci/probe.c |   14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -1703,12 +1703,16 @@ struct pci_bus *pci_create_root_bus(stru
 	bridge->dev.release = pci_release_bus_bridge_dev;
 	dev_set_name(&bridge->dev, "pci%04x:%02x", pci_domain_nr(b), bus);
 	error = pcibios_root_bridge_prepare(bridge);
-	if (error)
-		goto bridge_dev_reg_err;
+	if (error) {
+		kfree(bridge);
+		goto err_out;
+	}
 
 	error = device_register(&bridge->dev);
-	if (error)
-		goto bridge_dev_reg_err;
+	if (error) {
+		put_device(&bridge->dev);
+		goto err_out;
+	}
 	b->bridge = get_device(&bridge->dev);
 	device_enable_async_suspend(b->bridge);
 	pci_set_bus_of_node(b);
@@ -1764,8 +1768,6 @@ struct pci_bus *pci_create_root_bus(stru
 class_dev_reg_err:
 	put_device(&bridge->dev);
 	device_unregister(&bridge->dev);
-bridge_dev_reg_err:
-	kfree(bridge);
 err_out:
 	kfree(b);
 	return NULL;



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 43/72] iwlwifi: pcie: fix race in queue unmapping
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (41 preceding siblings ...)
  2013-07-19  5:25 ` [ 42/72] PCI: Fix refcount issue in pci_create_root_bus() error recovery path Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 44/72] iwlwifi: pcie: wake the queue if stopped when being unmapped Greg Kroah-Hartman
                   ` (32 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Emmanuel Grumbach, Johannes Berg

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>

commit b967613d7e7c7bad176f5627c55e2d8c5aa2480e upstream.

When a queue is disabled, it frees all its entries. Later,
the op_mode might still get notifications from the firmware
that triggers to free entries in the tx queue. The transport
should be prepared for these races and know to ignore
reclaim calls on queues that have been disabled and whose
entries have been freed.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/wireless/iwlwifi/pcie/tx.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

--- a/drivers/net/wireless/iwlwifi/pcie/tx.c
+++ b/drivers/net/wireless/iwlwifi/pcie/tx.c
@@ -576,9 +576,12 @@ static void iwl_pcie_txq_unmap(struct iw
 
 	spin_lock_bh(&txq->lock);
 	while (q->write_ptr != q->read_ptr) {
+		IWL_DEBUG_TX_REPLY(trans, "Q %d Free %d\n",
+				   txq_id, q->read_ptr);
 		iwl_pcie_txq_free_tfd(trans, txq);
 		q->read_ptr = iwl_queue_inc_wrap(q->read_ptr, q->n_bd);
 	}
+	txq->active = false;
 	spin_unlock_bh(&txq->lock);
 }
 
@@ -927,6 +930,12 @@ void iwl_trans_pcie_reclaim(struct iwl_t
 
 	spin_lock_bh(&txq->lock);
 
+	if (!txq->active) {
+		IWL_DEBUG_TX_QUEUES(trans, "Q %d inactive - ignoring idx %d\n",
+				    txq_id, ssn);
+		goto out;
+	}
+
 	if (txq->q.read_ptr == tfd_num)
 		goto out;
 
@@ -1103,6 +1112,7 @@ void iwl_trans_pcie_txq_enable(struct iw
 		       (fifo << SCD_QUEUE_STTS_REG_POS_TXF) |
 		       (1 << SCD_QUEUE_STTS_REG_POS_WSL) |
 		       SCD_QUEUE_STTS_REG_MSK);
+	trans_pcie->txq[txq_id].active = true;
 	IWL_DEBUG_TX_QUEUES(trans, "Activate queue %d on FIFO %d WrPtr: %d\n",
 			    txq_id, fifo, ssn & 0xff);
 }



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 44/72] iwlwifi: pcie: wake the queue if stopped when being unmapped
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (42 preceding siblings ...)
  2013-07-19  5:26 ` [ 43/72] iwlwifi: pcie: fix race in queue unmapping Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 45/72] ahci: Add AMD CZ SATA device ID Greg Kroah-Hartman
                   ` (31 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Emmanuel Grumbach, Johannes Berg

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>

commit 8a487b1a7432b20ff3f82387a8ce7555a964b44e upstream.

When the queue is unmapped while it was so loaded that
mac80211's was stopped, we need to wake the queue after
having freed all the packets in the queue.
Not doing so can result in weird stuff like:

* run lots of traffic (mac80211's queue gets stopped)
* RFKILL
* de-assert RFKILL
* no traffic

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/wireless/iwlwifi/pcie/tx.c |    3 +++
 1 file changed, 3 insertions(+)

--- a/drivers/net/wireless/iwlwifi/pcie/tx.c
+++ b/drivers/net/wireless/iwlwifi/pcie/tx.c
@@ -583,6 +583,9 @@ static void iwl_pcie_txq_unmap(struct iw
 	}
 	txq->active = false;
 	spin_unlock_bh(&txq->lock);
+
+	/* just in case - this queue may have been stopped */
+	iwl_wake_queue(trans, txq);
 }
 
 /*



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 45/72] ahci: Add AMD CZ SATA device ID
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (43 preceding siblings ...)
  2013-07-19  5:26 ` [ 44/72] iwlwifi: pcie: wake the queue if stopped when being unmapped Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 46/72] ahci: AHCI-mode SATA patch for Intel Coleto Creek DeviceIDs Greg Kroah-Hartman
                   ` (30 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Shane Huang, Bjorn Helgaas, Tejun Heo

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Shane Huang <shane.huang@amd.com>

commit fafe5c3d82a470d73de53e6b08eb4e28d974d895 upstream.

To add AMD CZ SATA controller device ID of IDE mode.

[bhelgaas: drop pci_ids.h update]
Signed-off-by: Shane Huang <shane.huang@amd.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/ata/ahci.c   |    1 +
 drivers/pci/quirks.c |    2 ++
 2 files changed, 3 insertions(+)

--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -310,6 +310,7 @@ static const struct pci_device_id ahci_p
 
 	/* AMD */
 	{ PCI_VDEVICE(AMD, 0x7800), board_ahci }, /* AMD Hudson-2 */
+	{ PCI_VDEVICE(AMD, 0x7900), board_ahci }, /* AMD CZ */
 	/* AMD is using RAID class only for ahci controllers */
 	{ PCI_VENDOR_ID_AMD, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
 	  PCI_CLASS_STORAGE_RAID << 8, 0xffffff, board_ahci },
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1022,6 +1022,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_A
 DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP700_SATA, quirk_amd_ide_mode);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_HUDSON2_SATA_IDE, quirk_amd_ide_mode);
 DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_HUDSON2_SATA_IDE, quirk_amd_ide_mode);
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x7900, quirk_amd_ide_mode);
+DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_AMD, 0x7900, quirk_amd_ide_mode);
 
 /*
  *	Serverworks CSB5 IDE does not fully support native mode



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 46/72] ahci: AHCI-mode SATA patch for Intel Coleto Creek DeviceIDs
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (44 preceding siblings ...)
  2013-07-19  5:26 ` [ 45/72] ahci: Add AMD CZ SATA device ID Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 47/72] ahci: remove pmp link online check in FBS EH Greg Kroah-Hartman
                   ` (29 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Seth Heasley, Tejun Heo

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Seth Heasley <seth.heasley@intel.com>

commit 1cfc7df3de10c40ed459e13cce6de616023bf41c upstream.

This patch adds the AHCI-mode SATA DeviceIDs for the Intel Coleto Creek PCH.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/ata/ahci.c |    1 +
 1 file changed, 1 insertion(+)

--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -291,6 +291,7 @@ static const struct pci_device_id ahci_p
 	{ PCI_VDEVICE(INTEL, 0x8d64), board_ahci }, /* Wellsburg RAID */
 	{ PCI_VDEVICE(INTEL, 0x8d66), board_ahci }, /* Wellsburg RAID */
 	{ PCI_VDEVICE(INTEL, 0x8d6e), board_ahci }, /* Wellsburg RAID */
+	{ PCI_VDEVICE(INTEL, 0x23a3), board_ahci }, /* Coleto Creek AHCI */
 
 	/* JMicron 360/1/3/5/6, match class to avoid IDE function */
 	{ PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 47/72] ahci: remove pmp link online check in FBS EH
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (45 preceding siblings ...)
  2013-07-19  5:26 ` [ 46/72] ahci: AHCI-mode SATA patch for Intel Coleto Creek DeviceIDs Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 48/72] timer: Fix jiffies wrap behavior of round_jiffies_common() Greg Kroah-Hartman
                   ` (28 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Yu Liu, Shane Huang, Tejun Heo

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Shane Huang <shane.huang@amd.com>

commit 912b9ac683b112615d5605686f1dc086402ce9f7 upstream.

ata_link_online() check in ahci_error_intr() is unnecessary, it should
be removed otherwise may lead to lockup with FBS enabled PMP.
http://marc.info/?l=linux-ide&m=137050421603272&w=2

Reported-by: Yu Liu <liuyu.ac@gmail.com>
Signed-off-by: Shane Huang <shane.huang@amd.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/ata/libahci.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -1560,8 +1560,7 @@ static void ahci_error_intr(struct ata_p
 		u32 fbs = readl(port_mmio + PORT_FBS);
 		int pmp = fbs >> PORT_FBS_DWE_OFFSET;
 
-		if ((fbs & PORT_FBS_SDE) && (pmp < ap->nr_pmp_links) &&
-		    ata_link_online(&ap->pmp_link[pmp])) {
+		if ((fbs & PORT_FBS_SDE) && (pmp < ap->nr_pmp_links)) {
 			link = &ap->pmp_link[pmp];
 			fbs_need_dec = true;
 		}



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 48/72] timer: Fix jiffies wrap behavior of round_jiffies_common()
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (46 preceding siblings ...)
  2013-07-19  5:26 ` [ 47/72] ahci: remove pmp link online check in FBS EH Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 49/72] Btrfs: fix estale with btrfs send Greg Kroah-Hartman
                   ` (27 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Bart Van Assche, Arjan van de Ven,
	Stephen Rothwell, Thomas Gleixner

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Bart Van Assche <bart.vanassche@gmail.com>

commit 9e04d3804d3ac97d8c03a41d78d0f0674b5d01e1 upstream.

Direct compare of jiffies related values does not work in the wrap
around case. Replace it with time_is_after_jiffies().

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Cc: Arjan van de Ven <arjan@infradead.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Link: http://lkml.kernel.org/r/519BC066.5080600@acm.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 kernel/timer.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -149,9 +149,11 @@ static unsigned long round_jiffies_commo
 	/* now that we have rounded, subtract the extra skew again */
 	j -= cpu * 3;
 
-	if (j <= jiffies) /* rounding ate our timeout entirely; */
-		return original;
-	return j;
+	/*
+	 * Make sure j is still in the future. Otherwise return the
+	 * unmodified value.
+	 */
+	return time_is_after_jiffies(j) ? j : original;
 }
 
 /**



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 49/72] Btrfs: fix estale with btrfs send
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (47 preceding siblings ...)
  2013-07-19  5:26 ` [ 48/72] timer: Fix jiffies wrap behavior of round_jiffies_common() Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 50/72] Btrfs: hold the tree mod lock in __tree_mod_log_rewind Greg Kroah-Hartman
                   ` (26 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Chris Wilson, Josef Bacik

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Josef Bacik <jbacik@fusionio.com>

commit 139f807a1eba1e484941a98fb93ee32ad859a6a1 upstream.

This fixes bugzilla 57491.  If we take a snapshot of a fs with a unlink ongoing
and then try to send that root we will run into problems.  When comparing with a
parent root we will search the parents and the send roots commit_root, which if
we've just created the snapshot will include the file that needs to be evicted
by the orphan cleanup.  So when we find a changed extent we will try and copy
that info into the send stream, but when we lookup the inode we use the normal
root, which no longer has the inode because the orphan cleanup deleted it.  The
best solution I have for this is to check our otransid with the generation of
the commit root and if they match just commit the transaction again, that way we
get the changes from the orphan cleanup.  With this patch the reproducer I made
for this bugzilla no longer returns ESTALE when trying to do the send.  Thanks,

Reported-by: Chris Wilson <jakdaw@gmail.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/btrfs/send.c |   35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

--- a/fs/btrfs/send.c
+++ b/fs/btrfs/send.c
@@ -4579,6 +4579,41 @@ long btrfs_ioctl_send(struct file *mnt_f
 	send_root = BTRFS_I(file_inode(mnt_file))->root;
 	fs_info = send_root->fs_info;
 
+	/*
+	 * This is done when we lookup the root, it should already be complete
+	 * by the time we get here.
+	 */
+	WARN_ON(send_root->orphan_cleanup_state != ORPHAN_CLEANUP_DONE);
+
+	/*
+	 * If we just created this root we need to make sure that the orphan
+	 * cleanup has been done and committed since we search the commit root,
+	 * so check its commit root transid with our otransid and if they match
+	 * commit the transaction to make sure everything is updated.
+	 */
+	down_read(&send_root->fs_info->extent_commit_sem);
+	if (btrfs_header_generation(send_root->commit_root) ==
+	    btrfs_root_otransid(&send_root->root_item)) {
+		struct btrfs_trans_handle *trans;
+
+		up_read(&send_root->fs_info->extent_commit_sem);
+
+		trans = btrfs_attach_transaction_barrier(send_root);
+		if (IS_ERR(trans)) {
+			if (PTR_ERR(trans) != -ENOENT) {
+				ret = PTR_ERR(trans);
+				goto out;
+			}
+			/* ENOENT means theres no transaction */
+		} else {
+			ret = btrfs_commit_transaction(trans, send_root);
+			if (ret)
+				goto out;
+		}
+	} else {
+		up_read(&send_root->fs_info->extent_commit_sem);
+	}
+
 	arg = memdup_user(arg_, sizeof(*arg));
 	if (IS_ERR(arg)) {
 		ret = PTR_ERR(arg);



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 50/72] Btrfs: hold the tree mod lock in __tree_mod_log_rewind
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (48 preceding siblings ...)
  2013-07-19  5:26 ` [ 49/72] Btrfs: fix estale with btrfs send Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 51/72] Btrfs: only do the tree_mod_log_free_eb if this is our last ref Greg Kroah-Hartman
                   ` (25 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Josef Bacik

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Josef Bacik <jbacik@fusionio.com>

commit f1ca7e98a67da618d8595866e0860308525154da upstream.

We need to hold the tree mod log lock in __tree_mod_log_rewind since we walk
forward in the tree mod entries, otherwise we'll end up with random entries and
trip the BUG_ON() at the front of __tree_mod_log_rewind.  This fixes the panics
people were seeing when running

find /whatever -type f -exec btrfs fi defrag {} \;

Thansk,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/btrfs/ctree.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -1161,8 +1161,8 @@ __tree_mod_log_oldest_root(struct btrfs_
  * time_seq).
  */
 static void
-__tree_mod_log_rewind(struct extent_buffer *eb, u64 time_seq,
-		      struct tree_mod_elem *first_tm)
+__tree_mod_log_rewind(struct btrfs_fs_info *fs_info, struct extent_buffer *eb,
+		      u64 time_seq, struct tree_mod_elem *first_tm)
 {
 	u32 n;
 	struct rb_node *next;
@@ -1172,6 +1172,7 @@ __tree_mod_log_rewind(struct extent_buff
 	unsigned long p_size = sizeof(struct btrfs_key_ptr);
 
 	n = btrfs_header_nritems(eb);
+	tree_mod_log_read_lock(fs_info);
 	while (tm && tm->seq >= time_seq) {
 		/*
 		 * all the operations are recorded with the operator used for
@@ -1226,6 +1227,7 @@ __tree_mod_log_rewind(struct extent_buff
 		if (tm->index != first_tm->index)
 			break;
 	}
+	tree_mod_log_read_unlock(fs_info);
 	btrfs_set_header_nritems(eb, n);
 }
 
@@ -1274,7 +1276,7 @@ tree_mod_log_rewind(struct btrfs_fs_info
 
 	extent_buffer_get(eb_rewin);
 	btrfs_tree_read_lock(eb_rewin);
-	__tree_mod_log_rewind(eb_rewin, time_seq, tm);
+	__tree_mod_log_rewind(fs_info, eb_rewin, time_seq, tm);
 	WARN_ON(btrfs_header_nritems(eb_rewin) >
 		BTRFS_NODEPTRS_PER_BLOCK(fs_info->tree_root));
 
@@ -1350,7 +1352,7 @@ get_old_root(struct btrfs_root *root, u6
 		btrfs_set_header_generation(eb, old_generation);
 	}
 	if (tm)
-		__tree_mod_log_rewind(eb, time_seq, tm);
+		__tree_mod_log_rewind(root->fs_info, eb, time_seq, tm);
 	else
 		WARN_ON(btrfs_header_level(eb) != 0);
 	WARN_ON(btrfs_header_nritems(eb) > BTRFS_NODEPTRS_PER_BLOCK(root));



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 51/72] Btrfs: only do the tree_mod_log_free_eb if this is our last ref
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (49 preceding siblings ...)
  2013-07-19  5:26 ` [ 50/72] Btrfs: hold the tree mod lock in __tree_mod_log_rewind Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 52/72] ext4: fix data offset overflow on 32-bit archs in ext4_inline_data_fiemap() Greg Kroah-Hartman
                   ` (24 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Jan Schmidt, Josef Bacik

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Josef Bacik <jbacik@fusionio.com>

commit 7fb7d76f96bfcbea25007d190ba828b18e13d29d upstream.

There is another bug in the tree mod log stuff in that we're calling
tree_mod_log_free_eb every single time a block is cow'ed.  The problem with this
is that if this block is shared by multiple snapshots we will call this multiple
times per block, so if we go to rewind the mod log for this block we'll BUG_ON()
in __tree_mod_log_rewind because we try to rewind a free twice.  We only want to
call tree_mod_log_free_eb if we are actually freeing the block.  With this patch
I no longer hit the panic in __tree_mod_log_rewind.  Thanks,

Reviewed-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/btrfs/ctree.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -1089,7 +1089,8 @@ static noinline int __btrfs_cow_block(st
 		btrfs_set_node_ptr_generation(parent, parent_slot,
 					      trans->transid);
 		btrfs_mark_buffer_dirty(parent);
-		tree_mod_log_free_eb(root->fs_info, buf);
+		if (last_ref)
+			tree_mod_log_free_eb(root->fs_info, buf);
 		btrfs_free_tree_block(trans, root, buf, parent_start,
 				      last_ref);
 	}



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 52/72] ext4: fix data offset overflow on 32-bit archs in ext4_inline_data_fiemap()
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (50 preceding siblings ...)
  2013-07-19  5:26 ` [ 51/72] Btrfs: only do the tree_mod_log_free_eb if this is our last ref Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 53/72] ext4: fix overflows in SEEK_HOLE, SEEK_DATA implementations Greg Kroah-Hartman
                   ` (23 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Jan Kara, Theodore Tso

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Jan Kara <jack@suse.cz>

commit eaf3793728d07d995f1e74250b2d0005f7ae98b5 upstream.

On 32-bit archs when sector_t is defined as 32-bit the logic computing
data offset in ext4_inline_data_fiemap(). Fix that by properly typing
the shifted value.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ext4/inline.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/fs/ext4/inline.c
+++ b/fs/ext4/inline.c
@@ -1842,7 +1842,7 @@ int ext4_inline_data_fiemap(struct inode
 	if (error)
 		goto out;
 
-	physical = iloc.bh->b_blocknr << inode->i_sb->s_blocksize_bits;
+	physical = (__u64)iloc.bh->b_blocknr << inode->i_sb->s_blocksize_bits;
 	physical += (char *)ext4_raw_inode(&iloc) - iloc.bh->b_data;
 	physical += offsetof(struct ext4_inode, i_block);
 	length = i_size_read(inode);



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 53/72] ext4: fix overflows in SEEK_HOLE, SEEK_DATA implementations
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (51 preceding siblings ...)
  2013-07-19  5:26 ` [ 52/72] ext4: fix data offset overflow on 32-bit archs in ext4_inline_data_fiemap() Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 54/72] ext4: fix data offset overflow in ext4_xattr_fiemap() on 32-bit archs Greg Kroah-Hartman
                   ` (22 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Jan Kara, Theodore Tso, Zheng Liu

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Jan Kara <jack@suse.cz>

commit e7293fd146846e2a44d29e0477e0860c60fb856b upstream.

ext4_lblk_t is just u32 so multiplying it by blocksize can easily
overflow for files larger than 4 GB. Fix that by properly typing the
block offsets before shifting.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ext4/file.c |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

--- a/fs/ext4/file.c
+++ b/fs/ext4/file.c
@@ -312,7 +312,7 @@ static int ext4_find_unwritten_pgoff(str
 	blkbits = inode->i_sb->s_blocksize_bits;
 	startoff = *offset;
 	lastoff = startoff;
-	endoff = (map->m_lblk + map->m_len) << blkbits;
+	endoff = (loff_t)(map->m_lblk + map->m_len) << blkbits;
 
 	index = startoff >> PAGE_CACHE_SHIFT;
 	end = endoff >> PAGE_CACHE_SHIFT;
@@ -457,7 +457,7 @@ static loff_t ext4_seek_data(struct file
 		ret = ext4_map_blocks(NULL, inode, &map, 0);
 		if (ret > 0 && !(map.m_flags & EXT4_MAP_UNWRITTEN)) {
 			if (last != start)
-				dataoff = last << blkbits;
+				dataoff = (loff_t)last << blkbits;
 			break;
 		}
 
@@ -468,7 +468,7 @@ static loff_t ext4_seek_data(struct file
 		ext4_es_find_delayed_extent_range(inode, last, last, &es);
 		if (es.es_len != 0 && in_range(last, es.es_lblk, es.es_len)) {
 			if (last != start)
-				dataoff = last << blkbits;
+				dataoff = (loff_t)last << blkbits;
 			break;
 		}
 
@@ -486,7 +486,7 @@ static loff_t ext4_seek_data(struct file
 		}
 
 		last++;
-		dataoff = last << blkbits;
+		dataoff = (loff_t)last << blkbits;
 	} while (last <= end);
 
 	mutex_unlock(&inode->i_mutex);
@@ -540,7 +540,7 @@ static loff_t ext4_seek_hole(struct file
 		ret = ext4_map_blocks(NULL, inode, &map, 0);
 		if (ret > 0 && !(map.m_flags & EXT4_MAP_UNWRITTEN)) {
 			last += ret;
-			holeoff = last << blkbits;
+			holeoff = (loff_t)last << blkbits;
 			continue;
 		}
 
@@ -551,7 +551,7 @@ static loff_t ext4_seek_hole(struct file
 		ext4_es_find_delayed_extent_range(inode, last, last, &es);
 		if (es.es_len != 0 && in_range(last, es.es_lblk, es.es_len)) {
 			last = es.es_lblk + es.es_len;
-			holeoff = last << blkbits;
+			holeoff = (loff_t)last << blkbits;
 			continue;
 		}
 
@@ -566,7 +566,7 @@ static loff_t ext4_seek_hole(struct file
 							      &map, &holeoff);
 			if (!unwritten) {
 				last += ret;
-				holeoff = last << blkbits;
+				holeoff = (loff_t)last << blkbits;
 				continue;
 			}
 		}



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 54/72] ext4: fix data offset overflow in ext4_xattr_fiemap() on 32-bit archs
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (52 preceding siblings ...)
  2013-07-19  5:26 ` [ 53/72] ext4: fix overflows in SEEK_HOLE, SEEK_DATA implementations Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 55/72] ext4: fix overflow when counting used blocks on 32-bit architectures Greg Kroah-Hartman
                   ` (21 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Jan Kara, Theodore Tso

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Jan Kara <jack@suse.cz>

commit a60697f411eb365fb09e639e6f183fe33d1eb796 upstream.

On 32-bit architectures with 32-bit sector_t computation of data offset
in ext4_xattr_fiemap() can overflow resulting in reporting bogus data
location. Fix the problem by typing block number to proper type before
shifting.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ext4/extents.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -4659,7 +4659,7 @@ static int ext4_xattr_fiemap(struct inod
 		error = ext4_get_inode_loc(inode, &iloc);
 		if (error)
 			return error;
-		physical = iloc.bh->b_blocknr << blockbits;
+		physical = (__u64)iloc.bh->b_blocknr << blockbits;
 		offset = EXT4_GOOD_OLD_INODE_SIZE +
 				EXT4_I(inode)->i_extra_isize;
 		physical += offset;
@@ -4667,7 +4667,7 @@ static int ext4_xattr_fiemap(struct inod
 		flags |= FIEMAP_EXTENT_DATA_INLINE;
 		brelse(iloc.bh);
 	} else { /* external block */
-		physical = EXT4_I(inode)->i_file_acl << blockbits;
+		physical = (__u64)EXT4_I(inode)->i_file_acl << blockbits;
 		length = inode->i_sb->s_blocksize;
 	}
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 55/72] ext4: fix overflow when counting used blocks on 32-bit architectures
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (53 preceding siblings ...)
  2013-07-19  5:26 ` [ 54/72] ext4: fix data offset overflow in ext4_xattr_fiemap() on 32-bit archs Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 56/72] ext4: fix ext4_get_group_number() Greg Kroah-Hartman
                   ` (20 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Jan Kara, Theodore Tso

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Jan Kara <jack@suse.cz>

commit 8af8eecc1331dbf5e8c662022272cf667e213da5 upstream.

The arithmetics adding delalloc blocks to the number of used blocks in
ext4_getattr() can easily overflow on 32-bit archs as we first multiply
number of blocks by blocksize and then divide back by 512. Make the
arithmetics more clever and also use proper type (unsigned long long
instead of unsigned long).

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ext4/inode.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -4808,7 +4808,7 @@ int ext4_getattr(struct vfsmount *mnt, s
 		 struct kstat *stat)
 {
 	struct inode *inode;
-	unsigned long delalloc_blocks;
+	unsigned long long delalloc_blocks;
 
 	inode = dentry->d_inode;
 	generic_fillattr(inode, stat);
@@ -4826,7 +4826,7 @@ int ext4_getattr(struct vfsmount *mnt, s
 	delalloc_blocks = EXT4_C2B(EXT4_SB(inode->i_sb),
 				EXT4_I(inode)->i_reserved_data_blocks);
 
-	stat->blocks += (delalloc_blocks << inode->i_sb->s_blocksize_bits)>>9;
+	stat->blocks += delalloc_blocks << (inode->i_sb->s_blocksize_bits-9);
 	return 0;
 }
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 56/72] ext4: fix ext4_get_group_number()
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (54 preceding siblings ...)
  2013-07-19  5:26 ` [ 55/72] ext4: fix overflow when counting used blocks on 32-bit architectures Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 57/72] ext4: dont show usrquota/grpquota twice in /proc/mounts Greg Kroah-Hartman
                   ` (19 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Theodore Tso, Li Zhong, Lukas Czerner

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Theodore Ts'o <tytso@mit.edu>

commit 960fd856fdc3b08b3638f3f9b6b4bfceb77660c7 upstream.

The function ext4_get_group_number() was introduced as an optimization
in commit bd86298e60b8.  Unfortunately, this commit incorrectly
calculate the group number for file systems with a 1k block size (when
s_first_data_block is 1 instead of zero).  This could cause the
following kernel BUG:

[  568.877799] ------------[ cut here ]------------
[  568.877833] kernel BUG at fs/ext4/mballoc.c:3728!
[  568.877840] Oops: Exception in kernel mode, sig: 5 [#1]
[  568.877845] SMP NR_CPUS=32 NUMA pSeries
[  568.877852] Modules linked in: binfmt_misc
[  568.877861] CPU: 1 PID: 3516 Comm: fs_mark Not tainted 3.10.0-03216-g7c6809f-dirty #1
[  568.877867] task: c0000001fb0b8000 ti: c0000001fa954000 task.ti: c0000001fa954000
[  568.877873] NIP: c0000000002f42a4 LR: c0000000002f4274 CTR: c000000000317ef8
[  568.877879] REGS: c0000001fa956ed0 TRAP: 0700   Not tainted  (3.10.0-03216-g7c6809f-dirty)
[  568.877884] MSR: 8000000000029032 <SF,EE,ME,IR,DR,RI>  CR: 24000428  XER: 00000000
[  568.877902] SOFTE: 1
[  568.877905] CFAR: c0000000002b5464
[  568.877908]
GPR00: 0000000000000001 c0000001fa957150 c000000000c6a408 c0000001fb588000
GPR04: 0000000000003fff c0000001fa9571c0 c0000001fa9571c4 000138098c50625f
GPR08: 1301200000000000 0000000000000002 0000000000000001 0000000000000000
GPR12: 0000000024000422 c00000000f33a300 0000000000008000 c0000001fa9577f0
GPR16: c0000001fb7d0100 c000000000c29190 c0000000007f46e8 c000000000a14672
GPR20: 0000000000000001 0000000000000008 ffffffffffffffff 0000000000000000
GPR24: 0000000000000100 c0000001fa957278 c0000001fdb2bc78 c0000001fa957288
GPR28: 0000000000100100 c0000001fa957288 c0000001fb588000 c0000001fdb2bd10
[  568.877993] NIP [c0000000002f42a4] .ext4_mb_release_group_pa+0xec/0x1c0
[  568.877999] LR [c0000000002f4274] .ext4_mb_release_group_pa+0xbc/0x1c0
[  568.878004] Call Trace:
[  568.878008] [c0000001fa957150] [c0000000002f4274] .ext4_mb_release_group_pa+0xbc/0x1c0 (unreliable)
[  568.878017] [c0000001fa957200] [c0000000002fb070] .ext4_mb_discard_lg_preallocations+0x394/0x444
[  568.878025] [c0000001fa957340] [c0000000002fb45c] .ext4_mb_release_context+0x33c/0x734
[  568.878032] [c0000001fa957440] [c0000000002fbcf8] .ext4_mb_new_blocks+0x4a4/0x5f4
[  568.878039] [c0000001fa957510] [c0000000002ef56c] .ext4_ext_map_blocks+0xc28/0x1178
[  568.878047] [c0000001fa957640] [c0000000002c1a94] .ext4_map_blocks+0x2c8/0x490
[  568.878054] [c0000001fa957730] [c0000000002c536c] .ext4_writepages+0x738/0xc60
[  568.878062] [c0000001fa957950] [c000000000168a78] .do_writepages+0x5c/0x80
[  568.878069] [c0000001fa9579d0] [c00000000015d1c4] .__filemap_fdatawrite_range+0x88/0xb0
[  568.878078] [c0000001fa957aa0] [c00000000015d23c] .filemap_write_and_wait_range+0x50/0xfc
[  568.878085] [c0000001fa957b30] [c0000000002b8edc] .ext4_sync_file+0x220/0x3c4
[  568.878092] [c0000001fa957be0] [c0000000001f849c] .vfs_fsync_range+0x64/0x80
[  568.878098] [c0000001fa957c70] [c0000000001f84f0] .vfs_fsync+0x38/0x4c
[  568.878105] [c0000001fa957d00] [c0000000001f87f4] .do_fsync+0x54/0x90
[  568.878111] [c0000001fa957db0] [c0000000001f8894] .SyS_fsync+0x28/0x3c
[  568.878120] [c0000001fa957e30] [c000000000009c88] syscall_exit+0x0/0x7c
[  568.878125] Instruction dump:
[  568.878130] 60000000 813d0034 81610070 38000000 7f8b4800 419e001c 813f007c 7d2bfe70
[  568.878144] 7d604a78 7c005850 54000ffe 7c0007b4 <0b000000> e8a10076 e87f0090 7fa4eb78
[  568.878160] ---[ end trace 594d911d9654770b ]---

In addition fix the STD_GROUP optimization so that it works for
bigalloc file systems as well.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reported-by: Li Zhong <lizhongfs@gmail.com>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ext4/balloc.c |    4 ++--
 fs/ext4/super.c  |    8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

--- a/fs/ext4/balloc.c
+++ b/fs/ext4/balloc.c
@@ -38,8 +38,8 @@ ext4_group_t ext4_get_group_number(struc
 	ext4_group_t group;
 
 	if (test_opt2(sb, STD_GROUP_SIZE))
-		group = (le32_to_cpu(EXT4_SB(sb)->s_es->s_first_data_block) +
-			 block) >>
+		group = (block -
+			 le32_to_cpu(EXT4_SB(sb)->s_es->s_first_data_block)) >>
 			(EXT4_BLOCK_SIZE_BITS(sb) + EXT4_CLUSTER_BITS(sb) + 3);
 	else
 		ext4_get_group_no_and_offset(sb, block, &group, NULL);
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -3586,10 +3586,6 @@ static int ext4_fill_super(struct super_
 	sbi->s_addr_per_block_bits = ilog2(EXT4_ADDR_PER_BLOCK(sb));
 	sbi->s_desc_per_block_bits = ilog2(EXT4_DESC_PER_BLOCK(sb));
 
-	/* Do we have standard group size of blocksize * 8 blocks ? */
-	if (sbi->s_blocks_per_group == blocksize << 3)
-		set_opt2(sb, STD_GROUP_SIZE);
-
 	for (i = 0; i < 4; i++)
 		sbi->s_hash_seed[i] = le32_to_cpu(es->s_hash_seed[i]);
 	sbi->s_def_hash_version = es->s_def_hash_version;
@@ -3659,6 +3655,10 @@ static int ext4_fill_super(struct super_
 		goto failed_mount;
 	}
 
+	/* Do we have standard group size of clustersize * 8 blocks ? */
+	if (sbi->s_blocks_per_group == clustersize << 3)
+		set_opt2(sb, STD_GROUP_SIZE);
+
 	/*
 	 * Test whether we have more sectors than will fit in sector_t,
 	 * and whether the max offset is addressable by the page cache.



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 57/72] ext4: dont show usrquota/grpquota twice in /proc/mounts
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (55 preceding siblings ...)
  2013-07-19  5:26 ` [ 56/72] ext4: fix ext4_get_group_number() Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 58/72] ext4: dont allow ext4_free_blocks() to fail due to ENOMEM Greg Kroah-Hartman
                   ` (18 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Theodore Tso

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Theodore Ts'o <tytso@mit.edu>

commit ad065dd01662ae22138899e6b1c8eeb3a529964f upstream.

We now print mount options in a generic fashion in
ext4_show_options(), so we shouldn't be explicitly printing the
{usr,grp}quota options in ext4_show_quota_options().

Without this patch, /proc/mounts can look like this:

 /dev/vdb /vdb ext4 rw,relatime,quota,usrquota,data=ordered,usrquota 0 0
                                      ^^^^^^^^              ^^^^^^^^

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ext4/super.c |    6 ------
 1 file changed, 6 deletions(-)

--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -1684,12 +1684,6 @@ static inline void ext4_show_quota_optio
 
 	if (sbi->s_qf_names[GRPQUOTA])
 		seq_printf(seq, ",grpjquota=%s", sbi->s_qf_names[GRPQUOTA]);
-
-	if (test_opt(sb, USRQUOTA))
-		seq_puts(seq, ",usrquota");
-
-	if (test_opt(sb, GRPQUOTA))
-		seq_puts(seq, ",grpquota");
 #endif
 }
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 58/72] ext4: dont allow ext4_free_blocks() to fail due to ENOMEM
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (56 preceding siblings ...)
  2013-07-19  5:26 ` [ 57/72] ext4: dont show usrquota/grpquota twice in /proc/mounts Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 59/72] ARM: 7765/1: perf: Record the user-mode PC in the call chain Greg Kroah-Hartman
                   ` (17 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Nagachandra P, Theodore Tso

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Theodore Ts'o <tytso@mit.edu>

commit e7676a704ee0a1ef71a6b23760b5a8f6896cb1a1 upstream.

The filesystem should not be marked inconsistent if ext4_free_blocks()
is not able to allocate memory.  Unfortunately some callers (most
notably ext4_truncate) don't have a way to reflect an error back up to
the VFS.  And even if we did, most userspace applications won't deal
with most system calls returning ENOMEM anyway.

Reported-by: Nagachandra P <nagachandra@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ext4/mballoc.c |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -4735,11 +4735,16 @@ do_more:
 		 * blocks being freed are metadata. these blocks shouldn't
 		 * be used until this transaction is committed
 		 */
+	retry:
 		new_entry = kmem_cache_alloc(ext4_free_data_cachep, GFP_NOFS);
 		if (!new_entry) {
-			ext4_mb_unload_buddy(&e4b);
-			err = -ENOMEM;
-			goto error_return;
+			/*
+			 * We use a retry loop because
+			 * ext4_free_blocks() is not allowed to fail.
+			 */
+			cond_resched();
+			congestion_wait(BLK_RW_ASYNC, HZ/50);
+			goto retry;
 		}
 		new_entry->efd_start_cluster = bit;
 		new_entry->efd_group = block_group;



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 59/72] ARM: 7765/1: perf: Record the user-mode PC in the call chain.
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (57 preceding siblings ...)
  2013-07-19  5:26 ` [ 58/72] ext4: dont allow ext4_free_blocks() to fail due to ENOMEM Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 60/72] ARM: 7767/1: let the ASID allocator handle suspended animation Greg Kroah-Hartman
                   ` (16 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Jed Davis, Will Deacon, Russell King

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Jed Davis <jld@mozilla.com>

commit c5f927a6f62196226915f12194c9d0df4e2210d7 upstream.

With this change, we no longer lose the innermost entry in the user-mode
part of the call chain.  See also the x86 port, which includes the ip.

It's possible to partially work around this problem by post-processing
the data to use the PERF_SAMPLE_IP value, but this works only if the CPU
wasn't in the kernel when the sample was taken.

Signed-off-by: Jed Davis <jld@mozilla.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm/kernel/perf_event.c |    1 +
 1 file changed, 1 insertion(+)

--- a/arch/arm/kernel/perf_event.c
+++ b/arch/arm/kernel/perf_event.c
@@ -569,6 +569,7 @@ perf_callchain_user(struct perf_callchai
 		return;
 	}
 
+	perf_callchain_store(entry, regs->ARM_pc);
 	tail = (struct frame_tail __user *)regs->ARM_fp - 1;
 
 	while ((entry->nr < PERF_MAX_STACK_DEPTH) &&



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 60/72] ARM: 7767/1: let the ASID allocator handle suspended animation
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (58 preceding siblings ...)
  2013-07-19  5:26 ` [ 59/72] ARM: 7765/1: perf: Record the user-mode PC in the call chain Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 61/72] ARM: 7768/1: prevent risks of out-of-bound access in ASID allocator Greg Kroah-Hartman
                   ` (15 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Will Deacon, Catalin Carinas,
	Marc Zyngier, Russell King

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Marc Zyngier <Marc.Zyngier@arm.com>

commit ae120d9edfe96628f03d87634acda0bfa7110632 upstream.

When a CPU is running a process, the ASID for that process is
held in a per-CPU variable (the "active ASIDs" array). When
the ASID allocator handles a rollover, it copies the active
ASIDs into a "reserved ASIDs" array to ensure that a process
currently running on another CPU will continue to run unaffected.
The active array is zero-ed to indicate that a rollover occurred.

Because of this mechanism, a reserved ASID is only remembered for
a single rollover. A subsequent rollover will completely refill
the reserved ASIDs array.

In a severely oversubscribed environment where a CPU can be
prevented from running for extended periods of time (think virtual
machines), the above has a horrible side effect:

[P{a} denotes process P running with ASID a]

	CPU-0		CPU-1

	A{x}				[active = <x 0>]

	[suspended]	runs B{y}	[active = <x y>]

					[rollover:
					 active = <0 0>
					 reserved = <x y>]

			runs B{y}	[active = <0 y>
					 reserved = <x y>]

					[rollover:
					 active = <0 0>
					 reserved = <0 y>]

			runs C{x}	[active = <0 x>]

	[resumes]

	runs A{x}

At that stage, both A and C have the same ASID, with deadly
consequences.

The fix is to preserve reserved ASIDs across rollovers if
the CPU doesn't have an active ASID when the rollover occurs.

Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Catalin Carinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm/mm/context.c |    9 +++++++++
 1 file changed, 9 insertions(+)

--- a/arch/arm/mm/context.c
+++ b/arch/arm/mm/context.c
@@ -128,6 +128,15 @@ static void flush_context(unsigned int c
 			asid = 0;
 		} else {
 			asid = atomic64_xchg(&per_cpu(active_asids, i), 0);
+			/*
+			 * If this CPU has already been through a
+			 * rollover, but hasn't run another task in
+			 * the meantime, we must preserve its reserved
+			 * ASID, as this is the only trace we have of
+			 * the process it is still running.
+			 */
+			if (asid == 0)
+				asid = per_cpu(reserved_asids, i);
 			__set_bit(ASID_TO_IDX(asid), asid_map);
 		}
 		per_cpu(reserved_asids, i) = asid;



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 61/72] ARM: 7768/1: prevent risks of out-of-bound access in ASID allocator
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (59 preceding siblings ...)
  2013-07-19  5:26 ` [ 60/72] ARM: 7767/1: let the ASID allocator handle suspended animation Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 62/72] ARM: 7769/1: Cortex-A15: fix erratum 798181 implementation Greg Kroah-Hartman
                   ` (14 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Will Deacon, Catalin Marinas,
	Marc Zyngier, Russell King

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Marc Zyngier <Marc.Zyngier@arm.com>

commit b8e4a4740fa2b17c0a447b3ab783b3dc10702e27 upstream.

On a CPU that never ran anything, both the active and reserved ASID
fields are set to zero. In this case the ASID_TO_IDX() macro will
return -1, which is not a very useful value to index a bitmap.

Instead of trying to offset the ASID so that ASID #1 is actually
bit 0 in the asid_map bitmap, just always ignore bit 0 and start
the search from bit 1. This makes the code a bit more readable,
and without risk of OoB access.

Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm/mm/context.c |   17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

--- a/arch/arm/mm/context.c
+++ b/arch/arm/mm/context.c
@@ -39,10 +39,7 @@
  * non 64-bit operations.
  */
 #define ASID_FIRST_VERSION	(1ULL << ASID_BITS)
-#define NUM_USER_ASIDS		(ASID_FIRST_VERSION - 1)
-
-#define ASID_TO_IDX(asid)	((asid & ~ASID_MASK) - 1)
-#define IDX_TO_ASID(idx)	((idx + 1) & ~ASID_MASK)
+#define NUM_USER_ASIDS		ASID_FIRST_VERSION
 
 static DEFINE_RAW_SPINLOCK(cpu_asid_lock);
 static atomic64_t asid_generation = ATOMIC64_INIT(ASID_FIRST_VERSION);
@@ -137,7 +134,7 @@ static void flush_context(unsigned int c
 			 */
 			if (asid == 0)
 				asid = per_cpu(reserved_asids, i);
-			__set_bit(ASID_TO_IDX(asid), asid_map);
+			__set_bit(asid & ~ASID_MASK, asid_map);
 		}
 		per_cpu(reserved_asids, i) = asid;
 	}
@@ -176,17 +173,19 @@ static u64 new_context(struct mm_struct
 		/*
 		 * Allocate a free ASID. If we can't find one, take a
 		 * note of the currently active ASIDs and mark the TLBs
-		 * as requiring flushes.
+		 * as requiring flushes. We always count from ASID #1,
+		 * as we reserve ASID #0 to switch via TTBR0 and indicate
+		 * rollover events.
 		 */
-		asid = find_first_zero_bit(asid_map, NUM_USER_ASIDS);
+		asid = find_next_zero_bit(asid_map, NUM_USER_ASIDS, 1);
 		if (asid == NUM_USER_ASIDS) {
 			generation = atomic64_add_return(ASID_FIRST_VERSION,
 							 &asid_generation);
 			flush_context(cpu);
-			asid = find_first_zero_bit(asid_map, NUM_USER_ASIDS);
+			asid = find_next_zero_bit(asid_map, NUM_USER_ASIDS, 1);
 		}
 		__set_bit(asid, asid_map);
-		asid = generation | IDX_TO_ASID(asid);
+		asid |= generation;
 		cpumask_clear(mm_cpumask(mm));
 	}
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 62/72] ARM: 7769/1: Cortex-A15: fix erratum 798181 implementation
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (60 preceding siblings ...)
  2013-07-19  5:26 ` [ 61/72] ARM: 7768/1: prevent risks of out-of-bound access in ASID allocator Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 63/72] ARM: 7778/1: smp_twd: twd_update_frequency need be run on all online CPUs Greg Kroah-Hartman
                   ` (13 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Will Deacon, Catalin Marinas,
	Marc Zyngier, Russell King

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Marc Zyngier <Marc.Zyngier@arm.com>

commit 0d0752bca1f9a91fb646647aa4abbb21156f316c upstream.

Looking into the active_asids array is not enough, as we also need
to look into the reserved_asids array (they both represent processes
that are currently running).

Also, not holding the ASID allocator lock is racy, as another CPU
could schedule that process and trigger a rollover, making the erratum
workaround miss an IPI.

Exposing this outside of context.c is a little ugly on the side, so
let's define a new entry point that the erratum workaround can call
to obtain the cpumask.

Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm/include/asm/mmu_context.h |   10 +++++++++-
 arch/arm/kernel/smp_tlb.c          |   18 ++----------------
 arch/arm/mm/context.c              |   29 ++++++++++++++++++++++++++++-
 3 files changed, 39 insertions(+), 18 deletions(-)

--- a/arch/arm/include/asm/mmu_context.h
+++ b/arch/arm/include/asm/mmu_context.h
@@ -27,7 +27,15 @@ void __check_vmalloc_seq(struct mm_struc
 void check_and_switch_context(struct mm_struct *mm, struct task_struct *tsk);
 #define init_new_context(tsk,mm)	({ atomic64_set(&mm->context.id, 0); 0; })
 
-DECLARE_PER_CPU(atomic64_t, active_asids);
+#ifdef CONFIG_ARM_ERRATA_798181
+void a15_erratum_get_cpumask(int this_cpu, struct mm_struct *mm,
+			     cpumask_t *mask);
+#else  /* !CONFIG_ARM_ERRATA_798181 */
+static inline void a15_erratum_get_cpumask(int this_cpu, struct mm_struct *mm,
+					   cpumask_t *mask)
+{
+}
+#endif /* CONFIG_ARM_ERRATA_798181 */
 
 #else	/* !CONFIG_CPU_HAS_ASID */
 
--- a/arch/arm/kernel/smp_tlb.c
+++ b/arch/arm/kernel/smp_tlb.c
@@ -103,7 +103,7 @@ static void broadcast_tlb_a15_erratum(vo
 
 static void broadcast_tlb_mm_a15_erratum(struct mm_struct *mm)
 {
-	int cpu, this_cpu;
+	int this_cpu;
 	cpumask_t mask = { CPU_BITS_NONE };
 
 	if (!erratum_a15_798181())
@@ -111,21 +111,7 @@ static void broadcast_tlb_mm_a15_erratum
 
 	dummy_flush_tlb_a15_erratum();
 	this_cpu = get_cpu();
-	for_each_online_cpu(cpu) {
-		if (cpu == this_cpu)
-			continue;
-		/*
-		 * We only need to send an IPI if the other CPUs are running
-		 * the same ASID as the one being invalidated. There is no
-		 * need for locking around the active_asids check since the
-		 * switch_mm() function has at least one dmb() (as required by
-		 * this workaround) in case a context switch happens on
-		 * another CPU after the condition below.
-		 */
-		if (atomic64_read(&mm->context.id) ==
-		    atomic64_read(&per_cpu(active_asids, cpu)))
-			cpumask_set_cpu(cpu, &mask);
-	}
+	a15_erratum_get_cpumask(this_cpu, mm, &mask);
 	smp_call_function_many(&mask, ipi_flush_tlb_a15_erratum, NULL, 1);
 	put_cpu();
 }
--- a/arch/arm/mm/context.c
+++ b/arch/arm/mm/context.c
@@ -45,10 +45,37 @@ static DEFINE_RAW_SPINLOCK(cpu_asid_lock
 static atomic64_t asid_generation = ATOMIC64_INIT(ASID_FIRST_VERSION);
 static DECLARE_BITMAP(asid_map, NUM_USER_ASIDS);
 
-DEFINE_PER_CPU(atomic64_t, active_asids);
+static DEFINE_PER_CPU(atomic64_t, active_asids);
 static DEFINE_PER_CPU(u64, reserved_asids);
 static cpumask_t tlb_flush_pending;
 
+#ifdef CONFIG_ARM_ERRATA_798181
+void a15_erratum_get_cpumask(int this_cpu, struct mm_struct *mm,
+			     cpumask_t *mask)
+{
+	int cpu;
+	unsigned long flags;
+	u64 context_id, asid;
+
+	raw_spin_lock_irqsave(&cpu_asid_lock, flags);
+	context_id = mm->context.id.counter;
+	for_each_online_cpu(cpu) {
+		if (cpu == this_cpu)
+			continue;
+		/*
+		 * We only need to send an IPI if the other CPUs are
+		 * running the same ASID as the one being invalidated.
+		 */
+		asid = per_cpu(active_asids, cpu).counter;
+		if (asid == 0)
+			asid = per_cpu(reserved_asids, cpu);
+		if (context_id == asid)
+			cpumask_set_cpu(cpu, mask);
+	}
+	raw_spin_unlock_irqrestore(&cpu_asid_lock, flags);
+}
+#endif
+
 #ifdef CONFIG_ARM_LPAE
 static void cpu_set_reserved_ttbr0(void)
 {



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 63/72] ARM: 7778/1: smp_twd: twd_update_frequency need be run on all online CPUs
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (61 preceding siblings ...)
  2013-07-19  5:26 ` [ 62/72] ARM: 7769/1: Cortex-A15: fix erratum 798181 implementation Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 64/72] ARM: dts: imx: cpus/cpu nodes dts updates Greg Kroah-Hartman
                   ` (12 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Linus Walleij, Rob Herring,
	Shawn Guo, Arnd Bergmann, Jason Liu, Russell King

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Jason Liu <r64343@freescale.com>

commit cbbe6f82b489e7ceba4ad7c833bd3a76cd0084cb upstream.

When the local timer freq changed, the twd_update_frequency function
should be run all the CPUs include itself, otherwise, the twd freq will
not get updated and the local timer will not run correcttly.

smp_call_function will run functions on all other CPUs, but not include
himself, this is not correct,use on_each_cpu instead to fix this issue.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Jason Liu <r64343@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm/kernel/smp_twd.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/arm/kernel/smp_twd.c
+++ b/arch/arm/kernel/smp_twd.c
@@ -120,7 +120,7 @@ static int twd_rate_change(struct notifi
 	 * changing cpu.
 	 */
 	if (flags == POST_RATE_CHANGE)
-		smp_call_function(twd_update_frequency,
+		on_each_cpu(twd_update_frequency,
 				  (void *)&cnd->new_rate, 1);
 
 	return NOTIFY_OK;



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 64/72] ARM: dts: imx: cpus/cpu nodes dts updates
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (62 preceding siblings ...)
  2013-07-19  5:26 ` [ 63/72] ARM: 7778/1: smp_twd: twd_update_frequency need be run on all online CPUs Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 65/72] ARM: shmobile: r8a73a4: Fix resources for SCIFB0 Greg Kroah-Hartman
                   ` (11 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Lorenzo Pieralisi, Shawn Guo

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>

commit 7925e89f54fc49bcd1e73f0a65c4a3eb35b9cfb1 upstream.

This patch updates the in-kernel dts files according to the latest cpus
and cpu bindings updates for ARM.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm/boot/dts/imx23.dtsi  |    8 ++++++--
 arch/arm/boot/dts/imx28.dtsi  |    8 ++++++--
 arch/arm/boot/dts/imx6dl.dtsi |    2 ++
 arch/arm/boot/dts/imx6q.dtsi  |    4 ++++
 4 files changed, 18 insertions(+), 4 deletions(-)

--- a/arch/arm/boot/dts/imx23.dtsi
+++ b/arch/arm/boot/dts/imx23.dtsi
@@ -23,8 +23,12 @@
 	};
 
 	cpus {
-		cpu@0 {
-			compatible = "arm,arm926ejs";
+		#address-cells = <0>;
+		#size-cells = <0>;
+
+		cpu {
+			compatible = "arm,arm926ej-s";
+			device_type = "cpu";
 		};
 	};
 
--- a/arch/arm/boot/dts/imx28.dtsi
+++ b/arch/arm/boot/dts/imx28.dtsi
@@ -32,8 +32,12 @@
 	};
 
 	cpus {
-		cpu@0 {
-			compatible = "arm,arm926ejs";
+		#address-cells = <0>;
+		#size-cells = <0>;
+
+		cpu {
+			compatible = "arm,arm926ej-s";
+			device_type = "cpu";
 		};
 	};
 
--- a/arch/arm/boot/dts/imx6dl.dtsi
+++ b/arch/arm/boot/dts/imx6dl.dtsi
@@ -18,12 +18,14 @@
 
 		cpu@0 {
 			compatible = "arm,cortex-a9";
+			device_type = "cpu";
 			reg = <0>;
 			next-level-cache = <&L2>;
 		};
 
 		cpu@1 {
 			compatible = "arm,cortex-a9";
+			device_type = "cpu";
 			reg = <1>;
 			next-level-cache = <&L2>;
 		};
--- a/arch/arm/boot/dts/imx6q.dtsi
+++ b/arch/arm/boot/dts/imx6q.dtsi
@@ -18,6 +18,7 @@
 
 		cpu@0 {
 			compatible = "arm,cortex-a9";
+			device_type = "cpu";
 			reg = <0>;
 			next-level-cache = <&L2>;
 			operating-points = <
@@ -39,18 +40,21 @@
 
 		cpu@1 {
 			compatible = "arm,cortex-a9";
+			device_type = "cpu";
 			reg = <1>;
 			next-level-cache = <&L2>;
 		};
 
 		cpu@2 {
 			compatible = "arm,cortex-a9";
+			device_type = "cpu";
 			reg = <2>;
 			next-level-cache = <&L2>;
 		};
 
 		cpu@3 {
 			compatible = "arm,cortex-a9";
+			device_type = "cpu";
 			reg = <3>;
 			next-level-cache = <&L2>;
 		};



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 65/72] ARM: shmobile: r8a73a4: Fix resources for SCIFB0
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (63 preceding siblings ...)
  2013-07-19  5:26 ` [ 64/72] ARM: dts: imx: cpus/cpu nodes dts updates Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 66/72] ARM: shmobile: emev2 GIO3 resource fix Greg Kroah-Hartman
                   ` (10 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Takanari Hayama, Magnus Damm, Simon Horman

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Takanari Hayama <taki@igel.co.jp>

commit f820b60582f75e73e83b8505d7e48fe59770f558 upstream.

Fix base address and IRQ resources associated with SCIFB0.

This bug was introduced by e481a528901d0cd18b5b5fcbdc55207ea3b6ef68
("ARM: shmobile: r8a73a4 SCIF support V3") which was included in v3.10.

Signed-off-by: Takanari Hayama <taki@igel.co.jp>
Acked-by: Magnus Damm <damm@opensource.se>
[ horms+renesas@verge.net.au: Add information about commit and version
  this bug was added in ]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm/mach-shmobile/setup-r8a73a4.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/arm/mach-shmobile/setup-r8a73a4.c
+++ b/arch/arm/mach-shmobile/setup-r8a73a4.c
@@ -62,7 +62,7 @@ enum { SCIFA0, SCIFA1, SCIFB0, SCIFB1, S
 static const struct plat_sci_port scif[] = {
 	SCIFA_DATA(SCIFA0, 0xe6c40000, gic_spi(144)), /* SCIFA0 */
 	SCIFA_DATA(SCIFA1, 0xe6c50000, gic_spi(145)), /* SCIFA1 */
-	SCIFB_DATA(SCIFB0, 0xe6c50000, gic_spi(145)), /* SCIFB0 */
+	SCIFB_DATA(SCIFB0, 0xe6c20000, gic_spi(148)), /* SCIFB0 */
 	SCIFB_DATA(SCIFB1, 0xe6c30000, gic_spi(149)), /* SCIFB1 */
 	SCIFB_DATA(SCIFB2, 0xe6ce0000, gic_spi(150)), /* SCIFB2 */
 	SCIFB_DATA(SCIFB3, 0xe6cf0000, gic_spi(151)), /* SCIFB3 */



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 66/72] ARM: shmobile: emev2 GIO3 resource fix
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (64 preceding siblings ...)
  2013-07-19  5:26 ` [ 65/72] ARM: shmobile: r8a73a4: Fix resources for SCIFB0 Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 67/72] ARM: mm: fix boot on SA1110 Assabet Greg Kroah-Hartman
                   ` (9 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Magnus Damm, Simon Horman

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Magnus Damm <damm@opensource.se>

commit 1eb14ea1e6bcd11d6d0ba937fc39808bb4d3453e upstream.

Fix GIO3 base addresses for EMEV2.

This bug was introduced by 088efd9273b5076a0aead479aa31f1066d182b3e
("mach-shmobile: Emma Mobile EV2 GPIO support V3") which was included in v3.5.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm/mach-shmobile/setup-emev2.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--- a/arch/arm/mach-shmobile/setup-emev2.c
+++ b/arch/arm/mach-shmobile/setup-emev2.c
@@ -287,14 +287,14 @@ static struct gpio_em_config gio3_config
 static struct resource gio3_resources[] = {
 	[0] = {
 		.name	= "GIO_096",
-		.start	= 0xe0050100,
-		.end	= 0xe005012b,
+		.start	= 0xe0050180,
+		.end	= 0xe00501ab,
 		.flags	= IORESOURCE_MEM,
 	},
 	[1] = {
 		.name	= "GIO_096",
-		.start	= 0xe0050140,
-		.end	= 0xe005015f,
+		.start	= 0xe00501c0,
+		.end	= 0xe00501df,
 		.flags	= IORESOURCE_MEM,
 	},
 	[2] = {



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 67/72] ARM: mm: fix boot on SA1110 Assabet
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (65 preceding siblings ...)
  2013-07-19  5:26 ` [ 66/72] ARM: shmobile: emev2 GIO3 resource fix Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 68/72] drivers/dma/pl330.c: fix locking in pl330_free_chan_resources() Greg Kroah-Hartman
                   ` (8 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Russell King

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Russell King <rmk+kernel@arm.linux.org.uk>

commit 319e0b4f02f73983c03a2ca38595fc6367929edf upstream.

Commit 83db0384 (mm/ARM: use common help functions to free reserved
pages) broke booting on the Assabet by trying to convert a PFN to
a virtual address using the __va() macro.  This macro takes the
physical address, not a PFN.  Fix this.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm/mm/init.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -600,7 +600,7 @@ void __init mem_init(void)
 
 #ifdef CONFIG_SA1111
 	/* now that our DMA memory is actually so designated, we can free it */
-	free_reserved_area(__va(PHYS_PFN_OFFSET), swapper_pg_dir, 0, NULL);
+	free_reserved_area(__va(PHYS_OFFSET), swapper_pg_dir, 0, NULL);
 #endif
 
 	free_highpages();



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 68/72] drivers/dma/pl330.c: fix locking in pl330_free_chan_resources()
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (66 preceding siblings ...)
  2013-07-19  5:26 ` [ 67/72] ARM: mm: fix boot on SA1110 Assabet Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 69/72] memcg, kmem: fix reference count handling on the error path Greg Kroah-Hartman
                   ` (7 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Bartlomiej Zolnierkiewicz,
	Kyungmin Park, Jassi Brar, Vinod Koul, Tomasz Figa,
	Andrew Morton, Linus Torvalds

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>

commit da331ba8e9c5de72a27e50f71105395bba6eebe0 upstream.

tasklet_kill() may sleep so call it before taking pch->lock.

Fixes following lockup:

  BUG: scheduling while atomic: cat/2383/0x00000002
  Modules linked in:
    unwind_backtrace+0x0/0xfc
    __schedule_bug+0x4c/0x58
    __schedule+0x690/0x6e0
    sys_sched_yield+0x70/0x78
    tasklet_kill+0x34/0x8c
    pl330_free_chan_resources+0x24/0x88
    dma_chan_put+0x4c/0x50
  [...]
  BUG: spinlock lockup suspected on CPU#0, swapper/0/0
   lock: 0xe52aa04c, .magic: dead4ead, .owner: cat/2383, .owner_cpu: 1
    unwind_backtrace+0x0/0xfc
    do_raw_spin_lock+0x194/0x204
    _raw_spin_lock_irqsave+0x20/0x28
    pl330_tasklet+0x2c/0x5a8
    tasklet_action+0xfc/0x114
    __do_softirq+0xe4/0x19c
    irq_exit+0x98/0x9c
    handle_IPI+0x124/0x16c
    gic_handle_irq+0x64/0x68
    __irq_svc+0x40/0x70
    cpuidle_wrap_enter+0x4c/0xa0
    cpuidle_enter_state+0x18/0x68
    cpuidle_idle_call+0xac/0xe0
    cpu_idle+0xac/0xf0

Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Cc: Vinod Koul <vinod.koul@linux.intel.com>
Cc: Tomasz Figa <t.figa@samsung.com>
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>

---
 drivers/dma/pl330.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c
@@ -2485,10 +2485,10 @@ static void pl330_free_chan_resources(st
 	struct dma_pl330_chan *pch = to_pchan(chan);
 	unsigned long flags;
 
-	spin_lock_irqsave(&pch->lock, flags);
-
 	tasklet_kill(&pch->task);
 
+	spin_lock_irqsave(&pch->lock, flags);
+
 	pl330_release_channel(pch->pl330_chid);
 	pch->pl330_chid = NULL;
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 69/72] memcg, kmem: fix reference count handling on the error path
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (67 preceding siblings ...)
  2013-07-19  5:26 ` [ 68/72] drivers/dma/pl330.c: fix locking in pl330_free_chan_resources() Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 70/72] mm/memory-hotplug: fix lowmem count overflow when offline pages Greg Kroah-Hartman
                   ` (6 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Michal Hocko, Li Zefan,
	KAMEZAWA Hiroyuki, Hugh Dickins, Tejun Heo, Glauber Costa,
	Johannes Weiner, Andrew Morton, Linus Torvalds

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Michal Hocko <mhocko@suse.cz>

commit f37a96914d1aea10fed8d9af10251f0b9caea31b upstream.

mem_cgroup_css_online calls mem_cgroup_put if memcg_init_kmem fails.
This is not correct because only memcg_propagate_kmem takes an
additional reference while mem_cgroup_sockets_init is allowed to fail as
well (although no current implementation fails) but it doesn't take any
reference.  This all suggests that it should be memcg_propagate_kmem
that should clean up after itself so this patch moves mem_cgroup_put
over there.

Unfortunately this is not that easy (as pointed out by Li Zefan) because
memcg_kmem_mark_dead marks the group dead (KMEM_ACCOUNTED_DEAD) if it is
marked active (KMEM_ACCOUNTED_ACTIVE) which is the case even if
memcg_propagate_kmem fails so the additional reference is dropped in
that case in kmem_cgroup_destroy which means that the reference would be
dropped two times.

The easiest way then would be to simply remove mem_cgrroup_put from
mem_cgroup_css_online and rely on kmem_cgroup_destroy doing the right
thing.

Signed-off-by: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Li Zefan <lizefan@huawei.com>
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Glauber Costa <glommer@openvz.org>
Cc: Johannes Weiner <hannes@cmpxchg.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/memcontrol.c |    8 --------
 1 file changed, 8 deletions(-)

--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -6296,14 +6296,6 @@ mem_cgroup_css_online(struct cgroup *con
 
 	error = memcg_init_kmem(memcg, &mem_cgroup_subsys);
 	mutex_unlock(&memcg_create_mutex);
-	if (error) {
-		/*
-		 * We call put now because our (and parent's) refcnts
-		 * are already in place. mem_cgroup_put() will internally
-		 * call __mem_cgroup_free, so return directly
-		 */
-		mem_cgroup_put(memcg);
-	}
 	return error;
 }
 



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 70/72] mm/memory-hotplug: fix lowmem count overflow when offline pages
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (68 preceding siblings ...)
  2013-07-19  5:26 ` [ 69/72] memcg, kmem: fix reference count handling on the error path Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 71/72] Handle big endianness in NTLM (ntlmv2) authentication Greg Kroah-Hartman
                   ` (5 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, Wanpeng Li, Michal Hocko,
	KAMEZAWA Hiroyuki, David Rientjes, Andrew Morton, Linus Torvalds

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Wanpeng Li <liwanp@linux.vnet.ibm.com>

commit cea27eb2a202959783f81254c48c250ddd80e129 upstream.

The logic for the memory-remove code fails to correctly account the
Total High Memory when a memory block which contains High Memory is
offlined as shown in the example below.  The following patch fixes it.

Before logic memory remove:

MemTotal:        7603740 kB
MemFree:         6329612 kB
Buffers:           94352 kB
Cached:           872008 kB
SwapCached:            0 kB
Active:           626932 kB
Inactive:         519216 kB
Active(anon):     180776 kB
Inactive(anon):   222944 kB
Active(file):     446156 kB
Inactive(file):   296272 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:       7294672 kB
HighFree:        5704696 kB
LowTotal:         309068 kB
LowFree:          624916 kB

After logic memory remove:

MemTotal:        7079452 kB
MemFree:         5805976 kB
Buffers:           94372 kB
Cached:           872000 kB
SwapCached:            0 kB
Active:           626936 kB
Inactive:         519236 kB
Active(anon):     180780 kB
Inactive(anon):   222944 kB
Active(file):     446156 kB
Inactive(file):   296292 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:       7294672 kB
HighFree:        5181024 kB
LowTotal:       4294752076 kB
LowFree:          624952 kB

[mhocko@suse.cz: fix CONFIG_HIGHMEM=n build]
Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: David Rientjes <rientjes@google.com>
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/page_alloc.c |    4 ++++
 1 file changed, 4 insertions(+)

--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -6142,6 +6142,10 @@ __offline_isolated_pages(unsigned long s
 		list_del(&page->lru);
 		rmv_page_order(page);
 		zone->free_area[order].nr_free--;
+#ifdef CONFIG_HIGHMEM
+		if (PageHighMem(page))
+			totalhigh_pages -= 1 << order;
+#endif
 		for (i = 0; i < (1 << order); i++)
 			SetPageReserved((page+i));
 		pfn += (1 << order);



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 71/72] Handle big endianness in NTLM (ntlmv2) authentication
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (69 preceding siblings ...)
  2013-07-19  5:26 ` [ 70/72] mm/memory-hotplug: fix lowmem count overflow when offline pages Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  5:26 ` [ 72/72] UBIFS: correct mount message Greg Kroah-Hartman
                   ` (4 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, stable, steve, Shirish Pargaonkar,
	Jeff Layton, Steve French

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Steve French <smfrench@us.ibm.com>

commit fdf96a907c1fbb93c633e2b7ede3b8df26d6a4c0 upstream.

This is RH bug 970891
Uppercasing of username during calculation of ntlmv2 hash fails
because UniStrupr function does not handle big endian wchars.

Also fix a comment in the same code to reflect its correct usage.

[To make it easier for stable (rather than require 2nd patch) fixed
this patch of Shirish's to remove endian warning generated
by sparse -- steve f.]

Reported-by: steve <sanpatr1@in.ibm.com>
Signed-off-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/cifs/cifs_unicode.h |    8 ++++----
 fs/cifs/cifsencrypt.c  |    6 +++---
 2 files changed, 7 insertions(+), 7 deletions(-)

--- a/fs/cifs/cifs_unicode.h
+++ b/fs/cifs/cifs_unicode.h
@@ -327,14 +327,14 @@ UniToupper(register wchar_t uc)
 /*
  * UniStrupr:  Upper case a unicode string
  */
-static inline wchar_t *
-UniStrupr(register wchar_t *upin)
+static inline __le16 *
+UniStrupr(register __le16 *upin)
 {
-	register wchar_t *up;
+	register __le16 *up;
 
 	up = upin;
 	while (*up) {		/* For all characters */
-		*up = UniToupper(*up);
+		*up = cpu_to_le16(UniToupper(le16_to_cpu(*up)));
 		up++;
 	}
 	return upin;		/* Return input pointer */
--- a/fs/cifs/cifsencrypt.c
+++ b/fs/cifs/cifsencrypt.c
@@ -414,7 +414,7 @@ static int calc_ntlmv2_hash(struct cifs_
 	int rc = 0;
 	int len;
 	char nt_hash[CIFS_NTHASH_SIZE];
-	wchar_t *user;
+	__le16 *user;
 	wchar_t *domain;
 	wchar_t *server;
 
@@ -439,7 +439,7 @@ static int calc_ntlmv2_hash(struct cifs_
 		return rc;
 	}
 
-	/* convert ses->user_name to unicode and uppercase */
+	/* convert ses->user_name to unicode */
 	len = ses->user_name ? strlen(ses->user_name) : 0;
 	user = kmalloc(2 + (len * 2), GFP_KERNEL);
 	if (user == NULL) {
@@ -448,7 +448,7 @@ static int calc_ntlmv2_hash(struct cifs_
 	}
 
 	if (len) {
-		len = cifs_strtoUTF16((__le16 *)user, ses->user_name, len, nls_cp);
+		len = cifs_strtoUTF16(user, ses->user_name, len, nls_cp);
 		UniStrupr(user);
 	} else {
 		memset(user, '\0', 2);



^ permalink raw reply	[flat|nested] 90+ messages in thread

* [ 72/72] UBIFS: correct mount message
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (70 preceding siblings ...)
  2013-07-19  5:26 ` [ 71/72] Handle big endianness in NTLM (ntlmv2) authentication Greg Kroah-Hartman
@ 2013-07-19  5:26 ` Greg Kroah-Hartman
  2013-07-19  7:27 ` [ 00/72] 3.10.2-stable review Sven Joachim
                   ` (3 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Greg Kroah-Hartman, stable, Richard Genoud, Artem Bityutskiy

3.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Richard Genoud <richard.genoud@gmail.com>

commit beadadfa5467e09e36891f39cae1f5d8d3bbf17e upstream.

When mounting an UBIFS R/W volume, we have the message:
UBIFS: mounted UBI device 0, volume 1, name "rootfs"(null)
With this patch, we'll have:
UBIFS: mounted UBI device 0, volume 1, name "rootfs"
Which is, I think, what was intended.

Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ubifs/super.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -1412,7 +1412,7 @@ static int mount_ubifs(struct ubifs_info
 
 	ubifs_msg("mounted UBI device %d, volume %d, name \"%s\"%s",
 		  c->vi.ubi_num, c->vi.vol_id, c->vi.name,
-		  c->ro_mount ? ", R/O mode" : NULL);
+		  c->ro_mount ? ", R/O mode" : "");
 	x = (long long)c->main_lebs * c->leb_size;
 	y = (long long)c->log_lebs * c->leb_size + c->max_bud_bytes;
 	ubifs_msg("LEB size: %d bytes (%d KiB), min./max. I/O unit sizes: %d bytes/%d bytes",



^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 37/72] Input: bcm5974 - add support for the 2013 MacBook Air
  2013-07-19  5:25 ` [ 37/72] Input: bcm5974 - add support for the 2013 MacBook Air Greg Kroah-Hartman
@ 2013-07-19  5:40   ` Dmitry Torokhov
  2013-07-19  5:44     ` Greg Kroah-Hartman
  0 siblings, 1 reply; 90+ messages in thread
From: Dmitry Torokhov @ 2013-07-19  5:40 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, stable, Henrik Rydberg

Greg,

On Thu, Jul 18, 2013 at 10:25:54PM -0700, Greg Kroah-Hartman wrote:
> 3.10-stable review patch.  If anyone has any objections, please let me know.
> 
> ------------------
> 
> From: Dmitry Torokhov <rydberg@euromail.se>

Any chance you could change this to read "Henrik Rydberg"? My import
script messed up. And on hid part as well...

Thanks!

> 
> commit 148c1c8ad3c4170186ebe6ea5900adde27d2a0e7 upstream.
> 
> The June 2013 Macbook Air (13'') has a new trackpad protocol; four new
> values are inserted in the header, and the mode switch is no longer
> needed. This patch adds support for the new devices.
> 
> Reported-and-tested-by: Brad Ford <plymouthffl@gmail.com>
> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 
> ---
>  drivers/input/mouse/bcm5974.c |   36 ++++++++++++++++++++++++++++++++++--
>  1 file changed, 34 insertions(+), 2 deletions(-)
> 
> --- a/drivers/input/mouse/bcm5974.c
> +++ b/drivers/input/mouse/bcm5974.c
> @@ -88,6 +88,10 @@
>  #define USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI	0x0259
>  #define USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO	0x025a
>  #define USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS	0x025b
> +/* MacbookAir6,2 (unibody, June 2013) */
> +#define USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI	0x0291
> +#define USB_DEVICE_ID_APPLE_WELLSPRING8_ISO	0x0292
> +#define USB_DEVICE_ID_APPLE_WELLSPRING8_JIS	0x0293
>  
>  #define BCM5974_DEVICE(prod) {					\
>  	.match_flags = (USB_DEVICE_ID_MATCH_DEVICE |		\
> @@ -145,6 +149,10 @@ static const struct usb_device_id bcm597
>  	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI),
>  	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO),
>  	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS),
> +	/* MacbookAir6,2 */
> +	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI),
> +	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING8_ISO),
> +	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING8_JIS),
>  	/* Terminating entry */
>  	{}
>  };
> @@ -172,15 +180,18 @@ struct bt_data {
>  /* trackpad header types */
>  enum tp_type {
>  	TYPE1,			/* plain trackpad */
> -	TYPE2			/* button integrated in trackpad */
> +	TYPE2,			/* button integrated in trackpad */
> +	TYPE3			/* additional header fields since June 2013 */
>  };
>  
>  /* trackpad finger data offsets, le16-aligned */
>  #define FINGER_TYPE1		(13 * sizeof(__le16))
>  #define FINGER_TYPE2		(15 * sizeof(__le16))
> +#define FINGER_TYPE3		(19 * sizeof(__le16))
>  
>  /* trackpad button data offsets */
>  #define BUTTON_TYPE2		15
> +#define BUTTON_TYPE3		23
>  
>  /* list of device capability bits */
>  #define HAS_INTEGRATED_BUTTON	1
> @@ -400,6 +411,19 @@ static const struct bcm5974_config bcm59
>  		{ SN_COORD, -150, 6730 },
>  		{ SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION }
>  	},
> +	{
> +		USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI,
> +		USB_DEVICE_ID_APPLE_WELLSPRING8_ISO,
> +		USB_DEVICE_ID_APPLE_WELLSPRING8_JIS,
> +		HAS_INTEGRATED_BUTTON,
> +		0, sizeof(struct bt_data),
> +		0x83, TYPE3, FINGER_TYPE3, FINGER_TYPE3 + SIZEOF_ALL_FINGERS,
> +		{ SN_PRESSURE, 0, 300 },
> +		{ SN_WIDTH, 0, 2048 },
> +		{ SN_COORD, -4620, 5140 },
> +		{ SN_COORD, -150, 6600 },
> +		{ SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION }
> +	},
>  	{}
>  };
>  
> @@ -557,6 +581,9 @@ static int report_tp_state(struct bcm597
>  		input_report_key(input, BTN_LEFT, ibt);
>  	}
>  
> +	if (c->tp_type == TYPE3)
> +		input_report_key(input, BTN_LEFT, dev->tp_data[BUTTON_TYPE3]);
> +
>  	input_sync(input);
>  
>  	return 0;
> @@ -572,9 +599,14 @@ static int report_tp_state(struct bcm597
>  
>  static int bcm5974_wellspring_mode(struct bcm5974 *dev, bool on)
>  {
> -	char *data = kmalloc(8, GFP_KERNEL);
>  	int retval = 0, size;
> +	char *data;
> +
> +	/* Type 3 does not require a mode switch */
> +	if (dev->cfg.tp_type == TYPE3)
> +		return 0;
>  
> +	data = kmalloc(8, GFP_KERNEL);
>  	if (!data) {
>  		dev_err(&dev->intf->dev, "out of memory\n");
>  		retval = -ENOMEM;
> 
> 

-- 
Dmitry

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 37/72] Input: bcm5974 - add support for the 2013 MacBook Air
  2013-07-19  5:40   ` Dmitry Torokhov
@ 2013-07-19  5:44     ` Greg Kroah-Hartman
  2013-07-22  1:42       ` Greg Kroah-Hartman
  0 siblings, 1 reply; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19  5:44 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: linux-kernel, stable, Henrik Rydberg

On Thu, Jul 18, 2013 at 10:40:40PM -0700, Dmitry Torokhov wrote:
> Greg,
> 
> On Thu, Jul 18, 2013 at 10:25:54PM -0700, Greg Kroah-Hartman wrote:
> > 3.10-stable review patch.  If anyone has any objections, please let me know.
> > 
> > ------------------
> > 
> > From: Dmitry Torokhov <rydberg@euromail.se>
> 
> Any chance you could change this to read "Henrik Rydberg"? My import
> script messed up. And on hid part as well...

Ok, will do.

greg k-h

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 00/72] 3.10.2-stable review
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (71 preceding siblings ...)
  2013-07-19  5:26 ` [ 72/72] UBIFS: correct mount message Greg Kroah-Hartman
@ 2013-07-19  7:27 ` Sven Joachim
  2013-07-19 15:40   ` Greg Kroah-Hartman
  2013-07-19 23:16   ` Shuah Khan
                   ` (2 subsequent siblings)
  75 siblings, 1 reply; 90+ messages in thread
From: Sven Joachim @ 2013-07-19  7:27 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, torvalds, akpm, stable

On 2013-07-19 07:25 +0200, Greg Kroah-Hartman wrote:

> This is the start of the stable review cycle for the 3.10.2 release.
> There are 72 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 Sun Jul 21 05:25:08 UTC 2013.
> 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/v3.0/stable-review/patch-3.10.2-rc1.gz

I've spent just half an hour trying to figure out why this kernel failed
to install with an incomprehensible error message:

,----
|  BUILDDEB
| rm: invalid option -- 'c'
| Try `rm --help' for more information.
| make[2]: *** [_modinst_] Error 1
`----

It turned out that there's a trailing space in the 

SUBLEVEL = 2 

line in the Makefile, and that extra space ends up in MODLIB, finally
passing the 'rm' command _two_ parameters rather than one, the second
starting with "-rc1".

Cheers,
       Sven

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 00/72] 3.10.2-stable review
  2013-07-19  7:27 ` [ 00/72] 3.10.2-stable review Sven Joachim
@ 2013-07-19 15:40   ` Greg Kroah-Hartman
  2013-07-21  2:23     ` Satoru Takeuchi
  0 siblings, 1 reply; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19 15:40 UTC (permalink / raw)
  To: Sven Joachim; +Cc: linux-kernel, torvalds, akpm, stable

On Fri, Jul 19, 2013 at 09:27:46AM +0200, Sven Joachim wrote:
> On 2013-07-19 07:25 +0200, Greg Kroah-Hartman wrote:
> 
> > This is the start of the stable review cycle for the 3.10.2 release.
> > There are 72 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 Sun Jul 21 05:25:08 UTC 2013.
> > 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/v3.0/stable-review/patch-3.10.2-rc1.gz
> 
> I've spent just half an hour trying to figure out why this kernel failed
> to install with an incomprehensible error message:
> 
> ,----
> |  BUILDDEB
> | rm: invalid option -- 'c'
> | Try `rm --help' for more information.
> | make[2]: *** [_modinst_] Error 1
> `----
> 
> It turned out that there's a trailing space in the 
> 
> SUBLEVEL = 2 
> 
> line in the Makefile, and that extra space ends up in MODLIB, finally
> passing the 'rm' command _two_ parameters rather than one, the second
> starting with "-rc1".

Very strange, my editor doesn't show me trailing spaces like it used to,
I must have upgraded something recently...

Anyway, sorry about that, I've uploaded a -rc2 version of the patch at:
	kernel.org/pub/linux/kernel/v3.0/stable-review/patch-3.10.2-rc2.gz
that should have solved this issue.

If not, please let me know.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 00/72] 3.10.2-stable review
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
@ 2013-07-19 23:16   ` Shuah Khan
  2013-07-19  5:25 ` [ 02/72] CIFS: Fix a deadlock when a file is reopened Greg Kroah-Hartman
                     ` (74 subsequent siblings)
  75 siblings, 0 replies; 90+ messages in thread
From: Shuah Khan @ 2013-07-19 23:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, stable, Shuah Khan, shuahkhan

On 07/19/2013 09:32 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.10.2 release.
> There are 72 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 Sun Jul 21 05:25:08 UTC 2013.
> 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/v3.0/stable-review/patch-3.10.2-rc1.gz
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

Patches applied cleanly to 3.0.86, 3.4.54, 3.9.10, and 3.10.1

3.9.11-rc1 patch failed to build:
x64-64, mipsel, mips, powerpc, and tile: build failed with the following 
error:

    LD      ipc/built-in.o
    CC [M]  fs/cifs/inode.o
fs/cifs/inode.c: In function ‘cifs_all_info_to_fattr’:
fs/cifs/inode.c:560:4: error: implicit declaration of function
‘cifs_dbg’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[2]: *** [fs/cifs/inode.o] Error 1
make[1]: *** [fs/cifs] Error 2
make: *** [fs] Error 2
make: *** Waiting for unfinished jobs....
    CC      security/selinux/hooks.o

I have CONFIG_CIFS=m in my config and CONFIG_CIFS_DEBUG is disabled.
cifs_dbg() is not defined.

Compiled and booted on the following systems:

Samsung Series 9 900X4C Intel Corei5:
     (3.4.54-rc1, 3.9.10-rc1, 3.10.2-rc2)
HP ProBook 6475b AMD A10-4600M APU with Radeon(tm) HD Graphics:
     (3.0.87-rc1, 3.4.54-rc1, 3.9.10-rc1?, and 3.10.2-rc2)

dmesgs for all releases look good. No regressions compared to the 
previous dmesgs for each of these releases. dmesg emerg, crit, alert, 
err are clean. No regressions in warn.

Cross-compile testing:
HP Compaq dc7700 SFF desktop: x86-64 Intel Core-i2:
     (3.0.87-rc1, 3.4.54-rc1, 3.9.10-rc1?, and 3.10.2-rc2)

Cross-compile tests results:

alpha: defconfig passed on all
arm: defconfig passed on all
arm64: not applicable to 3.0.y, 3.4.y. defconfig passed on 3.9.y, and 3.10.y
c6x: not applicable to 3.0.y, defconfig passed on 3.4.y, 3.9.y, and 3.10.y
mips: defconfig passed on all, except 3.9.10
mipsel: defconfig passed on all, except 3.9.10
powerpc: wii_defconfig passed on all, except 3.9.10
sh: defconfig passed on all
sparc: defconfig passed on all
tile: tilegx_defconfig passed on all, except 3.9.10

-- Shuah

Shuah Khan, Linux Kernel Developer - Open Source Group Samsung Research 
America (Silicon Valley) shuah.kh@samsung.com | (970) 672-0658

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 00/72] 3.10.2-stable review
@ 2013-07-19 23:16   ` Shuah Khan
  0 siblings, 0 replies; 90+ messages in thread
From: Shuah Khan @ 2013-07-19 23:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, torvalds, akpm, stable, Shuah Khan, shuahkhan

On 07/19/2013 09:32 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.10.2 release.
> There are 72 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 Sun Jul 21 05:25:08 UTC 2013.
> 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/v3.0/stable-review/patch-3.10.2-rc1.gz
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

Patches applied cleanly to 3.0.86, 3.4.54, 3.9.10, and 3.10.1

3.9.11-rc1 patch failed to build:
x64-64, mipsel, mips, powerpc, and tile: build failed with the following 
error:

    LD      ipc/built-in.o
    CC [M]  fs/cifs/inode.o
fs/cifs/inode.c: In function �cifs_all_info_to_fattr�:
fs/cifs/inode.c:560:4: error: implicit declaration of function
�cifs_dbg� [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[2]: *** [fs/cifs/inode.o] Error 1
make[1]: *** [fs/cifs] Error 2
make: *** [fs] Error 2
make: *** Waiting for unfinished jobs....
    CC      security/selinux/hooks.o

I have CONFIG_CIFS=m in my config and CONFIG_CIFS_DEBUG is disabled.
cifs_dbg() is not defined.

Compiled and booted on the following systems:

Samsung Series 9 900X4C Intel Corei5:
     (3.4.54-rc1, 3.9.10-rc1, 3.10.2-rc2)
HP ProBook 6475b AMD A10-4600M APU with Radeon(tm) HD Graphics:
     (3.0.87-rc1, 3.4.54-rc1, 3.9.10-rc1?, and 3.10.2-rc2)

dmesgs for all releases look good. No regressions compared to the 
previous dmesgs for each of these releases. dmesg emerg, crit, alert, 
err are clean. No regressions in warn.

Cross-compile testing:
HP Compaq dc7700 SFF desktop: x86-64 Intel Core-i2:
     (3.0.87-rc1, 3.4.54-rc1, 3.9.10-rc1?, and 3.10.2-rc2)

Cross-compile tests results:

alpha: defconfig passed on all
arm: defconfig passed on all
arm64: not applicable to 3.0.y, 3.4.y. defconfig passed on 3.9.y, and 3.10.y
c6x: not applicable to 3.0.y, defconfig passed on 3.4.y, 3.9.y, and 3.10.y
mips: defconfig passed on all, except 3.9.10
mipsel: defconfig passed on all, except 3.9.10
powerpc: wii_defconfig passed on all, except 3.9.10
sh: defconfig passed on all
sparc: defconfig passed on all
tile: tilegx_defconfig passed on all, except 3.9.10

-- Shuah

Shuah Khan, Linux Kernel Developer - Open Source Group Samsung Research 
America (Silicon Valley) shuah.kh@samsung.com | (970) 672-0658

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 00/72] 3.10.2-stable review
  2013-07-19 23:16   ` Shuah Khan
  (?)
@ 2013-07-19 23:44   ` Greg Kroah-Hartman
  -1 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-19 23:44 UTC (permalink / raw)
  To: Shuah Khan; +Cc: linux-kernel, torvalds, akpm, stable, shuahkhan

On Fri, Jul 19, 2013 at 11:16:47PM +0000, Shuah Khan wrote:
> On 07/19/2013 09:32 AM, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 3.10.2 release.
> > There are 72 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 Sun Jul 21 05:25:08 UTC 2013.
> > 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/v3.0/stable-review/patch-3.10.2-rc1.gz
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
> >
> 
> Patches applied cleanly to 3.0.86, 3.4.54, 3.9.10, and 3.10.1
> 
> 3.9.11-rc1 patch failed to build:
> x64-64, mipsel, mips, powerpc, and tile: build failed with the following 
> error:

Thanks for testing and sending the results.  I've fixed the 3.9 build
issue and will push a new patch out in a bit.

greg k-h

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 00/72] 3.10.2-stable review
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (73 preceding siblings ...)
  2013-07-19 23:16   ` Shuah Khan
@ 2013-07-20  0:17 ` Stefan Lippers-Hollmann
  2013-07-20  0:25   ` [please disregard] " Stefan Lippers-Hollmann
  2013-07-21  7:56 ` Willy Tarreau
  75 siblings, 1 reply; 90+ messages in thread
From: Stefan Lippers-Hollmann @ 2013-07-20  0:17 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, stable

Hi

On Friday 19 July 2013, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.10.2 release.
[…]
> The whole patch series can be found in one patch at:
> 	kernel.org/pub/linux/kernel/v3.0/stable-review/patch-3.10.2-rc1.gz
> and the diffstat can be found below.

Minor nit, this introduces trailing whitespace in "SUBLEVEL = 2 ".

[…]
diff --git a/Makefile b/Makefile
index b75cc30..9b47ed3 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 VERSION = 3
 PATCHLEVEL = 10
-SUBLEVEL = 1
-EXTRAVERSION =
+SUBLEVEL = 2 
+EXTRAVERSION = -rc1
 NAME = Unicycling Gorilla
 
 # *DOCUMENTATION*
[…]

3.9.11-rc1, 3.4.54-rc1 and 3.0.87-rc1 are not affected.

Thank you a lot for your efforts of -stable maintenance!

Regards
	Stefan Lippers-Hollmann

^ permalink raw reply related	[flat|nested] 90+ messages in thread

* [please disregard] Re: [ 00/72] 3.10.2-stable review
  2013-07-20  0:17 ` Stefan Lippers-Hollmann
@ 2013-07-20  0:25   ` Stefan Lippers-Hollmann
  0 siblings, 0 replies; 90+ messages in thread
From: Stefan Lippers-Hollmann @ 2013-07-20  0:25 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, stable

Hi

On Saturday 20 July 2013, Stefan Lippers-Hollmann wrote:
[…]
> Minor nit, this introduces trailing whitespace in "SUBLEVEL = 2 ".

Please apologize for the noise, my mail client somehow hid the previous
sub thread pointing this out already.

Regards
	Stefan Lippers-Hollmann

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 00/72] 3.10.2-stable review
  2013-07-19 15:40   ` Greg Kroah-Hartman
@ 2013-07-21  2:23     ` Satoru Takeuchi
  0 siblings, 0 replies; 90+ messages in thread
From: Satoru Takeuchi @ 2013-07-21  2:23 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: Sven Joachim, linux-kernel, torvalds, akpm, stable

At Fri, 19 Jul 2013 08:40:24 -0700,
Greg Kroah-Hartman wrote:
> 
> On Fri, Jul 19, 2013 at 09:27:46AM +0200, Sven Joachim wrote:
> > On 2013-07-19 07:25 +0200, Greg Kroah-Hartman wrote:
> > 
> > > This is the start of the stable review cycle for the 3.10.2 release.
> > > There are 72 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 Sun Jul 21 05:25:08 UTC 2013.
> > > 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/v3.0/stable-review/patch-3.10.2-rc1.gz
> > 
> > I've spent just half an hour trying to figure out why this kernel failed
> > to install with an incomprehensible error message:
> > 
> > ,----
> > |  BUILDDEB
> > | rm: invalid option -- 'c'
> > | Try `rm --help' for more information.
> > | make[2]: *** [_modinst_] Error 1
> > `----
> > 
> > It turned out that there's a trailing space in the 
> > 
> > SUBLEVEL = 2 
> > 
> > line in the Makefile, and that extra space ends up in MODLIB, finally
> > passing the 'rm' command _two_ parameters rather than one, the second
> > starting with "-rc1".
> 
> Very strange, my editor doesn't show me trailing spaces like it used to,
> I must have upgraded something recently...
> 
> Anyway, sorry about that, I've uploaded a -rc2 version of the patch at:
> 	kernel.org/pub/linux/kernel/v3.0/stable-review/patch-3.10.2-rc2.gz
> that should have solved this issue.
> 
> If not, please let me know.

3.10.2-rc2 can be built and boot without any problem.
Building a kernel with this kernel also works fine.

 - Build Machine: debian jessy x86_64
   CPU: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz x 4
   memory: 8GB

 - Test machine: debian jessy x86_64(KVM guest on the Build Machine)
   vCPU: x2
   memory: 2GB

Thanks,
Satoru

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 00/72] 3.10.2-stable review
  2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
                   ` (74 preceding siblings ...)
  2013-07-20  0:17 ` Stefan Lippers-Hollmann
@ 2013-07-21  7:56 ` Willy Tarreau
  2013-07-21 15:50   ` Greg Kroah-Hartman
  75 siblings, 1 reply; 90+ messages in thread
From: Willy Tarreau @ 2013-07-21  7:56 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Gregory CLEMENT, Russell King
  Cc: linux-kernel, torvalds, akpm, stable, Nicolas Pitre

Hi Greg,

On Thu, Jul 18, 2013 at 10:25:17PM -0700, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 3.10.2 release.
> There are 72 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 Sun Jul 21 05:25:08 UTC 2013.
> 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/v3.0/stable-review/patch-3.10.2-rc1.gz
> and the diffstat can be found below.

As I saw a number of ARM fixes, I gave it a try on an Armada XP-GP
board. I observed no regression compared to 3.10.0. However I still
need to apply the following patch otherwise it hangs during the boot
process :

   faefd550c4 ARM: 7722/1: zImage: Convert 32bits memory size and address from ATAG to 64bits DTB

So Gregory, Russell, does this patch qualify for stable, and if so,
could it be proposed in a later version ?

Best regards,
Willy


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 00/72] 3.10.2-stable review
  2013-07-21  7:56 ` Willy Tarreau
@ 2013-07-21 15:50   ` Greg Kroah-Hartman
  0 siblings, 0 replies; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-21 15:50 UTC (permalink / raw)
  To: Willy Tarreau
  Cc: Gregory CLEMENT, Russell King, linux-kernel, torvalds, akpm,
	stable, Nicolas Pitre

On Sun, Jul 21, 2013 at 09:56:39AM +0200, Willy Tarreau wrote:
> Hi Greg,
> 
> On Thu, Jul 18, 2013 at 10:25:17PM -0700, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 3.10.2 release.
> > There are 72 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 Sun Jul 21 05:25:08 UTC 2013.
> > 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/v3.0/stable-review/patch-3.10.2-rc1.gz
> > and the diffstat can be found below.
> 
> As I saw a number of ARM fixes, I gave it a try on an Armada XP-GP
> board. I observed no regression compared to 3.10.0. However I still
> need to apply the following patch otherwise it hangs during the boot
> process :
> 
>    faefd550c4 ARM: 7722/1: zImage: Convert 32bits memory size and address from ATAG to 64bits DTB
> 
> So Gregory, Russell, does this patch qualify for stable, and if so,
> could it be proposed in a later version ?

Thanks for testing and letting me know.  I have no objection to adding
the above patch to the 3.10-stable releases, if the others agree.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 37/72] Input: bcm5974 - add support for the 2013 MacBook Air
  2013-07-19  5:44     ` Greg Kroah-Hartman
@ 2013-07-22  1:42       ` Greg Kroah-Hartman
  2013-07-22  2:21         ` Dmitry Torokhov
  0 siblings, 1 reply; 90+ messages in thread
From: Greg Kroah-Hartman @ 2013-07-22  1:42 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: linux-kernel, stable, Henrik Rydberg

On Thu, Jul 18, 2013 at 10:44:45PM -0700, Greg Kroah-Hartman wrote:
> On Thu, Jul 18, 2013 at 10:40:40PM -0700, Dmitry Torokhov wrote:
> > Greg,
> > 
> > On Thu, Jul 18, 2013 at 10:25:54PM -0700, Greg Kroah-Hartman wrote:
> > > 3.10-stable review patch.  If anyone has any objections, please let me know.
> > > 
> > > ------------------
> > > 
> > > From: Dmitry Torokhov <rydberg@euromail.se>
> > 
> > Any chance you could change this to read "Henrik Rydberg"? My import
> > script messed up. And on hid part as well...
> 
> Ok, will do.

And I promptly forgot to do this, and I released 3.10.2 with it as-is,
sorry about that.

greg k-h

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 37/72] Input: bcm5974 - add support for the 2013 MacBook Air
  2013-07-22  1:42       ` Greg Kroah-Hartman
@ 2013-07-22  2:21         ` Dmitry Torokhov
  2013-07-22 10:07           ` rydberg
  0 siblings, 1 reply; 90+ messages in thread
From: Dmitry Torokhov @ 2013-07-22  2:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, stable, Henrik Rydberg

On Sunday, July 21, 2013 06:42:03 PM Greg Kroah-Hartman wrote:
> On Thu, Jul 18, 2013 at 10:44:45PM -0700, Greg Kroah-Hartman wrote:
> > On Thu, Jul 18, 2013 at 10:40:40PM -0700, Dmitry Torokhov wrote:
> > > Greg,
> > > 
> > > On Thu, Jul 18, 2013 at 10:25:54PM -0700, Greg Kroah-Hartman wrote:
> > > > 3.10-stable review patch.  If anyone has any objections, please let me
> > > > know.
> > > > 
> > > > ------------------
> > > > 
> > > > From: Dmitry Torokhov <rydberg@euromail.se>
> > > 
> > > Any chance you could change this to read "Henrik Rydberg"? My import
> > > script messed up. And on hid part as well...
> > 
> > Ok, will do.
> 
> And I promptly forgot to do this, and I released 3.10.2 with it as-is,
> sorry about that.

Oh well, it was my screw up to begin with. Hopefully Henrik is not too annoyed 
with me.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 37/72] Input: bcm5974 - add support for the 2013 MacBook Air
  2013-07-22  2:21         ` Dmitry Torokhov
@ 2013-07-22 10:07           ` rydberg
  0 siblings, 0 replies; 90+ messages in thread
From: rydberg @ 2013-07-22 10:07 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Greg Kroah-Hartman, linux-kernel, stable

Hi Dmitry,

On Sun, Jul 21, 2013 at 07:21:29PM -0700, Dmitry Torokhov wrote:
> On Sunday, July 21, 2013 06:42:03 PM Greg Kroah-Hartman wrote:
> > On Thu, Jul 18, 2013 at 10:44:45PM -0700, Greg Kroah-Hartman wrote:
> > > On Thu, Jul 18, 2013 at 10:40:40PM -0700, Dmitry Torokhov wrote:
> > > > Greg,
> > > > 
> > > > On Thu, Jul 18, 2013 at 10:25:54PM -0700, Greg Kroah-Hartman wrote:
> > > > > 3.10-stable review patch.  If anyone has any objections, please let me
> > > > > know.
> > > > > 
> > > > > ------------------
> > > > > 
> > > > > From: Dmitry Torokhov <rydberg@euromail.se>
> > > > 
> > > > Any chance you could change this to read "Henrik Rydberg"? My import
> > > > script messed up. And on hid part as well...
> > > 
> > > Ok, will do.
> > 
> > And I promptly forgot to do this, and I released 3.10.2 with it as-is,
> > sorry about that.
> 
> Oh well, it was my screw up to begin with. Hopefully Henrik is not too annoyed 
> with me.

Well, it's the thought that counts, thanks for trying. As long as
people do not start to mix us up, I am happy. ;-)

Henrik

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 00/72] 3.10.2-stable review
  2013-07-20  1:43 John
@ 2013-07-20  2:07 ` Steven Rostedt
  0 siblings, 0 replies; 90+ messages in thread
From: Steven Rostedt @ 2013-07-20  2:07 UTC (permalink / raw)
  To: John; +Cc: lkml, Greg Kroah-Hartman

Please don't strip Cc's. This mailing list gets over 600 emails a day.
Nobody bothers to read all emails. By stripping the Cc's your message
will likely be ignored.

Luckily for you, I filter for stable releases.

On Fri, 2013-07-19 at 18:43 -0700, John wrote:
> Two hunks fail for me patching source from linux-3.10.tar.xz as shown:
> 
> patching file Documentation/parisc/registers
> patching file Makefile
> Hunk #1 FAILED at 1.
> 1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej

You need to apply it against 3.10.1, not 3.10.

-- Steve



^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [ 00/72] 3.10.2-stable review
@ 2013-07-20  1:43 John
  2013-07-20  2:07 ` Steven Rostedt
  0 siblings, 1 reply; 90+ messages in thread
From: John @ 2013-07-20  1:43 UTC (permalink / raw)
  To: lkml

[-- Attachment #1: Type: text/plain, Size: 3483 bytes --]

Two hunks fail for me patching source from linux-3.10.tar.xz as shown:

patching file Documentation/parisc/registers
patching file Makefile
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej
patching file arch/arm/boot/dts/imx23.dtsi
patching file arch/arm/boot/dts/imx28.dtsi
patching file arch/arm/boot/dts/imx6dl.dtsi
patching file arch/arm/boot/dts/imx6q.dtsi
patching file arch/arm/include/asm/mmu_context.h
patching file arch/arm/kernel/perf_event.c
patching file arch/arm/kernel/smp_tlb.c
patching file arch/arm/kernel/smp_twd.c
patching file arch/arm/mach-shmobile/setup-emev2.c
patching file arch/arm/mach-shmobile/setup-r8a73a4.c
patching file arch/arm/mm/context.c
patching file arch/arm/mm/init.c
patching file arch/c6x/mm/init.c
patching file arch/parisc/include/asm/special_insns.h
patching file arch/parisc/include/asm/tlbflush.h
patching file arch/parisc/kernel/cache.c
patching file arch/parisc/lib/memcpy.c
patching file arch/x86/boot/compressed/eboot.c
patching file arch/x86/xen/time.c
patching file drivers/acpi/Makefile
patching file drivers/acpi/acpi_cmos_rtc.c
patching file drivers/acpi/acpica/hwxfsleep.c
patching file drivers/acpi/device_pm.c
patching file drivers/acpi/ec.c
patching file drivers/acpi/internal.h
patching file drivers/acpi/scan.c
patching file drivers/ata/ahci.c
patching file drivers/ata/libahci.c
patching file drivers/block/nbd.c
Hunk #3 succeeded at 745 (offset -1 lines).
patching file drivers/dma/pl330.c
patching file drivers/hid/hid-apple.c
patching file drivers/hid/hid-core.c
patching file drivers/hid/hid-ids.h
patching file drivers/hv/ring_buffer.c
patching file drivers/hv/vmbus_drv.c
patching file drivers/input/mouse/bcm5974.c
patching file drivers/net/wireless/iwlwifi/pcie/tx.c
patching file drivers/net/wireless/rtlwifi/rtl8192cu/rf.c
patching file drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
patching file drivers/net/wireless/rtlwifi/rtl8723ae/sw.c
patching file drivers/parisc/lba_pci.c
patching file drivers/pci/iov.c
patching file drivers/pci/probe.c
patching file drivers/pci/quirks.c
patching file drivers/pci/xen-pcifront.c
patching file drivers/pcmcia/at91_cf.c
patching file drivers/rtc/rtc-rv3029c2.c
patching file drivers/tty/serial/pch_uart.c
patching file drivers/usb/gadget/f_mass_storage.c
patching file drivers/usb/host/ehci-omap.c
patching file drivers/usb/host/xhci-mem.c
patching file drivers/usb/host/xhci-plat.c
patching file drivers/usb/serial/option.c
patching file drivers/usb/serial/qcserial.c
patching file fs/btrfs/ctree.c
patching file fs/btrfs/send.c
patching file fs/cifs/cifs_unicode.h
patching file fs/cifs/cifsencrypt.c
patching file fs/cifs/file.c
patching file fs/cifs/inode.c
patching file fs/ext3/namei.c
patching file fs/ext4/balloc.c
patching file fs/ext4/extents.c
patching file fs/ext4/file.c
patching file fs/ext4/inline.c
patching file fs/ext4/inode.c
patching file fs/ext4/mballoc.c
patching file fs/ext4/namei.c
patching file fs/ext4/resize.c
patching file fs/ext4/super.c
patching file fs/jbd2/journal.c
patching file fs/jbd2/transaction.c
patching file fs/ocfs2/xattr.c
patching file fs/ubifs/super.c
patching file include/linux/cgroup.h
patching file include/linux/nbd.h
patching file kernel/cgroup.c
patching file kernel/irq/manage.c
patching file kernel/timer.c
patching file mm/memcontrol.c
Hunk #1 FAILED at 6296.
1 out of 1 hunk FAILED -- saving rejects to file mm/memcontrol.c.rej
patching file mm/page_alloc.c
patching file mm/slab.c

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Makefile.rej --]
[-- Type: text/x-reject; name="Makefile.rej", Size: 185 bytes --]

--- Makefile
+++ Makefile
@@ -1,7 +1,7 @@
 VERSION = 3
 PATCHLEVEL = 10
-SUBLEVEL = 1
-EXTRAVERSION =
+SUBLEVEL = 2
+EXTRAVERSION = -rc2
 NAME = Unicycling Gorilla
 
 # *DOCUMENTATION*

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: memcontrol.c.rej --]
[-- Type: text/x-reject; name="memcontrol.c.rej", Size: 402 bytes --]

--- mm/memcontrol.c
+++ mm/memcontrol.c
@@ -6296,14 +6296,6 @@
 
 	error = memcg_init_kmem(memcg, &mem_cgroup_subsys);
 	mutex_unlock(&memcg_create_mutex);
-	if (error) {
-		/*
-		 * We call put now because our (and parent's) refcnts
-		 * are already in place. mem_cgroup_put() will internally
-		 * call __mem_cgroup_free, so return directly
-		 */
-		mem_cgroup_put(memcg);
-	}
 	return error;
 }
 

^ permalink raw reply	[flat|nested] 90+ messages in thread

end of thread, other threads:[~2013-07-22 10:05 UTC | newest]

Thread overview: 90+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-19  5:25 [ 00/72] 3.10.2-stable review Greg Kroah-Hartman
2013-07-19  5:25 ` [ 01/72] CIFS use sensible file nlink values if unprovided Greg Kroah-Hartman
2013-07-19  5:25 ` [ 02/72] CIFS: Fix a deadlock when a file is reopened Greg Kroah-Hartman
2013-07-19  5:25 ` [ 03/72] rtlwifi: rtl8192cu: Add new USB ID for TP-Link TL-WN8200ND Greg Kroah-Hartman
2013-07-19  5:25 ` [ 04/72] rtlwifi: rtl8723ae: Fix typo in firmware names Greg Kroah-Hartman
2013-07-19  5:25 ` [ 05/72] rtlwifi: rtl8192cu: Fix duplicate if test Greg Kroah-Hartman
2013-07-19  5:25 ` [ 06/72] jbd2: move superblock checksum calculation to jbd2_write_superblock() Greg Kroah-Hartman
2013-07-19  5:25 ` [ 07/72] jbd2: fix theoretical race in jbd2__journal_restart Greg Kroah-Hartman
2013-07-19  5:25 ` [ 08/72] ext4: fix corruption when online resizing a fs with 1K block size Greg Kroah-Hartman
2013-07-19  5:25 ` [ 09/72] ext3,ext4: dont mess with dir_file->f_pos in htree_dirblock_to_tree() Greg Kroah-Hartman
2013-07-19  5:25 ` [ 10/72] ext4: check error return from ext4_write_inline_data_end() Greg Kroah-Hartman
2013-07-19  5:25 ` [ 11/72] pch_uart: Add uart_clk selection for the MinnowBoard Greg Kroah-Hartman
2013-07-19  5:25 ` [ 12/72] USB: option,qcserial: move Novatel Gobi1K IDs to qcserial Greg Kroah-Hartman
2013-07-19  5:25 ` [ 13/72] usb: gadget: f_mass_storage: add missing memory barrier for thread_wakeup_needed Greg Kroah-Hartman
2013-07-19  5:25 ` [ 14/72] USB: ehci-omap: Tweak PHY initialization sequence Greg Kroah-Hartman
2013-07-19  5:25 ` [ 15/72] xhci: check for failed dma pool allocation Greg Kroah-Hartman
2013-07-19  5:25 ` [ 16/72] usb: host: xhci-plat: release mem region while removing module Greg Kroah-Hartman
2013-07-19  5:25 ` [ 17/72] drivers: hv: switch to use mb() instead of smp_mb() Greg Kroah-Hartman
2013-07-19  5:25 ` [ 18/72] pcmcia: at91_cf: fix gpio_get_value in at91_cf_get_status Greg Kroah-Hartman
2013-07-19  5:25 ` [ 19/72] cgroup: fix umount vs cgroup_event_remove() race Greg Kroah-Hartman
2013-07-19  5:25 ` [ 20/72] cgroup: fix RCU accesses to task->cgroups Greg Kroah-Hartman
2013-07-19  5:25 ` [ 21/72] parisc: document the shadow registers Greg Kroah-Hartman
2013-07-19  5:25 ` [ 22/72] parisc: Fix gcc miscompilation in pa_memcpy() Greg Kroah-Hartman
2013-07-19  5:25 ` [ 23/72] slab: fix init_lock_keys Greg Kroah-Hartman
2013-07-19  5:25 ` [ 24/72] parisc: Ensure volatile space register %sr1 is not clobbered Greg Kroah-Hartman
2013-07-19  5:25 ` [ 25/72] parisc: fix LMMIO mismatch between PAT length and MASK register Greg Kroah-Hartman
2013-07-19  5:25 ` [ 26/72] parisc: optimize mtsp(0,sr) inline assembly Greg Kroah-Hartman
2013-07-19  5:25 ` [ 27/72] x86, efi: retry ExitBootServices() on failure Greg Kroah-Hartman
2013-07-19  5:25 ` [ 28/72] xen/time: remove blocked time accounting from xen "clockchip" Greg Kroah-Hartman
2013-07-19  5:25 ` [ 29/72] xen/pcifront: Deal with toolstack missing XenbusStateClosing state Greg Kroah-Hartman
2013-07-19  5:25 ` [ 30/72] genirq: Fix can_request_irq() for IRQs without an action Greg Kroah-Hartman
2013-07-19  5:25 ` [ 31/72] drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq Greg Kroah-Hartman
2013-07-19  5:25 ` [ 32/72] ACPI: Add CMOS RTC Operation Region handler support Greg Kroah-Hartman
2013-07-19  5:25 ` [ 33/72] ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan Greg Kroah-Hartman
2013-07-19  5:25 ` [ 34/72] ACPICA: Do not use extended sleep registers unless HW-reduced bit is set Greg Kroah-Hartman
2013-07-19  5:25 ` [ 35/72] ACPI / PM: Fix corner case in acpi_bus_update_power() Greg Kroah-Hartman
2013-07-19  5:25 ` [ 36/72] HID: apple: Add support for the 2013 Macbook Air Greg Kroah-Hartman
2013-07-19  5:25 ` [ 37/72] Input: bcm5974 - add support for the 2013 MacBook Air Greg Kroah-Hartman
2013-07-19  5:40   ` Dmitry Torokhov
2013-07-19  5:44     ` Greg Kroah-Hartman
2013-07-22  1:42       ` Greg Kroah-Hartman
2013-07-22  2:21         ` Dmitry Torokhov
2013-07-22 10:07           ` rydberg
2013-07-19  5:25 ` [ 38/72] arch: c6x: mm: include "asm/uaccess.h" to pass compiling Greg Kroah-Hartman
2013-07-19  5:25 ` [ 39/72] ocfs2: xattr: fix inlined xattr reflink Greg Kroah-Hartman
2013-07-19  5:25 ` [ 40/72] nbd: correct disconnect behavior Greg Kroah-Hartman
2013-07-19  5:25 ` [ 41/72] PCI: Finish SR-IOV VF setup before adding the device Greg Kroah-Hartman
2013-07-19  5:25 ` [ 42/72] PCI: Fix refcount issue in pci_create_root_bus() error recovery path Greg Kroah-Hartman
2013-07-19  5:26 ` [ 43/72] iwlwifi: pcie: fix race in queue unmapping Greg Kroah-Hartman
2013-07-19  5:26 ` [ 44/72] iwlwifi: pcie: wake the queue if stopped when being unmapped Greg Kroah-Hartman
2013-07-19  5:26 ` [ 45/72] ahci: Add AMD CZ SATA device ID Greg Kroah-Hartman
2013-07-19  5:26 ` [ 46/72] ahci: AHCI-mode SATA patch for Intel Coleto Creek DeviceIDs Greg Kroah-Hartman
2013-07-19  5:26 ` [ 47/72] ahci: remove pmp link online check in FBS EH Greg Kroah-Hartman
2013-07-19  5:26 ` [ 48/72] timer: Fix jiffies wrap behavior of round_jiffies_common() Greg Kroah-Hartman
2013-07-19  5:26 ` [ 49/72] Btrfs: fix estale with btrfs send Greg Kroah-Hartman
2013-07-19  5:26 ` [ 50/72] Btrfs: hold the tree mod lock in __tree_mod_log_rewind Greg Kroah-Hartman
2013-07-19  5:26 ` [ 51/72] Btrfs: only do the tree_mod_log_free_eb if this is our last ref Greg Kroah-Hartman
2013-07-19  5:26 ` [ 52/72] ext4: fix data offset overflow on 32-bit archs in ext4_inline_data_fiemap() Greg Kroah-Hartman
2013-07-19  5:26 ` [ 53/72] ext4: fix overflows in SEEK_HOLE, SEEK_DATA implementations Greg Kroah-Hartman
2013-07-19  5:26 ` [ 54/72] ext4: fix data offset overflow in ext4_xattr_fiemap() on 32-bit archs Greg Kroah-Hartman
2013-07-19  5:26 ` [ 55/72] ext4: fix overflow when counting used blocks on 32-bit architectures Greg Kroah-Hartman
2013-07-19  5:26 ` [ 56/72] ext4: fix ext4_get_group_number() Greg Kroah-Hartman
2013-07-19  5:26 ` [ 57/72] ext4: dont show usrquota/grpquota twice in /proc/mounts Greg Kroah-Hartman
2013-07-19  5:26 ` [ 58/72] ext4: dont allow ext4_free_blocks() to fail due to ENOMEM Greg Kroah-Hartman
2013-07-19  5:26 ` [ 59/72] ARM: 7765/1: perf: Record the user-mode PC in the call chain Greg Kroah-Hartman
2013-07-19  5:26 ` [ 60/72] ARM: 7767/1: let the ASID allocator handle suspended animation Greg Kroah-Hartman
2013-07-19  5:26 ` [ 61/72] ARM: 7768/1: prevent risks of out-of-bound access in ASID allocator Greg Kroah-Hartman
2013-07-19  5:26 ` [ 62/72] ARM: 7769/1: Cortex-A15: fix erratum 798181 implementation Greg Kroah-Hartman
2013-07-19  5:26 ` [ 63/72] ARM: 7778/1: smp_twd: twd_update_frequency need be run on all online CPUs Greg Kroah-Hartman
2013-07-19  5:26 ` [ 64/72] ARM: dts: imx: cpus/cpu nodes dts updates Greg Kroah-Hartman
2013-07-19  5:26 ` [ 65/72] ARM: shmobile: r8a73a4: Fix resources for SCIFB0 Greg Kroah-Hartman
2013-07-19  5:26 ` [ 66/72] ARM: shmobile: emev2 GIO3 resource fix Greg Kroah-Hartman
2013-07-19  5:26 ` [ 67/72] ARM: mm: fix boot on SA1110 Assabet Greg Kroah-Hartman
2013-07-19  5:26 ` [ 68/72] drivers/dma/pl330.c: fix locking in pl330_free_chan_resources() Greg Kroah-Hartman
2013-07-19  5:26 ` [ 69/72] memcg, kmem: fix reference count handling on the error path Greg Kroah-Hartman
2013-07-19  5:26 ` [ 70/72] mm/memory-hotplug: fix lowmem count overflow when offline pages Greg Kroah-Hartman
2013-07-19  5:26 ` [ 71/72] Handle big endianness in NTLM (ntlmv2) authentication Greg Kroah-Hartman
2013-07-19  5:26 ` [ 72/72] UBIFS: correct mount message Greg Kroah-Hartman
2013-07-19  7:27 ` [ 00/72] 3.10.2-stable review Sven Joachim
2013-07-19 15:40   ` Greg Kroah-Hartman
2013-07-21  2:23     ` Satoru Takeuchi
2013-07-19 23:16 ` Shuah Khan
2013-07-19 23:16   ` Shuah Khan
2013-07-19 23:44   ` Greg Kroah-Hartman
2013-07-20  0:17 ` Stefan Lippers-Hollmann
2013-07-20  0:25   ` [please disregard] " Stefan Lippers-Hollmann
2013-07-21  7:56 ` Willy Tarreau
2013-07-21 15:50   ` Greg Kroah-Hartman
2013-07-20  1:43 John
2013-07-20  2:07 ` Steven Rostedt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.