--- /dev/null
+From eff9a4b62b14cf0d9913e3caf1f26f8b7a6105c9 Mon Sep 17 00:00:00 2001
+From: Lan Tianyu <tianyu.lan@intel.com>
+Date: Wed, 5 Jun 2013 02:27:51 +0000
+Subject: ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan
+
+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
+@@ -964,6 +964,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},
+ {},
+ };
+
--- /dev/null
+From fafe5c3d82a470d73de53e6b08eb4e28d974d895 Mon Sep 17 00:00:00 2001
+From: Shane Huang <shane.huang@amd.com>
+Date: Mon, 3 Jun 2013 18:24:10 +0800
+Subject: ahci: Add AMD CZ SATA device ID
+
+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
+@@ -284,6 +284,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
+@@ -1122,6 +1122,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
--- /dev/null
+From 912b9ac683b112615d5605686f1dc086402ce9f7 Mon Sep 17 00:00:00 2001
+From: Shane Huang <shane.huang@amd.com>
+Date: Sat, 8 Jun 2013 16:00:16 +0800
+Subject: ahci: remove pmp link online check in FBS EH
+
+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
+@@ -1495,8 +1495,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;
+ }
--- /dev/null
+From 29ecd78c0fd6ee05f2c6b07b23823a6ae43c13ff Mon Sep 17 00:00:00 2001
+From: Axel Lin <axel.lin@ingics.com>
+Date: Wed, 3 Jul 2013 15:06:45 -0700
+Subject: drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq
+
+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;
+
--- /dev/null
+From 2779db8d37d4b542d9ca2575f5f178dbeaca6c86 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Fri, 28 Jun 2013 02:40:30 +0100
+Subject: genirq: Fix can_request_irq() for IRQs without an action
+
+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
+@@ -536,9 +536,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;
--- /dev/null
+From ef962df057aaafd714f5c22ba3de1be459571fdf Mon Sep 17 00:00:00 2001
+From: Junxiao Bi <junxiao.bi@oracle.com>
+Date: Wed, 3 Jul 2013 15:01:03 -0700
+Subject: ocfs2: xattr: fix inlined xattr reflink
+
+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
+@@ -6497,6 +6497,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);
usb-gadget-f_mass_storage-add-missing-memory-barrier-for-thread_wakeup_needed.patch
xhci-check-for-failed-dma-pool-allocation.patch
pcmcia-at91_cf-fix-gpio_get_value-in-at91_cf_get_status.patch
+xen-time-remove-blocked-time-accounting-from-xen-clockchip.patch
+genirq-fix-can_request_irq-for-irqs-without-an-action.patch
+drivers-rtc-rtc-rv3029c2.c-fix-disabling-aie-irq.patch
+acpi-ec-add-hp-folio-13-to-ec_dmi_table-in-order-to-skip-dsdt-scan.patch
+ocfs2-xattr-fix-inlined-xattr-reflink.patch
+ahci-add-amd-cz-sata-device-id.patch
+ahci-remove-pmp-link-online-check-in-fbs-eh.patch
+timer-fix-jiffies-wrap-behavior-of-round_jiffies_common.patch
--- /dev/null
+From 9e04d3804d3ac97d8c03a41d78d0f0674b5d01e1 Mon Sep 17 00:00:00 2001
+From: Bart Van Assche <bart.vanassche@gmail.com>
+Date: Tue, 21 May 2013 20:43:50 +0200
+Subject: timer: Fix jiffies wrap behavior of round_jiffies_common()
+
+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
+@@ -145,9 +145,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;
+ }
+
+ /**
--- /dev/null
+From 0b0c002c340e78173789f8afaa508070d838cf3d Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Tue, 18 Oct 2011 22:42:59 +0200
+Subject: xen/time: remove blocked time accounting from xen "clockchip"
+
+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 */