Hello community,

here is the log from the commit of package kernel-source for openSUSE:Factory 
checked in at 2015-07-14 17:21:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
 and      /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kernel-source"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes       
2015-06-23 12:05:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes  
2015-07-14 17:21:03.000000000 +0200
@@ -1,0 +2,66 @@
+Wed Jul  8 16:23:40 CEST 2015 - [email protected]
+
+- arm64: Don't report clear pmds and puds as huge.
+- commit cac28b3
+
+-------------------------------------------------------------------
+Tue Jun 30 09:05:53 CEST 2015 - [email protected]
+
+- Linux 4.1.1.
+- commit ab48011
+
+-------------------------------------------------------------------
+Mon Jun 29 13:53:27 CEST 2015 - [email protected]
+
+- Refresh
+  patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip.patch.
+- Refresh patches.fixes/mmc-sdhci-fix-low-memory-corruption.patch.
+  Update upstream statuses.
+- commit 11b8ced
+
+-------------------------------------------------------------------
+Mon Jun 29 13:48:30 CEST 2015 - [email protected]
+
+- drm/i915: Ensure cache flushes prior to doing CS flips
+  (bnc#931300).
+- commit 406255f
+
+-------------------------------------------------------------------
+Thu Jun 25 23:32:54 CEST 2015 - [email protected]
+
+- ARM64: config: UNWIND_INFO=y
+- commit 8193a68
+
+-------------------------------------------------------------------
+Wed Jun 24 08:25:32 CEST 2015 - [email protected]
+
+- Update Xen patches to 4.1-final and c/s 1289.
+- guarantee M2P to be invisible to user mode.
+- commit fc59188
+
+-------------------------------------------------------------------
+Wed Jun 24 05:16:43 CEST 2015 - [email protected]
+
+- NFSv4: When returning a delegation, don't reclaim an incompatible open mode 
(bnc#934202).
+- commit 6c74958
+
+-------------------------------------------------------------------
+Tue Jun 23 04:44:59 CEST 2015 - [email protected]
+
+- Update to 4.1-final.
+- commit d6cfe1f
+
+-------------------------------------------------------------------
+Thu Jun 18 18:07:55 CEST 2015 - [email protected]
+
+- x86/PCI: Use host bridge _CRS info on systems with >32 bit
+  addressing (bnc#907092).
+- x86/PCI: Use host bridge _CRS info on Foxconn K8M890-8237A
+  (bnc#907092).
+- x86/PCI: Use host bridge _CRS info on systems with >32 bit
+  addressing (bnc#907092).
+- x86/PCI: Use host bridge _CRS info on Foxconn K8M890-8237A
+  (bnc#907092).
+- commit 1d9da2e
+
+-------------------------------------------------------------------
@@ -15,0 +82,18 @@
+Tue Jun 16 16:03:55 CEST 2015 - [email protected]
+
+- Enable brcmfmac driver for x86-64 and i586 (boo#934932)
+- commit 3e79c51
+
+-------------------------------------------------------------------
+Mon Jun 15 15:46:12 CEST 2015 - [email protected]
+
+- Update to 4.1-rc8.
+- commit d3aa377
+
+-------------------------------------------------------------------
+Fri Jun 12 15:40:32 CEST 2015 - [email protected]
+
+- Update config files: extend CONFIG_DPM_WATCHDOG_TIMEOUT to 60 (bnc#934397)
+- commit b3acd3f
+
+-------------------------------------------------------------------
@@ -25 +109,10 @@
-- commit 0e899eb
+- commit ea963c7
+
+-------------------------------------------------------------------
+Tue Jun  9 21:02:26 CEST 2015 - [email protected]
+
+- Update to 4.1-rc7.
+- Config changes:
+  - arm64/armv7hl:
+    - PHY_QCOM_UFS=m
+- commit abe587d
@@ -37,0 +131,83 @@
+Sat Jun  6 23:38:38 CEST 2015 - [email protected]
+
+- ARM: config: Sync more settings with x86_64
+  Compile in modules that are =y on x86_64, remove modules
+  that are not compiled on x86_64
+- commit d36ab59
+
+-------------------------------------------------------------------
+Sat Jun  6 23:03:52 CEST 2015 - [email protected]
+
+- config: armv7hl: Disable CONFIG_FW_LOADER_USER_HELPER_FALLBACK
+  Only needed by DRM_STI, which we don't need, so disable
+  it alltogether (it isn't configured in userspace anyway
+  and deprecated)
+- commit 6ad70fc
+
+-------------------------------------------------------------------
+Sat Jun  6 23:02:13 CEST 2015 - [email protected]
+
+- config: armv7hl: Disable DECNET
+  DECNET is not enabled on any other arch either
+  and we don't need it
+- commit ec172d8
+
+-------------------------------------------------------------------
+Sat Jun  6 23:00:43 CEST 2015 - [email protected]
+
+- armv6hl: config: Reenable for 4.1
+  Generic options follow x86_64 ones.
+- commit 1d5f3b2
+
+-------------------------------------------------------------------
+Tue Jun  2 13:40:10 CEST 2015 - [email protected]
+
+- Fix patch headers of just updated Xen patches.
+- commit 78a3079
+
+-------------------------------------------------------------------
+Tue Jun  2 12:42:50 CEST 2015 - [email protected]
+
+- Update Xen patches to 4.1-rc6.
+- config.conf: Re-enabled Xen and PV configs.
+- Update config files.
+- commit 0447183
+
+-------------------------------------------------------------------
+Mon Jun  1 17:45:22 CEST 2015 - [email protected]
+
+- config: restore FRAME_POINTER configs to pre-4.1-rc1 values
+  The disabling of the stack unwind patches due to required merging
+  ended up enabling FRAME_POINTER on some configs. Now that stack
+  unwinding is re-enabled, we can disable it again.
+- commit e3d8f0a
+
+-------------------------------------------------------------------
+Mon Jun  1 16:59:19 CEST 2015 - [email protected]
+
+- config: revert options initially selected by EXT4_ENCRYPTION
+  EXT4_ENCRYPTION was initially a bool, which caused anything
+  selected by it to be selected as =y even if EXT4 was =m.
+  We can restore the following options back to being modular:
+- CRYPTO_CTS
+- CRYPTO_ECB
+- CRYPTO_GF128MUL
+- CRYPTO_XTS
+  Other crypto-related options enabled in the v4.1-rc1 update are
+  a result of INTEGRITY=y and can't be returned to modular options
+  without also disabling INTEGRITY.
+- commit 1c78a8e
+
+-------------------------------------------------------------------
+Mon Jun  1 16:21:11 CEST 2015 - [email protected]
+
+- Update to 4.1-rc6.
+- commit 9abfb15
+
+-------------------------------------------------------------------
+Fri May 29 17:50:29 CEST 2015 - [email protected]
+
+- Update to 4.1-rc5.
+- commit 5c5c1d1
+
+-------------------------------------------------------------------
@@ -43,0 +220,6 @@
+Thu May 28 18:51:09 CEST 2015 - [email protected]
+
+- arm64-0004-net-xgbe-Add-A0-silicon-support: adjust for gettime64/settime64
+- commit 8f2a4d1
+
+-------------------------------------------------------------------
@@ -49,0 +232,15 @@
+Thu May 28 12:49:08 CEST 2015 - [email protected]
+
+- Refresh patches.arch/x86_64-unwind-annotations.
+- Refresh
+  
patches.suse/revert-x86-remove-warning-and-warning_symbol-from-struct-stacktrace_ops.
+- Refresh patches.suse/stack-unwind.
+- Delete
+  patches.arch/stack-unwind-cfi_ignore-takes-more-arguments,
++++ 149 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes
kernel-default.changes: same change
kernel-desktop.changes: same change
kernel-docs.changes: same change
kernel-ec2.changes: same change
kernel-lpae.changes: same change
kernel-obs-build.changes: same change
kernel-obs-qa-xen.changes: same change
kernel-obs-qa.changes: same change
kernel-pae.changes: same change
kernel-pv.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-vanilla.changes: same change
kernel-xen.changes: same change

Old:
----
  linux-4.0.tar.xz

New:
----
  linux-4.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.cIwARF/_old  2015-07-14 17:21:11.000000000 +0200
+++ /var/tmp/diff_new_pack.cIwARF/_new  2015-07-14 17:21:11.000000000 +0200
@@ -19,8 +19,8 @@
 # This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
 # needssslcertforbuild
 
-%define srcversion 4.0
-%define patchversion 4.0.5
+%define srcversion 4.1
+%define patchversion 4.1.1
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -59,9 +59,9 @@
 Summary:        A Debug Version of the Kernel
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        4.0.5
+Version:        4.1.1
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g56152db
+Release:        <RELEASE>.gcac28b3
 %else
 Release:        0
 %endif

kernel-default.spec: same change
kernel-desktop.spec: same change
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.cIwARF/_old  2015-07-14 17:21:11.000000000 +0200
+++ /var/tmp/diff_new_pack.cIwARF/_new  2015-07-14 17:21:11.000000000 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define patchversion 4.0.5
+%define patchversion 4.1.1
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -27,9 +27,9 @@
 Summary:        Kernel Documentation (man pages)
 License:        GPL-2.0
 Group:          Documentation/Man
-Version:        4.0.5
+Version:        4.1.1
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g56152db
+Release:        <RELEASE>.gcac28b3
 %else
 Release:        0
 %endif

++++++ kernel-ec2.spec ++++++
--- /var/tmp/diff_new_pack.cIwARF/_old  2015-07-14 17:21:11.000000000 +0200
+++ /var/tmp/diff_new_pack.cIwARF/_new  2015-07-14 17:21:11.000000000 +0200
@@ -19,8 +19,8 @@
 # This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
 # needssslcertforbuild
 
-%define srcversion 4.0
-%define patchversion 4.0.5
+%define srcversion 4.1
+%define patchversion 4.1.1
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -59,9 +59,9 @@
 Summary:        The Amazon EC2 Xen Kernel
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        4.0.5
+Version:        4.1.1
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g56152db
+Release:        <RELEASE>.gcac28b3
 %else
 Release:        0
 %endif

kernel-lpae.spec: same change
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.cIwARF/_old  2015-07-14 17:21:11.000000000 +0200
+++ /var/tmp/diff_new_pack.cIwARF/_new  2015-07-14 17:21:11.000000000 +0200
@@ -19,7 +19,7 @@
 
 #!BuildIgnore: post-build-checks
 
-%define patchversion 4.0.5
+%define patchversion 4.1.1
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -45,9 +45,9 @@
 Summary:        package kernel and initrd for OBS VM builds
 License:        GPL-2.0
 Group:          SLES
-Version:        4.0.5
+Version:        4.1.1
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g56152db
+Release:        <RELEASE>.gcac28b3
 %else
 Release:        0
 %endif

++++++ kernel-obs-qa-xen.spec ++++++
--- /var/tmp/diff_new_pack.cIwARF/_old  2015-07-14 17:21:11.000000000 +0200
+++ /var/tmp/diff_new_pack.cIwARF/_new  2015-07-14 17:21:11.000000000 +0200
@@ -17,7 +17,7 @@
 # needsrootforbuild
 
 
-%define patchversion 4.0.5
+%define patchversion 4.1.1
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -36,9 +36,9 @@
 Summary:        Basic QA tests for the kernel
 License:        GPL-2.0
 Group:          SLES
-Version:        4.0.5
+Version:        4.1.1
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g56152db
+Release:        <RELEASE>.gcac28b3
 %else
 Release:        0
 %endif

kernel-obs-qa.spec: same change
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.cIwARF/_old  2015-07-14 17:21:11.000000000 +0200
+++ /var/tmp/diff_new_pack.cIwARF/_new  2015-07-14 17:21:11.000000000 +0200
@@ -19,8 +19,8 @@
 # This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
 # needssslcertforbuild
 
-%define srcversion 4.0
-%define patchversion 4.0.5
+%define srcversion 4.1
+%define patchversion 4.1.1
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -59,9 +59,9 @@
 Summary:        Kernel with PAE Support
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        4.0.5
+Version:        4.1.1
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g56152db
+Release:        <RELEASE>.gcac28b3
 %else
 Release:        0
 %endif

kernel-pv.spec: same change
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.cIwARF/_old  2015-07-14 17:21:11.000000000 +0200
+++ /var/tmp/diff_new_pack.cIwARF/_new  2015-07-14 17:21:11.000000000 +0200
@@ -17,8 +17,8 @@
 # icecream 0
 
 
-%define srcversion 4.0
-%define patchversion 4.0.5
+%define srcversion 4.1
+%define patchversion 4.1.1
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -30,9 +30,9 @@
 Summary:        The Linux Kernel Sources
 License:        GPL-2.0
 Group:          Development/Sources
-Version:        4.0.5
+Version:        4.1.1
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g56152db
+Release:        <RELEASE>.gcac28b3
 %else
 Release:        0
 %endif

++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.cIwARF/_old  2015-07-14 17:21:11.000000000 +0200
+++ /var/tmp/diff_new_pack.cIwARF/_new  2015-07-14 17:21:11.000000000 +0200
@@ -24,10 +24,10 @@
 Summary:        Kernel Symbol Versions (modversions)
 License:        GPL-2.0
 Group:          Development/Sources
-Version:        4.0.5
+Version:        4.1.1
 %if %using_buildservice
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g56152db
+Release:        <RELEASE>.gcac28b3
 %else
 Release:        0
 %endif

++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.cIwARF/_old  2015-07-14 17:21:11.000000000 +0200
+++ /var/tmp/diff_new_pack.cIwARF/_new  2015-07-14 17:21:11.000000000 +0200
@@ -19,8 +19,8 @@
 # This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
 # needssslcertforbuild
 
-%define srcversion 4.0
-%define patchversion 4.0.5
+%define srcversion 4.1
+%define patchversion 4.1.1
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -59,9 +59,9 @@
 Summary:        The Standard Kernel - without any SUSE patches
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        4.0.5
+Version:        4.1.1
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g56152db
+Release:        <RELEASE>.gcac28b3
 %else
 Release:        0
 %endif

kernel-xen.spec: same change
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.cIwARF/_old  2015-07-14 17:21:11.000000000 +0200
+++ /var/tmp/diff_new_pack.cIwARF/_new  2015-07-14 17:21:11.000000000 +0200
@@ -1,5 +1,5 @@
 # The version of the main tarball to use
-SRCVERSION=4.0
+SRCVERSION=4.1
 # variant of the kernel-source package, either empty or "-rt"
 VARIANT=
 # buildservice projects to build the kernel against

++++++ config.tar.bz2 ++++++
++++ 25082 lines of diff (skipped)

++++++ linux-4.0.tar.xz -> linux-4.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/kernel-source/linux-4.0.tar.xz 
/work/SRC/openSUSE:Factory/.kernel-source.new/linux-4.1.tar.xz differ: char 26, 
line 1

++++++ patches.arch.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.arch/arm-refresh-mach-types.diff 
new/patches.arch/arm-refresh-mach-types.diff
--- old/patches.arch/arm-refresh-mach-types.diff        2015-04-10 
16:47:20.000000000 +0200
+++ new/patches.arch/arm-refresh-mach-types.diff        2015-07-08 
16:23:40.000000000 +0200
@@ -11,7 +11,7 @@
 index a10297d..2d5541d 100644
 --- a/arch/arm/tools/mach-types
 +++ b/arch/arm/tools/mach-types
-@@ -12,552 +12,4044 @@
+@@ -12,551 +12,4043 @@
  #
  #   http://www.arm.linux.org.uk/developer/machines/?action=new
  #
@@ -3180,7 +3180,6 @@
 +punica                        MACH_PUNICA             PUNICA                  
3208
  trimslice             MACH_TRIMSLICE          TRIMSLICE               3209
 +mx27_wmultra          MACH_MX27_WMULTRA       MX27_WMULTRA            3210
- mackerel              MACH_MACKEREL           MACKEREL                3211
 +fa9x27                        MACH_FA9X27             FA9X27                  
3213
 +ns2816tb              MACH_NS2816TB           NS2816TB                3214
 +ns2816_ntpad          MACH_NS2816_NTPAD       NS2816_NTPAD            3215
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-0003-KVM-ARM-Add-arm-gic-400-compatible-support.patch 
new/patches.arch/arm64-0003-KVM-ARM-Add-arm-gic-400-compatible-support.patch
--- 
old/patches.arch/arm64-0003-KVM-ARM-Add-arm-gic-400-compatible-support.patch    
    2015-04-10 16:47:20.000000000 +0200
+++ 
new/patches.arch/arm64-0003-KVM-ARM-Add-arm-gic-400-compatible-support.patch    
    1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-From e439eba103b8d9bd079d4f8f63fc724cdaebca50 Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <[email protected]>
-Date: Thu, 11 Sep 2014 12:02:29 +0200
-Subject: [PATCH 03/10] KVM: ARM: Add "arm,gic-400" compatible support
-Patch-mainline: No
-References: bnc#902632
-
-Some device trees specify their GIC as compatible "arm,gic-400". The code
-supports those just fine, we were only missing the compatible to make it
-work.
-
-Signed-off-by: Alexander Graf <[email protected]>
-
----
- virt/kvm/arm/vgic.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/virt/kvm/arm/vgic.c b/virt/kvm/arm/vgic.c
-index 3aaca49..7613dea 100644
---- a/virt/kvm/arm/vgic.c
-+++ b/virt/kvm/arm/vgic.c
-@@ -2428,6 +2428,7 @@ static struct notifier_block vgic_cpu_nb = {
- 
- static const struct of_device_id vgic_ids[] = {
-       { .compatible = "arm,cortex-a15-gic", .data = vgic_v2_probe, },
-+      { .compatible = "arm,gic-400", .data = vgic_v2_probe, },
-       { .compatible = "arm,gic-v3", .data = vgic_v3_probe, },
-       {},
- };
--- 
-2.1.0
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-0004-net-xgbe-Add-A0-silicon-support.patch 
new/patches.arch/arm64-0004-net-xgbe-Add-A0-silicon-support.patch
--- old/patches.arch/arm64-0004-net-xgbe-Add-A0-silicon-support.patch   
2015-04-10 16:47:20.000000000 +0200
+++ new/patches.arch/arm64-0004-net-xgbe-Add-A0-silicon-support.patch   
2015-07-08 16:23:40.000000000 +0200
@@ -12,19 +12,33 @@
 Signed-off-by: Alexander Graf <[email protected]>
 Signed-off-by: Dirk Mueller <[email protected]>
 
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/Makefile
-===================================================================
---- linux-4.0-rc6-master.orig/drivers/net/ethernet/amd/Makefile
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/Makefile
+---
+ drivers/net/ethernet/amd/Makefile               |    1 
+ drivers/net/ethernet/amd/xgbe-a0/Makefile       |    8 
+ drivers/net/ethernet/amd/xgbe-a0/xgbe-common.h  | 1142 +++++++++
+ drivers/net/ethernet/amd/xgbe-a0/xgbe-dcb.c     |  269 ++
+ drivers/net/ethernet/amd/xgbe-a0/xgbe-debugfs.c |  373 +++
+ drivers/net/ethernet/amd/xgbe-a0/xgbe-desc.c    |  636 +++++
+ drivers/net/ethernet/amd/xgbe-a0/xgbe-dev.c     | 2930 
++++++++++++++++++++++++
+ drivers/net/ethernet/amd/xgbe-a0/xgbe-drv.c     | 2218 ++++++++++++++++++
+ drivers/net/ethernet/amd/xgbe-a0/xgbe-ethtool.c |  616 +++++
+ drivers/net/ethernet/amd/xgbe-a0/xgbe-main.c    |  643 +++++
+ drivers/net/ethernet/amd/xgbe-a0/xgbe-mdio.c    |  312 ++
+ drivers/net/ethernet/amd/xgbe-a0/xgbe-ptp.c     |  279 ++
+ drivers/net/ethernet/amd/xgbe-a0/xgbe.h         |  868 +++++++
+ drivers/net/phy/Makefile                        |    1 
+ drivers/net/phy/amd-xgbe-phy-a0.c               | 1800 ++++++++++++++
+ 15 files changed, 12096 insertions(+)
+
+--- a/drivers/net/ethernet/amd/Makefile
++++ b/drivers/net/ethernet/amd/Makefile
 @@ -18,3 +18,4 @@ obj-$(CONFIG_PCNET32) += pcnet32.o
  obj-$(CONFIG_SUN3LANCE) += sun3lance.o
  obj-$(CONFIG_SUNLANCE) += sunlance.o
  obj-$(CONFIG_AMD_XGBE) += xgbe/
 +obj-$(CONFIG_AMD_XGBE) += xgbe-a0/
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/Makefile
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/Makefile
++++ b/drivers/net/ethernet/amd/xgbe-a0/Makefile
 @@ -0,0 +1,8 @@
 +obj-$(CONFIG_AMD_XGBE) += amd-xgbe-a0.o
 +
@@ -34,10 +48,8 @@
 +
 +amd-xgbe-a0-$(CONFIG_AMD_XGBE_DCB) += xgbe-dcb.o
 +amd-xgbe-a0-$(CONFIG_DEBUG_FS) += xgbe-debugfs.o
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-common.h
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-common.h
++++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-common.h
 @@ -0,0 +1,1142 @@
 +/*
 + * AMD 10Gb Ethernet driver
@@ -1181,10 +1193,8 @@
 +} while (0)
 +
 +#endif
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-dcb.c
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-dcb.c
++++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-dcb.c
 @@ -0,0 +1,269 @@
 +/*
 + * AMD 10Gb Ethernet driver
@@ -1455,10 +1465,8 @@
 +{
 +      return &xgbe_dcbnl_ops;
 +}
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-debugfs.c
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-debugfs.c
++++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-debugfs.c
 @@ -0,0 +1,373 @@
 +/*
 + * AMD 10Gb Ethernet driver
@@ -1833,10 +1841,8 @@
 +      debugfs_remove_recursive(pdata->xgbe_debugfs);
 +      pdata->xgbe_debugfs = NULL;
 +}
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-desc.c
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-desc.c
++++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-desc.c
 @@ -0,0 +1,636 @@
 +/*
 + * AMD 10Gb Ethernet driver
@@ -2474,10 +2480,8 @@
 +
 +      DBGPR("<--xgbe_a0_init_function_ptrs_desc\n");
 +}
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-dev.c
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-dev.c
++++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-dev.c
 @@ -0,0 +1,2930 @@
 +/*
 + * AMD 10Gb Ethernet driver
@@ -5409,10 +5413,8 @@
 +
 +      DBGPR("<--xgbe_a0_init_function_ptrs\n");
 +}
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-drv.c
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-drv.c
++++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-drv.c
 @@ -0,0 +1,2218 @@
 +/*
 + * AMD 10Gb Ethernet driver
@@ -7632,10 +7634,8 @@
 +
 +      netdev_alert(netdev, "\n************** SKB dump ****************\n");
 +}
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-ethtool.c
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-ethtool.c
++++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-ethtool.c
 @@ -0,0 +1,616 @@
 +/*
 + * AMD 10Gb Ethernet driver
@@ -8253,10 +8253,8 @@
 +{
 +      return (struct ethtool_ops *)&xgbe_ethtool_ops;
 +}
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-main.c
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-main.c
++++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-main.c
 @@ -0,0 +1,643 @@
 +/*
 + * AMD 10Gb Ethernet driver
@@ -8901,10 +8899,8 @@
 +};
 +
 +module_platform_driver(xgbe_a0_driver);
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-mdio.c
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-mdio.c
++++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-mdio.c
 @@ -0,0 +1,312 @@
 +/*
 + * AMD 10Gb Ethernet driver
@@ -9218,11 +9214,9 @@
 +
 +      DBGPR("<--xgbe_a0_mdio_unregister\n");
 +}
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-ptp.c
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe-ptp.c
-@@ -0,0 +1,278 @@
++++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-ptp.c
+@@ -0,0 +1,279 @@
 +/*
 + * AMD 10Gb Ethernet driver
 + *
@@ -9404,7 +9398,7 @@
 +      return 0;
 +}
 +
-+static int xgbe_gettime(struct ptp_clock_info *info, struct timespec *ts)
++static int xgbe_gettime(struct ptp_clock_info *info, struct timespec64 *ts)
 +{
 +      struct xgbe_prv_data *pdata = container_of(info,
 +                                                 struct xgbe_prv_data,
@@ -9418,12 +9412,13 @@
 +
 +      spin_unlock_irqrestore(&pdata->tstamp_lock, flags);
 +
-+      *ts = ns_to_timespec(nsec);
++      *ts = ns_to_timespec64(nsec);
 +
 +      return 0;
 +}
 +
-+static int xgbe_settime(struct ptp_clock_info *info, const struct timespec 
*ts)
++static int xgbe_settime(struct ptp_clock_info *info,
++                       const struct timespec64 *ts)
 +{
 +      struct xgbe_prv_data *pdata = container_of(info,
 +                                                 struct xgbe_prv_data,
@@ -9431,7 +9426,7 @@
 +      unsigned long flags;
 +      u64 nsec;
 +
-+      nsec = timespec_to_ns(ts);
++      nsec = timespec64_to_ns(ts);
 +
 +      spin_lock_irqsave(&pdata->tstamp_lock, flags);
 +
@@ -9461,8 +9456,8 @@
 +      info->max_adj = pdata->ptpclk_rate;
 +      info->adjfreq = xgbe_adjfreq;
 +      info->adjtime = xgbe_adjtime;
-+      info->gettime = xgbe_gettime;
-+      info->settime = xgbe_settime;
++      info->gettime64 = xgbe_gettime;
++      info->settime64 = xgbe_settime;
 +      info->enable = xgbe_enable;
 +
 +      clock = ptp_clock_register(info, pdata->dev);
@@ -9501,10 +9496,8 @@
 +      if (pdata->ptp_clock)
 +              ptp_clock_unregister(pdata->ptp_clock);
 +}
-Index: linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe.h
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/ethernet/amd/xgbe-a0/xgbe.h
++++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe.h
 @@ -0,0 +1,868 @@
 +/*
 + * AMD 10Gb Ethernet driver
@@ -10374,20 +10367,16 @@
 +#endif
 +
 +#endif
-Index: linux-4.0-rc6-master/drivers/net/phy/Makefile
-===================================================================
---- linux-4.0-rc6-master.orig/drivers/net/phy/Makefile
-+++ linux-4.0-rc6-master/drivers/net/phy/Makefile
+--- a/drivers/net/phy/Makefile
++++ b/drivers/net/phy/Makefile
 @@ -34,4 +34,5 @@ obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += md
  obj-$(CONFIG_MDIO_SUN4I)      += mdio-sun4i.o
  obj-$(CONFIG_MDIO_MOXART)     += mdio-moxart.o
  obj-$(CONFIG_AMD_XGBE_PHY)    += amd-xgbe-phy.o
 +obj-$(CONFIG_AMD_XGBE_PHY)    += amd-xgbe-phy-a0.o
  obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o
-Index: linux-4.0-rc6-master/drivers/net/phy/amd-xgbe-phy-a0.c
-===================================================================
 --- /dev/null
-+++ linux-4.0-rc6-master/drivers/net/phy/amd-xgbe-phy-a0.c
++++ b/drivers/net/phy/amd-xgbe-phy-a0.c
 @@ -0,0 +1,1800 @@
 +/*
 + * AMD 10Gb Ethernet PHY driver
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch 
new/patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch
--- 
old/patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch   
    2015-04-10 16:47:20.000000000 +0200
+++ 
new/patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch   
    2015-07-08 16:23:40.000000000 +0200
@@ -19,8 +19,8 @@
 --- a/arch/arm64/boot/dts/apm/apm-storm.dtsi
 +++ b/arch/arm64/boot/dts/apm/apm-storm.dtsi
 @@ -103,6 +103,11 @@
-               #size-cells = <2>;
                ranges;
+               dma-ranges = <0x0 0x0 0x0 0x0 0x400 0x0>;
  
 +              scu: system-clk-controller@17000000 {
 +                      compatible = "apm,xgene-scu","syscon";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-0007-arm64-Do-not-call-enable-PCI-resources-when-specify-.patch
 
new/patches.arch/arm64-0007-arm64-Do-not-call-enable-PCI-resources-when-specify-.patch
--- 
old/patches.arch/arm64-0007-arm64-Do-not-call-enable-PCI-resources-when-specify-.patch
      2015-04-10 16:47:20.000000000 +0200
+++ 
new/patches.arch/arm64-0007-arm64-Do-not-call-enable-PCI-resources-when-specify-.patch
      2015-07-08 16:23:40.000000000 +0200
@@ -28,9 +28,9 @@
 --- a/arch/arm64/kernel/pci.c
 +++ b/arch/arm64/kernel/pci.c
 @@ -68,3 +68,11 @@ void pci_bus_assign_domain_nr(struct pci_bus *bus, struct 
device *parent)
- 
-       return 0;
+       return NULL;
  }
+ #endif
 +
 +int pcibios_enable_device(struct pci_dev *dev, int mask)
 +{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-0010-KVM-ARM-Hack-to-enable-VGIC-mapping-on-64k-PAGE_SIZE.patch
 
new/patches.arch/arm64-0010-KVM-ARM-Hack-to-enable-VGIC-mapping-on-64k-PAGE_SIZE.patch
--- 
old/patches.arch/arm64-0010-KVM-ARM-Hack-to-enable-VGIC-mapping-on-64k-PAGE_SIZE.patch
      2015-04-10 16:47:20.000000000 +0200
+++ 
new/patches.arch/arm64-0010-KVM-ARM-Hack-to-enable-VGIC-mapping-on-64k-PAGE_SIZE.patch
      2015-07-08 16:23:40.000000000 +0200
@@ -106,16 +106,16 @@
 --- linux-4.0-rc5-master.orig/virt/kvm/arm/vgic-v2-emul.c
 +++ linux-4.0-rc5-master/virt/kvm/arm/vgic-v2-emul.c
 @@ -517,6 +517,13 @@ static int vgic_v2_map_resources(struct
-               goto out;
+               goto out_unregister;
        }
  
-+      if ((kvm->arch.vgic.vgic_cpu_base & ~PAGE_MASK) !=
++      if ((dist->vgic_cpu_base & ~PAGE_MASK) !=
 +          (params->vcpu_base & ~PAGE_MASK)) {
 +              kvm_err("Need to align vgic identically in guest and host\n");
 +              ret = -ENXIO;
-+              goto out;
++              goto out_unregister;
 +      }
 +
-       ret = kvm_phys_addr_ioremap(kvm, kvm->arch.vgic.vgic_cpu_base,
+       ret = kvm_phys_addr_ioremap(kvm, dist->vgic_cpu_base,
                                    params->vcpu_base, KVM_VGIC_V2_CPU_SIZE,
                                    true);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-0011-Enable-CONFIG_COMPAT-also-for-64k-page-size.patch 
new/patches.arch/arm64-0011-Enable-CONFIG_COMPAT-also-for-64k-page-size.patch
--- 
old/patches.arch/arm64-0011-Enable-CONFIG_COMPAT-also-for-64k-page-size.patch   
    2015-04-10 16:47:20.000000000 +0200
+++ 
new/patches.arch/arm64-0011-Enable-CONFIG_COMPAT-also-for-64k-page-size.patch   
    1970-01-01 01:00:00.000000000 +0100
@@ -1,54 +0,0 @@
-From a3ebb7c0471ed11000f024203ff2695fb2346797 Mon Sep 17 00:00:00 2001
-From: Alexander Graf <[email protected]>
-Date: Thu, 4 Dec 2014 16:44:05 +0100
-Subject: [PATCH v2] arm64: Enable CONFIG_COMPAT also for 64k page size
-Patch-mainline: No
-References: bnc#908468
-
-With binutils 2.25 the default alignment for 32bit arm sections changed to
-have everything 64k aligned. Armv7 binaries built with this binutils version
-run successfully on an arm64 system.
-
-Since effectively there is now the chance to run armv7 code on arm64 even
-with 64k page size, it doesn't make sense to block people from enabling
-CONFIG_COMPAT on those configurations.
-
-Signed-off-by: Alexander Graf <[email protected]>
-
----
-
-v1 -> v2:
-
-  - add comment in KConfig explaining that segments need to be 64k aligned
-  - conditionalize the option on EXPERT
----
- arch/arm64/Kconfig | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
-index 9532f8d..7fc0ad6 100644
---- a/arch/arm64/Kconfig
-+++ b/arch/arm64/Kconfig
-@@ -409,7 +409,7 @@ source "fs/Kconfig.binfmt"
- 
- config COMPAT
-       bool "Kernel support for 32-bit EL0"
--      depends on !ARM64_64K_PAGES
-+      depends on !ARM64_64K_PAGES || EXPERT
-       select COMPAT_BINFMT_ELF
-       select HAVE_UID16
-       select OLD_SIGSUSPEND3
-@@ -420,6 +420,10 @@ config COMPAT
-         the user helper functions, VFP support and the ptrace interface are
-         handled appropriately by the kernel.
- 
-+        If you also enabled CONFIG_ARM64_64K_PAGES, please be aware that you
-+        will only be able to execute AArch32 binaries that were compiled with
-+        64k aligned segments.
-+
-         If you want to execute 32-bit userspace applications, say Y.
- 
- config SYSVIPC_COMPAT
--- 
-1.7.12.4
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-0012-fix-mmap2-compat-syscall.patch 
new/patches.arch/arm64-0012-fix-mmap2-compat-syscall.patch
--- old/patches.arch/arm64-0012-fix-mmap2-compat-syscall.patch  2015-04-10 
16:47:20.000000000 +0200
+++ new/patches.arch/arm64-0012-fix-mmap2-compat-syscall.patch  1970-01-01 
01:00:00.000000000 +0100
@@ -1,94 +0,0 @@
-From: Andreas Schwab <[email protected]>
-Date: Mon, 9 Mar 2015 17:27:36 +0100
-Subject: [PATCH] arm64: fix implementation of mmap2 compat syscall
-Patch-mainline: Submitted, 
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-March/330081.html
-
-The arm mmap2 syscall takes the offset in units of 4K, thus with 64K pages
-the offset needs to be scaled to units of pages.
-
-Tested-by: Alexander Graf <[email protected]>
-Signed-off-by: Andreas Schwab <[email protected]>
-Signed-off-by: Dirk Mueller <[email protected]>
-
----
- arch/arm64/include/asm/unistd32.h |  2 +-
- arch/arm64/kernel/entry32.S       | 18 ++++++++++++++++++
- arch/arm64/kernel/sys32.c         |  6 ++++++
- 3 files changed, 25 insertions(+), 1 deletion(-)
-
-Index: linux-4.0-rc3-master/arch/arm64/include/asm/unistd32.h
-===================================================================
---- linux-4.0-rc3-master.orig/arch/arm64/include/asm/unistd32.h
-+++ linux-4.0-rc3-master/arch/arm64/include/asm/unistd32.h
-@@ -406,7 +406,7 @@ __SYSCALL(__NR_vfork, sys_vfork)
- #define __NR_ugetrlimit 191   /* SuS compliant getrlimit */
- __SYSCALL(__NR_ugetrlimit, compat_sys_getrlimit)              /* SuS 
compliant getrlimit */
- #define __NR_mmap2 192
--__SYSCALL(__NR_mmap2, sys_mmap_pgoff)
-+__SYSCALL(__NR_mmap2, compat_sys_mmap2_wrapper)
- #define __NR_truncate64 193
- __SYSCALL(__NR_truncate64, compat_sys_truncate64_wrapper)
- #define __NR_ftruncate64 194
-Index: linux-4.0-rc3-master/arch/arm64/kernel/entry32.S
-===================================================================
---- linux-4.0-rc3-master.orig/arch/arm64/kernel/entry32.S
-+++ linux-4.0-rc3-master/arch/arm64/kernel/entry32.S
-@@ -19,9 +19,12 @@
-  */
- 
- #include <linux/linkage.h>
-+#include <linux/const.h>
- 
- #include <asm/assembler.h>
- #include <asm/asm-offsets.h>
-+#include <asm/errno.h>
-+#include <asm/page.h>
- 
- /*
-  * System call wrappers for the AArch32 compatibility layer.
-@@ -54,6 +57,21 @@ ENTRY(compat_sys_fstatfs64_wrapper)
- ENDPROC(compat_sys_fstatfs64_wrapper)
- 
- /*
-+ * Note: off_4k (w5) is always units of 4K.  If we can't do the requested
-+ * offset, we return EINVAL.
-+ */
-+#if PAGE_SHIFT > 12
-+ENTRY(compat_sys_mmap2_wrapper)
-+       tst     w5, #~PAGE_MASK >> 12
-+       b.ne    1f
-+       lsr     w5, w5, #PAGE_SHIFT - 12
-+       b       sys_mmap_pgoff
-+1:     mov     x0, #-EINVAL
-+       ret     lr
-+ENDPROC(compat_sys_mmap2_wrapper)
-+#endif
-+
-+/*
-  * Wrappers for AArch32 syscalls that either take 64-bit parameters
-  * in registers or that take 32-bit parameters which require sign
-  * extension.
-Index: linux-4.0-rc3-master/arch/arm64/kernel/sys32.c
-===================================================================
---- linux-4.0-rc3-master.orig/arch/arm64/kernel/sys32.c
-+++ linux-4.0-rc3-master/arch/arm64/kernel/sys32.c
-@@ -24,6 +24,7 @@
- 
- #include <linux/compiler.h>
- #include <linux/syscalls.h>
-+#include <asm/page.h>
- 
- asmlinkage long compat_sys_sigreturn_wrapper(void);
- asmlinkage long compat_sys_rt_sigreturn_wrapper(void);
-@@ -37,6 +38,11 @@ asmlinkage long compat_sys_readahead_wra
- asmlinkage long compat_sys_fadvise64_64_wrapper(void);
- asmlinkage long compat_sys_sync_file_range2_wrapper(void);
- asmlinkage long compat_sys_fallocate_wrapper(void);
-+#if PAGE_SHIFT > 12
-+asmlinkage long compat_sys_mmap2_wrapper(void);
-+#else
-+#define compat_sys_mmap2_wrapper sys_mmap_pgoff
-+#endif
- 
- #undef __SYSCALL
- #define __SYSCALL(nr, sym)    [nr] = sym,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-Don-t-report-clear-pmds-and-puds-as-huge.patch 
new/patches.arch/arm64-Don-t-report-clear-pmds-and-puds-as-huge.patch
--- old/patches.arch/arm64-Don-t-report-clear-pmds-and-puds-as-huge.patch       
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/arm64-Don-t-report-clear-pmds-and-puds-as-huge.patch       
2015-07-08 16:23:40.000000000 +0200
@@ -0,0 +1,52 @@
+From fd28f5d439fca77348c129d5b73043a56f8a0296 Mon Sep 17 00:00:00 2001
+From: Christoffer Dall <[email protected]>
+Date: Wed, 1 Jul 2015 14:08:31 +0200
+Patch-Mainline: v4.2-rc1
+Git-Commit: fd28f5d439fca77348c129d5b73043a56f8a0296
+Subject: [PATCH] arm64: Don't report clear pmds and puds as huge
+
+The current pmd_huge() and pud_huge() functions simply check if the table
+bit is not set and reports the entries as huge in that case.  This is
+counter-intuitive as a clear pmd/pud cannot also be a huge pmd/pud, and
+it is inconsistent with at least arm and x86.
+
+To prevent others from making the same mistake as me in looking at code
+that calls these functions and to fix an issue with KVM on arm64 that
+causes memory corruption due to incorrect page reference counting
+resulting from this mistake, let's change the behavior.
+
+Signed-off-by: Christoffer Dall <[email protected]>
+Reviewed-by: Steve Capper <[email protected]>
+Acked-by: Marc Zyngier <[email protected]>
+Fixes: 084bd29810a5 ("ARM64: mm: HugeTLB support.")
+Cc: <[email protected]> # 3.11+
+Signed-off-by: Catalin Marinas <[email protected]>
+Signed-off-by: Dirk Mueller <[email protected]>
+
+---
+ arch/arm64/mm/hugetlbpage.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c
+index 2de9d2e..0eeb4f09 100644
+--- a/arch/arm64/mm/hugetlbpage.c
++++ b/arch/arm64/mm/hugetlbpage.c
+@@ -40,13 +40,13 @@ int huge_pmd_unshare(struct mm_struct *mm, unsigned long 
*addr, pte_t *ptep)
+ 
+ int pmd_huge(pmd_t pmd)
+ {
+-      return !(pmd_val(pmd) & PMD_TABLE_BIT);
++      return pmd_val(pmd) && !(pmd_val(pmd) & PMD_TABLE_BIT);
+ }
+ 
+ int pud_huge(pud_t pud)
+ {
+ #ifndef __PAGETABLE_PMD_FOLDED
+-      return !(pud_val(pud) & PUD_TABLE_BIT);
++      return pud_val(pud) && !(pud_val(pud) & PUD_TABLE_BIT);
+ #else
+       return 0;
+ #endif
+-- 
+2.3.7
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-pci-0001-of-pci-Add-of_pci_dma_configure-to-update-DMA-config.patch
 
new/patches.arch/arm64-pci-0001-of-pci-Add-of_pci_dma_configure-to-update-DMA-config.patch
--- 
old/patches.arch/arm64-pci-0001-of-pci-Add-of_pci_dma_configure-to-update-DMA-config.patch
  2015-04-10 16:47:20.000000000 +0200
+++ 
new/patches.arch/arm64-pci-0001-of-pci-Add-of_pci_dma_configure-to-update-DMA-config.patch
  1970-01-01 01:00:00.000000000 +0100
@@ -1,93 +0,0 @@
-From c5bb945d637da453e992684ac4e53b2b0bc5b14a Mon Sep 17 00:00:00 2001
-From: Murali Karicheri <[email protected]>
-Date: Tue, 3 Mar 2015 12:52:12 -0500
-Subject: [PATCH 1/6] of/pci: Add of_pci_dma_configure() to update DMA
- configuration
-Git-commit: c49b8fc26e115a37eca6f7bcef1847eb80f2a4fd
-Patch-mainline: Queued for 4.1
-
-Add of_pci_dma_configure() to allow updating the DMA configuration of the
-PCI device using the configuration from DT of the parent of the root bridge
-device.  Use the newly added APIs pci_get/put_host_bridge_device() for
-implementing this.
-
-[bhelgaas: fold in fix for host bridges with no parent OF device]
-Tested-by: Suravee Suthikulpanit <[email protected]> (AMD Seattle)
-Signed-off-by: Murali Karicheri <[email protected]>
-Signed-off-by: Bjorn Helgaas <[email protected]>
-Reviewed-by: Catalin Marinas <[email protected]>
-Acked-by: Rob Herring <[email protected]>
-Acked-by: Will Deacon <[email protected]>
-CC: Joerg Roedel <[email protected]>
-CC: Grant Likely <[email protected]>
-CC: Russell King <[email protected]>
-CC: Arnd Bergmann <[email protected]>
-Signed-off-by: Alexander Graf <[email protected]>
----
- drivers/of/of_pci.c    | 21 +++++++++++++++++++++
- include/linux/of_pci.h |  3 +++
- 2 files changed, 24 insertions(+)
-
-diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
-index 62426d8..5751dc5 100644
---- a/drivers/of/of_pci.c
-+++ b/drivers/of/of_pci.c
-@@ -2,6 +2,7 @@
- #include <linux/export.h>
- #include <linux/of.h>
- #include <linux/of_address.h>
-+#include <linux/of_device.h>
- #include <linux/of_pci.h>
- #include <linux/slab.h>
- 
-@@ -116,6 +117,26 @@ int of_get_pci_domain_nr(struct device_node *node)
- }
- EXPORT_SYMBOL_GPL(of_get_pci_domain_nr);
- 
-+/**
-+ * of_pci_dma_configure - Setup DMA configuration
-+ * @dev: ptr to pci_dev struct of the PCI device
-+ *
-+ * Function to update PCI devices's DMA configuration using the same
-+ * info from the OF node of host bridge's parent (if any).
-+ */
-+void of_pci_dma_configure(struct pci_dev *pci_dev)
-+{
-+      struct device *dev = &pci_dev->dev;
-+      struct device *bridge = pci_get_host_bridge_device(pci_dev);
-+
-+      if (!bridge->parent)
-+              return;
-+
-+      of_dma_configure(dev, bridge->parent->of_node);
-+      pci_put_host_bridge_device(bridge);
-+}
-+EXPORT_SYMBOL_GPL(of_pci_dma_configure);
-+
- #if defined(CONFIG_OF_ADDRESS)
- /**
-  * of_pci_get_host_bridge_resources - Parse PCI host bridge resources from DT
-diff --git a/include/linux/of_pci.h b/include/linux/of_pci.h
-index ce0e5ab..29fd3fe 100644
---- a/include/linux/of_pci.h
-+++ b/include/linux/of_pci.h
-@@ -16,6 +16,7 @@ int of_pci_get_devfn(struct device_node *np);
- int of_irq_parse_and_map_pci(const struct pci_dev *dev, u8 slot, u8 pin);
- int of_pci_parse_bus_range(struct device_node *node, struct resource *res);
- int of_get_pci_domain_nr(struct device_node *node);
-+void of_pci_dma_configure(struct pci_dev *pci_dev);
- #else
- static inline int of_irq_parse_pci(const struct pci_dev *pdev, struct 
of_phandle_args *out_irq)
- {
-@@ -50,6 +51,8 @@ of_get_pci_domain_nr(struct device_node *node)
- {
-       return -1;
- }
-+
-+static inline void of_pci_dma_configure(struct pci_dev *pci_dev) { }
- #endif
- 
- #if defined(CONFIG_OF_ADDRESS)
--- 
-2.3.1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-pci-0002-PCI-Update-DMA-configuration-from-DT.patch 
new/patches.arch/arm64-pci-0002-PCI-Update-DMA-configuration-from-DT.patch
--- old/patches.arch/arm64-pci-0002-PCI-Update-DMA-configuration-from-DT.patch  
2015-04-10 16:47:20.000000000 +0200
+++ new/patches.arch/arm64-pci-0002-PCI-Update-DMA-configuration-from-DT.patch  
1970-01-01 01:00:00.000000000 +0100
@@ -1,56 +0,0 @@
-From ee0831fdc6daec4a716f0b867b1359513e0bd825 Mon Sep 17 00:00:00 2001
-From: Murali Karicheri <[email protected]>
-Date: Tue, 3 Mar 2015 12:52:13 -0500
-Subject: [PATCH 2/6] PCI: Update DMA configuration from DT
-Git-commit: de335bb49269037d1e8906ba59f8bacba732bec6
-Patch-mainline: Queued for 4.1
-
-If there is a DT node available for the root bridge's parent device, use
-the DMA configuration from that device node.  For example, Keystone PCI
-devices would require dma_pfn_offset to be set correctly in the device
-structure of the PCI device in order to have the correct DMA mask.  The DT
-node will have dma-ranges defined for this.  Also support using the DT
-property dma-coherent to allow coherent DMA operation by the PCI device.
-
-Use the new helper function of_pci_dma_configure() to update the device DMA
-configuration.  This fixes DMA on systems where DMA addresses are a
-constant offset from CPU physical addresses.
-
-Tested-by: Suravee Suthikulpanit <[email protected]> (AMD Seattle)
-Signed-off-by: Murali Karicheri <[email protected]>
-Signed-off-by: Bjorn Helgaas <[email protected]>
-Reviewed-by: Catalin Marinas <[email protected]>
-Acked-by: Will Deacon <[email protected]>
-CC: Joerg Roedel <[email protected]>
-CC: Grant Likely <[email protected]>
-CC: Rob Herring <[email protected]>
-CC: Russell King <[email protected]>
-CC: Arnd Bergmann <[email protected]>
-Signed-off-by: Alexander Graf <[email protected]>
----
- drivers/pci/probe.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
-index 516b744..42d0623 100644
---- a/drivers/pci/probe.c
-+++ b/drivers/pci/probe.c
-@@ -6,6 +6,7 @@
- #include <linux/delay.h>
- #include <linux/init.h>
- #include <linux/pci.h>
-+#include <linux/of_pci.h>
- #include <linux/pci_hotplug.h>
- #include <linux/slab.h>
- #include <linux/module.h>
-@@ -1552,6 +1553,7 @@ void pci_device_add(struct pci_dev *dev, struct pci_bus 
*bus)
-       dev->dev.dma_mask = &dev->dma_mask;
-       dev->dev.dma_parms = &dev->dma_parms;
-       dev->dev.coherent_dma_mask = 0xffffffffull;
-+      of_pci_dma_configure(dev);
- 
-       pci_set_dma_max_seg_size(dev, 65536);
-       pci_set_dma_seg_boundary(dev, 0xffffffff);
--- 
-2.3.1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-pci-0003-PCI-Add-helper-functions-pci_get-put-_host_bridge_de.patch
 
new/patches.arch/arm64-pci-0003-PCI-Add-helper-functions-pci_get-put-_host_bridge_de.patch
--- 
old/patches.arch/arm64-pci-0003-PCI-Add-helper-functions-pci_get-put-_host_bridge_de.patch
  2015-04-10 16:47:20.000000000 +0200
+++ 
new/patches.arch/arm64-pci-0003-PCI-Add-helper-functions-pci_get-put-_host_bridge_de.patch
  1970-01-01 01:00:00.000000000 +0100
@@ -1,69 +0,0 @@
-From 2c808fd1f01c8ffe572636f379c57428b7b707d3 Mon Sep 17 00:00:00 2001
-From: Murali Karicheri <[email protected]>
-Date: Tue, 3 Mar 2015 12:52:11 -0500
-Subject: [PATCH 3/6] PCI: Add helper functions
- pci_get[put]_host_bridge_device()
-Git-commit: 6675a601d72be408025e675599702e30a99188aa
-Patch-mainline: Queued for 4.1
-
-Add helper functions to get/put the root bus's host bridge device.
-
-Tested-by: Suravee Suthikulpanit <[email protected]> (AMD Seattle)
-Signed-off-by: Murali Karicheri <[email protected]>
-Signed-off-by: Bjorn Helgaas <[email protected]>
-Reviewed-by: Catalin Marinas <[email protected]>
-Acked-by: Will Deacon <[email protected]>
-CC: Joerg Roedel <[email protected]>
-CC: Grant Likely <[email protected]>
-CC: Rob Herring <[email protected]>
-CC: Russell King <[email protected]>
-CC: Arnd Bergmann <[email protected]>
-(cherry picked from commit 6675a601d72be408025e675599702e30a99188aa)
-Signed-off-by: Alexander Graf <[email protected]>
----
- drivers/pci/host-bridge.c | 14 ++++++++++++++
- include/linux/pci.h       |  3 +++
- 2 files changed, 17 insertions(+)
-
-diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
-index 39b2dbe..3e5bbf9 100644
---- a/drivers/pci/host-bridge.c
-+++ b/drivers/pci/host-bridge.c
-@@ -23,6 +23,20 @@ static struct pci_host_bridge *find_pci_host_bridge(struct 
pci_bus *bus)
-       return to_pci_host_bridge(root_bus->bridge);
- }
- 
-+struct device *pci_get_host_bridge_device(struct pci_dev *dev)
-+{
-+      struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
-+      struct device *bridge = root_bus->bridge;
-+
-+      kobject_get(&bridge->kobj);
-+      return bridge;
-+}
-+
-+void  pci_put_host_bridge_device(struct device *dev)
-+{
-+      kobject_put(&dev->kobj);
-+}
-+
- void pci_set_host_bridge_release(struct pci_host_bridge *bridge,
-                                void (*release_fn)(struct pci_host_bridge *),
-                                void *release_data)
-diff --git a/include/linux/pci.h b/include/linux/pci.h
-index 53b681a..4e53485 100644
---- a/include/linux/pci.h
-+++ b/include/linux/pci.h
-@@ -512,6 +512,9 @@ static inline struct pci_dev *pci_upstream_bridge(struct 
pci_dev *dev)
-       return dev->bus->self;
- }
- 
-+struct device *pci_get_host_bridge_device(struct pci_dev *dev);
-+void pci_put_host_bridge_device(struct device *dev);
-+
- #ifdef CONFIG_PCI_MSI
- static inline bool pci_dev_msi_enabled(struct pci_dev *pci_dev)
- {
--- 
-2.3.1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-pci-0004-of-iommu-Add-ptr-to-OF-node-arg-to-of_iommu_configur.patch
 
new/patches.arch/arm64-pci-0004-of-iommu-Add-ptr-to-OF-node-arg-to-of_iommu_configur.patch
--- 
old/patches.arch/arm64-pci-0004-of-iommu-Add-ptr-to-OF-node-arg-to-of_iommu_configur.patch
  2015-04-10 16:47:20.000000000 +0200
+++ 
new/patches.arch/arm64-pci-0004-of-iommu-Add-ptr-to-OF-node-arg-to-of_iommu_configur.patch
  1970-01-01 01:00:00.000000000 +0100
@@ -1,108 +0,0 @@
-From 57732e8049e74816f1e77e777c2df973f3f5b47a Mon Sep 17 00:00:00 2001
-From: Murali Karicheri <[email protected]>
-Date: Tue, 3 Mar 2015 12:52:08 -0500
-Subject: [PATCH 4/6] of: iommu: Add ptr to OF node arg to of_iommu_configure()
-Git-commit: ed748621031c2a205749997421e59fb4dfb1e909
-Patch-mainline: Queued for 4.1
-
-of_iommu_configure() is called from of_dma_configure() to setup iommu ops
-using DT property.  This API is currently used for platform devices for
-which DMA configuration (including IOMMU ops) may come from the device's
-parent.  To extend this functionality for PCI devices, this API needs to
-take a parent node ptr as an argument instead of assuming device's parent.
-This is needed since for PCI, the DMA configuration may be defined in the
-DT node of the root bus bridge's parent device.  Currently only dma-range
-is used for PCI and IOMMU is not supported.  Return error if the device is
-PCI.
-
-Add "parent" parameter (a struct device_node *) to of_iommu_configure().
-
-Tested-by: Suravee Suthikulpanit <[email protected]> (AMD Seattle)
-Signed-off-by: Murali Karicheri <[email protected]>
-Signed-off-by: Bjorn Helgaas <[email protected]>
-Reviewed-by: Catalin Marinas <[email protected]>
-Acked-by: Rob Herring <[email protected]>
-Acked-by: Will Deacon <[email protected]>
-CC: Joerg Roedel <[email protected]>
-CC: Grant Likely <[email protected]>
-CC: Russell King <[email protected]>
-CC: Arnd Bergmann <[email protected]>
-Signed-off-by: Alexander Graf <[email protected]>
----
- drivers/iommu/of_iommu.c | 10 ++++++++--
- drivers/of/platform.c    |  2 +-
- include/linux/of_iommu.h |  6 ++++--
- 3 files changed, 13 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/iommu/of_iommu.c b/drivers/iommu/of_iommu.c
-index af1dc6a..43429ab 100644
---- a/drivers/iommu/of_iommu.c
-+++ b/drivers/iommu/of_iommu.c
-@@ -133,19 +133,25 @@ struct iommu_ops *of_iommu_get_ops(struct device_node 
*np)
-       return ops;
- }
- 
--struct iommu_ops *of_iommu_configure(struct device *dev)
-+struct iommu_ops *of_iommu_configure(struct device *dev,
-+                                   struct device_node *master_np)
- {
-       struct of_phandle_args iommu_spec;
-       struct device_node *np;
-       struct iommu_ops *ops = NULL;
-       int idx = 0;
- 
-+      if (dev_is_pci(dev)) {
-+              dev_err(dev, "IOMMU is currently not supported for PCI\n");
-+              return NULL;
-+      }
-+
-       /*
-        * We don't currently walk up the tree looking for a parent IOMMU.
-        * See the `Notes:' section of
-        * Documentation/devicetree/bindings/iommu/iommu.txt
-        */
--      while (!of_parse_phandle_with_args(dev->of_node, "iommus",
-+      while (!of_parse_phandle_with_args(master_np, "iommus",
-                                          "#iommu-cells", idx,
-                                          &iommu_spec)) {
-               np = iommu_spec.np;
-diff --git a/drivers/of/platform.c b/drivers/of/platform.c
-index b189733..667c6f1 100644
---- a/drivers/of/platform.c
-+++ b/drivers/of/platform.c
-@@ -196,7 +196,7 @@ static void of_dma_configure(struct device *dev)
-       dev_dbg(dev, "device is%sdma coherent\n",
-               coherent ? " " : " not ");
- 
--      iommu = of_iommu_configure(dev);
-+      iommu = of_iommu_configure(dev, dev->of_node);
-       dev_dbg(dev, "device is%sbehind an iommu\n",
-               iommu ? " " : " not ");
- 
-diff --git a/include/linux/of_iommu.h b/include/linux/of_iommu.h
-index 16c7554..ffbe470 100644
---- a/include/linux/of_iommu.h
-+++ b/include/linux/of_iommu.h
-@@ -12,7 +12,8 @@ extern int of_get_dma_window(struct device_node *dn, const 
char *prefix,
-                            size_t *size);
- 
- extern void of_iommu_init(void);
--extern struct iommu_ops *of_iommu_configure(struct device *dev);
-+extern struct iommu_ops *of_iommu_configure(struct device *dev,
-+                                      struct device_node *master_np);
- 
- #else
- 
-@@ -24,7 +25,8 @@ static inline int of_get_dma_window(struct device_node *dn, 
const char *prefix,
- }
- 
- static inline void of_iommu_init(void) { }
--static inline struct iommu_ops *of_iommu_configure(struct device *dev)
-+static inline struct iommu_ops *of_iommu_configure(struct device *dev,
-+                                       struct device_node *master_np)
- {
-       return NULL;
- }
--- 
-2.3.1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-pci-0005-of-Move-of_dma_configure-to-device.c-to-help-re-use.patch
 
new/patches.arch/arm64-pci-0005-of-Move-of_dma_configure-to-device.c-to-help-re-use.patch
--- 
old/patches.arch/arm64-pci-0005-of-Move-of_dma_configure-to-device.c-to-help-re-use.patch
   2015-04-10 16:47:20.000000000 +0200
+++ 
new/patches.arch/arm64-pci-0005-of-Move-of_dma_configure-to-device.c-to-help-re-use.patch
   1970-01-01 01:00:00.000000000 +0100
@@ -1,220 +0,0 @@
-From d6f59177ed1f0c712d7056674bc959e02fadd28b Mon Sep 17 00:00:00 2001
-From: Murali Karicheri <[email protected]>
-Date: Tue, 3 Mar 2015 12:52:09 -0500
-Subject: [PATCH 5/6] of: Move of_dma_configure() to device.c to help re-use
-Git-commit: 1f5c69aa51f9c7c8d2a5c2e4dc339f6c7d5c15cd
-Patch-mainline: Queued for 4.1
-
-Move of_dma_configure() to device.c so it can be re-used for PCI devices to
-obtain DMA configuration from DT.  Also add a second argument so that for
-PCI, the DT node of root bus host bridge can be used to obtain the DMA
-configuration for the slave PCI device.
-
-Tested-by: Suravee Suthikulpanit <[email protected]> (AMD Seattle)
-Signed-off-by: Murali Karicheri <[email protected]>
-Signed-off-by: Bjorn Helgaas <[email protected]>
-Reviewed-by: Catalin Marinas <[email protected]>
-Acked-by: Will Deacon <[email protected]>
-Acked-by: Rob Herring <[email protected]>
-CC: Joerg Roedel <[email protected]>
-CC: Grant Likely <[email protected]>
-CC: Russell King <[email protected]>
-CC: Arnd Bergmann <[email protected]>
-Signed-off-by: Alexander Graf <[email protected]>
----
- drivers/of/device.c       | 59 +++++++++++++++++++++++++++++++++++++++++++++++
- drivers/of/platform.c     | 58 ++--------------------------------------------
- include/linux/of_device.h |  3 +++
- 3 files changed, 64 insertions(+), 56 deletions(-)
-
-diff --git a/drivers/of/device.c b/drivers/of/device.c
-index 46d6c75c..31a7875 100644
---- a/drivers/of/device.c
-+++ b/drivers/of/device.c
-@@ -2,6 +2,9 @@
- #include <linux/kernel.h>
- #include <linux/of.h>
- #include <linux/of_device.h>
-+#include <linux/of_address.h>
-+#include <linux/of_iommu.h>
-+#include <linux/dma-mapping.h>
- #include <linux/init.h>
- #include <linux/module.h>
- #include <linux/mod_devicetable.h>
-@@ -66,6 +69,62 @@ int of_device_add(struct platform_device *ofdev)
-       return device_add(&ofdev->dev);
- }
- 
-+/**
-+ * of_dma_configure - Setup DMA configuration
-+ * @dev:      Device to apply DMA configuration
-+ * @np:               Pointer to OF node having DMA configuration
-+ *
-+ * Try to get devices's DMA configuration from DT and update it
-+ * accordingly.
-+ *
-+ * If platform code needs to use its own special DMA configuration, it
-+ * can use a platform bus notifier and handle BUS_NOTIFY_ADD_DEVICE events
-+ * to fix up DMA configuration.
-+ */
-+void of_dma_configure(struct device *dev, struct device_node *np)
-+{
-+      u64 dma_addr, paddr, size;
-+      int ret;
-+      bool coherent;
-+      unsigned long offset;
-+      struct iommu_ops *iommu;
-+
-+      /*
-+       * Set default dma-mask to 32 bit.  Drivers are expected to setup
-+       * the correct supported dma_mask.
-+       */
-+      dev->coherent_dma_mask = DMA_BIT_MASK(32);
-+
-+      /*
-+       * Set it to coherent_dma_mask by default if the architecture
-+       * code has not set it.
-+       */
-+      if (!dev->dma_mask)
-+              dev->dma_mask = &dev->coherent_dma_mask;
-+
-+      ret = of_dma_get_range(np, &dma_addr, &paddr, &size);
-+      if (ret < 0) {
-+              dma_addr = offset = 0;
-+              size = dev->coherent_dma_mask;
-+      } else {
-+              offset = PFN_DOWN(paddr - dma_addr);
-+              dev_dbg(dev, "dma_pfn_offset(%#08lx)\n", offset);
-+      }
-+
-+      dev->dma_pfn_offset = offset;
-+
-+      coherent = of_dma_is_coherent(np);
-+      dev_dbg(dev, "device is%sdma coherent\n",
-+              coherent ? " " : " not ");
-+
-+      iommu = of_iommu_configure(dev, np);
-+      dev_dbg(dev, "device is%sbehind an iommu\n",
-+              iommu ? " " : " not ");
-+
-+      arch_setup_dma_ops(dev, dma_addr, size, iommu, coherent);
-+}
-+EXPORT_SYMBOL_GPL(of_dma_configure);
-+
- int of_device_register(struct platform_device *pdev)
- {
-       device_initialize(&pdev->dev);
-diff --git a/drivers/of/platform.c b/drivers/of/platform.c
-index 667c6f1..a01f57c 100644
---- a/drivers/of/platform.c
-+++ b/drivers/of/platform.c
-@@ -19,7 +19,6 @@
- #include <linux/slab.h>
- #include <linux/of_address.h>
- #include <linux/of_device.h>
--#include <linux/of_iommu.h>
- #include <linux/of_irq.h>
- #include <linux/of_platform.h>
- #include <linux/platform_device.h>
-@@ -150,59 +149,6 @@ struct platform_device *of_device_alloc(struct 
device_node *np,
- }
- EXPORT_SYMBOL(of_device_alloc);
- 
--/**
-- * of_dma_configure - Setup DMA configuration
-- * @dev:      Device to apply DMA configuration
-- *
-- * Try to get devices's DMA configuration from DT and update it
-- * accordingly.
-- *
-- * In case if platform code need to use own special DMA configuration,it
-- * can use Platform bus notifier and handle BUS_NOTIFY_ADD_DEVICE event
-- * to fix up DMA configuration.
-- */
--static void of_dma_configure(struct device *dev)
--{
--      u64 dma_addr, paddr, size;
--      int ret;
--      bool coherent;
--      unsigned long offset;
--      struct iommu_ops *iommu;
--
--      /*
--       * Set default dma-mask to 32 bit. Drivers are expected to setup
--       * the correct supported dma_mask.
--       */
--      dev->coherent_dma_mask = DMA_BIT_MASK(32);
--
--      /*
--       * Set it to coherent_dma_mask by default if the architecture
--       * code has not set it.
--       */
--      if (!dev->dma_mask)
--              dev->dma_mask = &dev->coherent_dma_mask;
--
--      ret = of_dma_get_range(dev->of_node, &dma_addr, &paddr, &size);
--      if (ret < 0) {
--              dma_addr = offset = 0;
--              size = dev->coherent_dma_mask;
--      } else {
--              offset = PFN_DOWN(paddr - dma_addr);
--              dev_dbg(dev, "dma_pfn_offset(%#08lx)\n", offset);
--      }
--      dev->dma_pfn_offset = offset;
--
--      coherent = of_dma_is_coherent(dev->of_node);
--      dev_dbg(dev, "device is%sdma coherent\n",
--              coherent ? " " : " not ");
--
--      iommu = of_iommu_configure(dev, dev->of_node);
--      dev_dbg(dev, "device is%sbehind an iommu\n",
--              iommu ? " " : " not ");
--
--      arch_setup_dma_ops(dev, dma_addr, size, iommu, coherent);
--}
--
- static void of_dma_deconfigure(struct device *dev)
- {
-       arch_teardown_dma_ops(dev);
-@@ -236,7 +182,7 @@ static struct platform_device 
*of_platform_device_create_pdata(
- 
-       dev->dev.bus = &platform_bus_type;
-       dev->dev.platform_data = platform_data;
--      of_dma_configure(&dev->dev);
-+      of_dma_configure(&dev->dev, dev->dev.of_node);
- 
-       if (of_device_add(dev) != 0) {
-               of_dma_deconfigure(&dev->dev);
-@@ -299,7 +245,7 @@ static struct amba_device *of_amba_device_create(struct 
device_node *node,
-               dev_set_name(&dev->dev, "%s", bus_id);
-       else
-               of_device_make_bus_id(&dev->dev);
--      of_dma_configure(&dev->dev);
-+      of_dma_configure(&dev->dev, dev->dev.of_node);
- 
-       /* Allow the HW Peripheral ID to be overridden */
-       prop = of_get_property(node, "arm,primecell-periphid", NULL);
-diff --git a/include/linux/of_device.h b/include/linux/of_device.h
-index ef37021..22801b1 100644
---- a/include/linux/of_device.h
-+++ b/include/linux/of_device.h
-@@ -53,6 +53,7 @@ static inline struct device_node *of_cpu_device_node_get(int 
cpu)
-       return of_node_get(cpu_dev->of_node);
- }
- 
-+void of_dma_configure(struct device *dev, struct device_node *np);
- #else /* CONFIG_OF */
- 
- static inline int of_driver_match_device(struct device *dev,
-@@ -90,6 +91,8 @@ static inline struct device_node *of_cpu_device_node_get(int 
cpu)
- {
-       return NULL;
- }
-+static inline void of_dma_configure(struct device *dev, struct device_node 
*np)
-+{}
- #endif /* CONFIG_OF */
- 
- #endif /* _LINUX_OF_DEVICE_H */
--- 
-2.3.1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/arm64-pci-0006-of-Fix-size-when-dma-range-is-not-used.patch 
new/patches.arch/arm64-pci-0006-of-Fix-size-when-dma-range-is-not-used.patch
--- 
old/patches.arch/arm64-pci-0006-of-Fix-size-when-dma-range-is-not-used.patch    
    2015-04-10 16:47:20.000000000 +0200
+++ 
new/patches.arch/arm64-pci-0006-of-Fix-size-when-dma-range-is-not-used.patch    
    1970-01-01 01:00:00.000000000 +0100
@@ -1,59 +0,0 @@
-From db4ebd399f530e08184cf34044c1d33d4d0fda8a Mon Sep 17 00:00:00 2001
-From: Murali Karicheri <[email protected]>
-Date: Tue, 3 Mar 2015 12:52:10 -0500
-Subject: [PATCH 6/6] of: Fix size when dma-range is not used
-Git-commit: 0c79c81c779fe54e67c0ce8c1fda551ca57d8a35
-Patch-mainline: Queued for 4.1
-
-Fix the dma-range size when the DT attribute is missing, i.e., set size to
-dev->coherent_dma_mask + 1 instead of dev->coherent_dma_mask.  Also add
-code to check invalid values of size configured in DT and log error.
-
-Tested-by: Suravee Suthikulpanit <[email protected]> (AMD Seattle)
-Signed-off-by: Murali Karicheri <[email protected]>
-Signed-off-by: Bjorn Helgaas <[email protected]>
-Reviewed-by: Catalin Marinas <[email protected]>
-Acked-by: Will Deacon <[email protected]>
-CC: Joerg Roedel <[email protected]>
-CC: Grant Likely <[email protected]>
-CC: Rob Herring <[email protected]>
-CC: Russell King <[email protected]>
-CC: Arnd Bergmann <[email protected]>
-Signed-off-by: Alexander Graf <[email protected]>
----
- drivers/of/device.c | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/of/device.c b/drivers/of/device.c
-index 31a7875..28e74388 100644
---- a/drivers/of/device.c
-+++ b/drivers/of/device.c
-@@ -105,9 +105,24 @@ void of_dma_configure(struct device *dev, struct 
device_node *np)
-       ret = of_dma_get_range(np, &dma_addr, &paddr, &size);
-       if (ret < 0) {
-               dma_addr = offset = 0;
--              size = dev->coherent_dma_mask;
-+              size = dev->coherent_dma_mask + 1;
-       } else {
-               offset = PFN_DOWN(paddr - dma_addr);
-+
-+              /*
-+               * Add a work around to treat the size as mask + 1 in case
-+               * it is defined in DT as a mask.
-+               */
-+              if (size & 1) {
-+                      dev_warn(dev, "Invalid size 0x%llx for dma-range\n",
-+                               size);
-+                      size = size + 1;
-+              }
-+
-+              if (!size) {
-+                      dev_err(dev, "Adjusted size 0x%llx invalid\n", size);
-+                      return;
-+              }
-               dev_dbg(dev, "dma_pfn_offset(%#08lx)\n", offset);
-       }
- 
--- 
-2.3.1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.arch/s390-message-catalog.diff 
new/patches.arch/s390-message-catalog.diff
--- old/patches.arch/s390-message-catalog.diff  2015-04-10 16:47:20.000000000 
+0200
+++ new/patches.arch/s390-message-catalog.diff  2015-07-08 16:23:40.000000000 
+0200
@@ -8004,7 +8004,7 @@
  static inline __printf(3, 0)
 --- a/include/linux/printk.h
 +++ b/include/linux/printk.h
-@@ -173,23 +173,48 @@ extern void dump_stack(void) __cold;
+@@ -173,28 +173,53 @@ extern void dump_stack(void) __cold;
   * and other debug macros are compiled out unless either DEBUG is defined
   * or CONFIG_DYNAMIC_DEBUG is set.
   */
@@ -8055,6 +8055,11 @@
  #define pr_info(fmt, ...) \
 -      printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
 +      pr_printk_hash(KERN_INFO, fmt, ##__VA_ARGS__)
+ /*
+  * Like KERN_CONT, pr_cont() should only be used when continuing
+  * a line with no newline ('\n') enclosed. Otherwise it defaults
+  * back to KERN_DEFAULT.
+  */
  #define pr_cont(fmt, ...) \
 -      printk(KERN_CONT fmt, ##__VA_ARGS__)
 +      __pr_printk_hash(KERN_CONT, fmt, ##__VA_ARGS__)
@@ -8064,9 +8069,9 @@
 --- a/kernel/printk/printk.c
 +++ b/kernel/printk/printk.c
 @@ -42,6 +42,8 @@
- #include <linux/irq_work.h>
  #include <linux/utsname.h>
  #include <linux/ctype.h>
+ #include <linux/uio.h>
 +#include <linux/jhash.h>
 +#include <linux/device.h>
  
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/stack-unwind-cfi_ignore-takes-more-arguments 
new/patches.arch/stack-unwind-cfi_ignore-takes-more-arguments
--- old/patches.arch/stack-unwind-cfi_ignore-takes-more-arguments       
2015-04-10 16:47:20.000000000 +0200
+++ new/patches.arch/stack-unwind-cfi_ignore-takes-more-arguments       
1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-From: Jeff Mahoney <[email protected]>
-Subject: stack unwind: cfi_ignore takes more arguments
-Patch-mainline: Pending stack-unwind
-
-The dummy macro needs more arguments.
-
-Signed-off-by: Jeff Mahoney <[email protected]>
----
-
- arch/x86/include/asm/dwarf2.h |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/x86/include/asm/dwarf2.h b/arch/x86/include/asm/dwarf2.h
-index f6f1598..8c4ae73 100644
---- a/arch/x86/include/asm/dwarf2.h
-+++ b/arch/x86/include/asm/dwarf2.h
-@@ -53,7 +53,7 @@
-  * Due to the structure of pre-exisiting code, don't use assembler line
-  * comment character # to ignore the arguments. Instead, use a dummy macro.
-  */
--.macro cfi_ignore a=0, b=0, c=0, d=0
-+.macro cfi_ignore a=0, b=0, c=0, d=0, e=0, f=0, g=0, h=0
- .endm
- 
- #define CFI_STARTPROC         cfi_ignore
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.arch/x86_64-unwind-annotations 
new/patches.arch/x86_64-unwind-annotations
--- old/patches.arch/x86_64-unwind-annotations  2015-04-10 16:47:20.000000000 
+0200
+++ new/patches.arch/x86_64-unwind-annotations  2015-07-08 16:23:40.000000000 
+0200
@@ -3,16 +3,11 @@
 Patch-mainline: tbd
 References: bnc#472783, bnc#588458
 
----
- arch/x86/kernel/entry_64.S |   99 
+++++++++++++++++++++++----------------------
- arch/x86/kernel/head_64.S  |   20 +++++++++
- 2 files changed, 72 insertions(+), 47 deletions(-)
-
 --- a/arch/x86/kernel/entry_64.S
 +++ b/arch/x86/kernel/entry_64.S
-@@ -382,21 +382,21 @@ ENDPROC(native_usergs_sysret64)
+@@ -115,21 +115,21 @@ ENDPROC(native_usergs_sysret64)
  /*
-  * initial frame state for interrupts (and exceptions without error code)
+  * empty frame
   */
 -      .macro EMPTY_FRAME start=1 offset=0
 -      .if \start
@@ -30,75 +25,105 @@
   * initial frame state for interrupts (and exceptions without error code)
   */
        .macro INTR_FRAME start=1 offset=0
--      EMPTY_FRAME \start, SS+8+\offset-RIP
+-      EMPTY_FRAME \start, 5*8+\offset
 +      .if \start
-+      EMPTY_FRAME SS+8+\offset-RIP
++      EMPTY_FRAME 5*8+\offset
 +      .else
-+      CFI_DEF_CFA_OFFSET SS+8+\offset-RIP
-+      .endif
-       /*CFI_REL_OFFSET ss, SS+\offset-RIP*/
-       CFI_REL_OFFSET rsp, RSP+\offset-RIP
-       /*CFI_REL_OFFSET rflags, EFLAGS+\offset-RIP*/
-@@ -410,7 +410,9 @@ ENDPROC(native_usergs_sysret64)
-  * frame that enables calling into C.
-  */
-       .macro PARTIAL_FRAME start=1 offset=0
-+      .if \start >= 0
-       XCPT_FRAME \start, ORIG_RAX+\offset-ARGOFFSET
++      CFI_DEF_CFA_OFFSET 5*8+\offset
 +      .endif
-       CFI_REL_OFFSET rdi, RDI+\offset-ARGOFFSET
-       CFI_REL_OFFSET rsi, RSI+\offset-ARGOFFSET
-       CFI_REL_OFFSET rdx, RDX+\offset-ARGOFFSET
-@@ -433,7 +434,9 @@ ENDPROC(native_usergs_sysret64)
+       /*CFI_REL_OFFSET ss, 4*8+\offset*/
+       CFI_REL_OFFSET rsp, 3*8+\offset
+       /*CFI_REL_OFFSET rflags, 2*8+\offset*/
+@@ -148,7 +148,7 @@ ENDPROC(native_usergs_sysret64)
+ /*
   * frame that enables passing a complete pt_regs to a C function.
   */
-       .macro DEFAULT_FRAME start=1 offset=0
-+      .if \start >= -1
-       PARTIAL_FRAME \start, R11+\offset-R15
-+      .endif
+-      .macro DEFAULT_FRAME start=1 offset=0
++      .macro DEFAULT_FRAME start=1 offset=0 extra=1
+       XCPT_FRAME \start, ORIG_RAX+\offset
+       CFI_REL_OFFSET rdi, RDI+\offset
+       CFI_REL_OFFSET rsi, RSI+\offset
+@@ -159,12 +159,14 @@ ENDPROC(native_usergs_sysret64)
+       CFI_REL_OFFSET r9, R9+\offset
+       CFI_REL_OFFSET r10, R10+\offset
+       CFI_REL_OFFSET r11, R11+\offset
++      .if \extra
        CFI_REL_OFFSET rbx, RBX+\offset
        CFI_REL_OFFSET rbp, RBP+\offset
        CFI_REL_OFFSET r12, R12+\offset
-@@ -505,7 +508,7 @@ END(save_rest)
+       CFI_REL_OFFSET r13, R13+\offset
+       CFI_REL_OFFSET r14, R14+\offset
+       CFI_REL_OFFSET r15, R15+\offset
++      .endif
        .endm
  
- ENTRY(save_paranoid)
--      XCPT_FRAME 1 RDI+8
-+      XCPT_FRAME 1 (ORIG_RAX-R15+8)
-       cld
-       movq %rdi, RDI+8(%rsp)
-       movq %rsi, RSI+8(%rsp)
-@@ -1207,7 +1210,7 @@ ENTRY(\sym)
-       call error_entry
-       .endif
- 
--      DEFAULT_FRAME 0
-+      DEFAULT_FRAME -1
- 
-       .if \paranoid
-       .if \shift_ist != -1
-@@ -1582,8 +1587,7 @@ END(paranoid_exit)
-  * returns in "no swapgs flag" in %ebx.
+ /*
+@@ -491,7 +493,7 @@ END(system_call)
+       .macro FORK_LIKE func
+ ENTRY(stub_\func)
+       CFI_STARTPROC
+-      DEFAULT_FRAME 0, 8              /* offset 8: return address */
++      DEFAULT_FRAME 0, 8, 0           /* offset 8: return address */
+       SAVE_EXTRA_REGS 8
+       jmp sys_\func
+       CFI_ENDPROC
+@@ -504,7 +506,7 @@ END(stub_\func)
+ 
+ ENTRY(stub_execve)
+       CFI_STARTPROC
+-      DEFAULT_FRAME 0, 8
++      DEFAULT_FRAME 0, 8, 0
+       call    sys_execve
+ return_from_execve:
+       testl   %eax, %eax
+@@ -527,7 +529,7 @@ END(stub_execve)
+       .align  8
+ GLOBAL(stub_execveat)
+       CFI_STARTPROC
+-      DEFAULT_FRAME 0, 8
++      DEFAULT_FRAME 0, 8, 0
+       call    sys_execveat
+       jmp     return_from_execve
+       CFI_ENDPROC
+@@ -537,7 +539,7 @@ END(stub_execveat)
+       .align  8
+ GLOBAL(stub_x32_execve)
+       CFI_STARTPROC
+-      DEFAULT_FRAME 0, 8
++      DEFAULT_FRAME 0, 8, 0
+       call    compat_sys_execve
+       jmp     return_from_execve
+       CFI_ENDPROC
+@@ -545,7 +547,7 @@ END(stub_x32_execve)
+       .align  8
+ GLOBAL(stub_x32_execveat)
+       CFI_STARTPROC
+-      DEFAULT_FRAME 0, 8
++      DEFAULT_FRAME 0, 8, 0
+       call    compat_sys_execveat
+       jmp     return_from_execve
+       CFI_ENDPROC
+@@ -575,7 +577,7 @@ END(stub32_execveat)
   */
- ENTRY(error_entry)
--      XCPT_FRAME
--      CFI_ADJUST_CFA_OFFSET 15*8
-+      XCPT_FRAME 1 (ORIG_RAX-R15+8)
-       /* oldrax contains error code */
-       cld
-       movq %rdi, RDI+8(%rsp)
-@@ -1870,7 +1875,7 @@ end_repeat_nmi:
-        * exceptions might do.
-        */
-       call save_paranoid
--      DEFAULT_FRAME 0
-+      DEFAULT_FRAME -1
- 
+ ENTRY(stub_rt_sigreturn)
+       CFI_STARTPROC
+-      DEFAULT_FRAME 0, 8
++      DEFAULT_FRAME 0, 8, 0
        /*
-        * Save off the CR2 register. If we take a page fault in the NMI then
+        * SAVE_EXTRA_REGS result is not normally needed:
+        * sigreturn overwrites all pt_regs->GPREGS.
+@@ -597,7 +599,7 @@ END(stub_rt_sigreturn)
+ #ifdef CONFIG_X86_X32_ABI
+ ENTRY(stub_x32_rt_sigreturn)
+       CFI_STARTPROC
+-      DEFAULT_FRAME 0, 8
++      DEFAULT_FRAME 0, 8, 0
+       SAVE_EXTRA_REGS 8
+       call sys32_x32_rt_sigreturn
+       jmp  return_from_stub
 --- a/arch/x86/kernel/head_64.S
 +++ b/arch/x86/kernel/head_64.S
-@@ -375,6 +375,25 @@ ENTRY(early_idt_handler)
+@@ -378,6 +378,25 @@ ENTRY(early_idt_handler)
  
  11:
  #ifdef CONFIG_EARLY_PRINTK
@@ -124,7 +149,7 @@
        GET_CR2_INTO(%r9)       # can clobber any volatile register if pv
        movl 80(%rsp),%r8d      # error code
        movl 72(%rsp),%esi      # vector number
-@@ -391,6 +410,7 @@ ENTRY(early_idt_handler)
+@@ -394,6 +413,7 @@ ENTRY(early_idt_handler)
        movq 40(%rsp),%rsi      # %rip again
        call __print_symbol
  #endif

++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/0001-NFSv4-When-returning-a-delegation-don-t-reclaim-an-i.patch
 
new/patches.fixes/0001-NFSv4-When-returning-a-delegation-don-t-reclaim-an-i.patch
--- 
old/patches.fixes/0001-NFSv4-When-returning-a-delegation-don-t-reclaim-an-i.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.fixes/0001-NFSv4-When-returning-a-delegation-don-t-reclaim-an-i.patch
   2015-06-29 13:53:27.000000000 +0200
@@ -0,0 +1,46 @@
+From: NeilBrown <[email protected]>
+Date: Wed, 24 Jun 2015 12:56:20 +1000
+Subject: [PATCH] NFSv4: When returning a delegation, don't reclaim an
+ incompatible open mode.
+Patch-mainline: not yet
+References: bnc#934202
+
+It is possible to have an active open with one mode, and a delegation
+for the same file with a different mode.
+In particular, a WR_ONLY open and an RD_ONLY delegation.
+
+When returning the delegation, we currently try to claim opens for
+every open type (n_rdwr, n_rdonly, n_wronly).  As there is no harm
+in claiming an open for a mode that we already have, this is often
+simplest.
+
+However if the delegation only provides a subset of the modes that we
+currently have open, this will produce an error from the server. e.g.
+
+NFS: nfs4_handle_delegation_recall_error: unhandled error -13
+
+So when claiming open modes prior to returning a delegation, skip the
+open request if the mode is not covered by the delegation - the open_stateid
+must already cover that mode, so there is nothing to do.
+
+Signed-off-by: NeilBrown <[email protected]>
+---
+ fs/nfs/nfs4proc.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/fs/nfs/nfs4proc.c
++++ b/fs/nfs/nfs4proc.c
+@@ -1553,6 +1553,13 @@ static int nfs4_open_recover_helper(stru
+       struct nfs4_state *newstate;
+       int ret;
+ 
++      if ((opendata->o_arg.claim == NFS4_OPEN_CLAIM_DELEGATE_CUR ||
++           opendata->o_arg.claim == NFS4_OPEN_CLAIM_DELEG_CUR_FH) &&
++          (opendata->o_arg.u.delegation_type & fmode) != fmode)
++              /* This mode can't have been delegated, so we must have
++               * a valid open_stateid to cover it - not need to reclaim.
++               */
++              return 0;
+       opendata->o_arg.open_flags = 0;
+       opendata->o_arg.fmode = fmode;
+       opendata->o_arg.share_access = nfs4_map_atomic_open_share(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0001-send-add-missing-check-for-dead-clone-root.patch 
new/patches.fixes/btrfs-0001-send-add-missing-check-for-dead-clone-root.patch
--- 
old/patches.fixes/btrfs-0001-send-add-missing-check-for-dead-clone-root.patch   
    2015-06-18 17:11:06.000000000 +0200
+++ 
new/patches.fixes/btrfs-0001-send-add-missing-check-for-dead-clone-root.patch   
    1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-From: Filipe Manana <[email protected]>
-Date: Mon, 2 Mar 2015 20:53:52 +0000
-Patch-mainline: 4.1
-Git-commit: 571534e54794d7e861651e77c539d475b3e69cba
-Subject: [PATCH] Btrfs: send, add missing check for dead clone root
-
-After we locked the root's root item, a concurrent snapshot deletion
-call might have set the dead flag on it. So check if the dead flag
-is set and abort if it is, just like we do for the parent root.
-
-Signed-off-by: Filipe Manana <[email protected]>
-Reviewed-by: David Sterba <[email protected]>
-Signed-off-by: Chris Mason <[email protected]>
-Signed-off-by: David Sterba <[email protected]>
----
- fs/btrfs/send.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
-index d6033f540cc7..6ec28f13659e 100644
---- a/fs/btrfs/send.c
-+++ b/fs/btrfs/send.c
-@@ -5855,7 +5855,8 @@ long btrfs_ioctl_send(struct file *mnt_file, void __user 
*arg_)
-                       clone_sources_to_rollback = i + 1;
-                       spin_lock(&clone_root->root_item_lock);
-                       clone_root->send_in_progress++;
--                      if (!btrfs_root_readonly(clone_root)) {
-+                      if (!btrfs_root_readonly(clone_root) ||
-+                          btrfs_root_dead(clone_root)) {
-                               spin_unlock(&clone_root->root_item_lock);
-                               srcu_read_unlock(&fs_info->subvol_srcu, index);
-                               ret = -EPERM;
--- 
-2.1.3
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0002-send-don-t-leave-without-decrementing-clone-ro.patch
 
new/patches.fixes/btrfs-0002-send-don-t-leave-without-decrementing-clone-ro.patch
--- 
old/patches.fixes/btrfs-0002-send-don-t-leave-without-decrementing-clone-ro.patch
   2015-06-18 17:11:06.000000000 +0200
+++ 
new/patches.fixes/btrfs-0002-send-don-t-leave-without-decrementing-clone-ro.patch
   1970-01-01 01:00:00.000000000 +0100
@@ -1,64 +0,0 @@
-From: Filipe Manana <[email protected]>
-Date: Mon, 2 Mar 2015 20:53:53 +0000
-Patch-mainline: 4.1
-Git-commit: 27824c380c8dd68167729f5dc9cff97598534745
-Subject: [PATCH] Btrfs: send, don't leave without decrementing clone
- root's send_progress
-
-If the clone root was not readonly or the dead flag was set on it, we were
-leaving without decrementing the root's send_progress counter (and before
-we just incremented it). If a concurrent snapshot deletion was in progress
-and ended up being aborted, it would be impossible to later attempt to
-delete again the snapshot, since the root's send_in_progress counter could
-never go back to 0.
-
-We were also setting clone_sources_to_rollback to i + 1 too early - if we
-bailed out because the clone root we got is not readonly or flagged as dead
-we ended up later derreferencing a null pointer because we didn't assign
-the clone root to sctx->clone_roots[i].root:
-
-               for (i = 0; sctx && i < clone_sources_to_rollback; i++)
-                       btrfs_root_dec_send_in_progress(
-                                       sctx->clone_roots[i].root);
-
-So just don't increment the send_in_progress counter if the root is readonly
-or flagged as dead.
-
-Signed-off-by: Filipe Manana <[email protected]>
-Reviewed-by: David Sterba <[email protected]>
-Signed-off-by: Chris Mason <[email protected]>
-Signed-off-by: David Sterba <[email protected]>
----
- fs/btrfs/send.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
-index 6ec28f13659e..571de5a08fe7 100644
---- a/fs/btrfs/send.c
-+++ b/fs/btrfs/send.c
-@@ -5852,9 +5852,7 @@ long btrfs_ioctl_send(struct file *mnt_file, void __user 
*arg_)
-                               ret = PTR_ERR(clone_root);
-                               goto out;
-                       }
--                      clone_sources_to_rollback = i + 1;
-                       spin_lock(&clone_root->root_item_lock);
--                      clone_root->send_in_progress++;
-                       if (!btrfs_root_readonly(clone_root) ||
-                           btrfs_root_dead(clone_root)) {
-                               spin_unlock(&clone_root->root_item_lock);
-@@ -5862,10 +5860,12 @@ long btrfs_ioctl_send(struct file *mnt_file, void 
__user *arg_)
-                               ret = -EPERM;
-                               goto out;
-                       }
-+                      clone_root->send_in_progress++;
-                       spin_unlock(&clone_root->root_item_lock);
-                       srcu_read_unlock(&fs_info->subvol_srcu, index);
- 
-                       sctx->clone_roots[i].root = clone_root;
-+                      clone_sources_to_rollback = i + 1;
-               }
-               vfree(clone_sources_tmp);
-               clone_sources_tmp = NULL;
--- 
-2.1.3
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0003-incorrect-handling-for-fiemap_fill_next_extent.patch
 
new/patches.fixes/btrfs-0003-incorrect-handling-for-fiemap_fill_next_extent.patch
--- 
old/patches.fixes/btrfs-0003-incorrect-handling-for-fiemap_fill_next_extent.patch
   2015-06-18 17:11:06.000000000 +0200
+++ 
new/patches.fixes/btrfs-0003-incorrect-handling-for-fiemap_fill_next_extent.patch
   1970-01-01 01:00:00.000000000 +0100
@@ -1,41 +0,0 @@
-From: Chengyu Song <[email protected]>
-Date: Tue, 24 Mar 2015 18:12:56 -0400
-Patch-mainline: 4.1
-Git-commit: 317785074b63535d5f57d67043ed39afe4e31194
-Subject: [PATCH] btrfs: incorrect handling for fiemap_fill_next_extent
- return
-
-fiemap_fill_next_extent returns 0 on success, -errno on error, 1 if this was
-the last extent that will fit in user array. If 1 is returned, the return
-value may eventually returned to user space, which should not happen, according
-to manpage of ioctl.
-
-Signed-off-by: Chengyu Song <[email protected]>
-Reviewed-by: David Sterba <[email protected]>
-Reviewed-by: Liu Bo <[email protected]>
-Signed-off-by: Chris Mason <[email protected]>
-Signed-off-by: David Sterba <[email protected]>
----
- fs/btrfs/extent_io.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
-index d688cfe5d496..782f3bc4651d 100644
---- a/fs/btrfs/extent_io.c
-+++ b/fs/btrfs/extent_io.c
-@@ -4514,8 +4514,11 @@ int extent_fiemap(struct inode *inode, struct 
fiemap_extent_info *fieinfo,
-               }
-               ret = fiemap_fill_next_extent(fieinfo, em_start, disko,
-                                             em_len, flags);
--              if (ret)
-+              if (ret) {
-+                      if (ret == 1)
-+                              ret = 0;
-                       goto out_free;
-+              }
-       }
- out_free:
-       free_extent_map(em);
--- 
-2.1.3
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0004-cleanup-orphans-while-looking-up-default-subvo.patch
 
new/patches.fixes/btrfs-0004-cleanup-orphans-while-looking-up-default-subvo.patch
--- 
old/patches.fixes/btrfs-0004-cleanup-orphans-while-looking-up-default-subvo.patch
   2015-06-18 17:11:06.000000000 +0200
+++ 
new/patches.fixes/btrfs-0004-cleanup-orphans-while-looking-up-default-subvo.patch
   1970-01-01 01:00:00.000000000 +0100
@@ -1,44 +0,0 @@
-From: Jeff Mahoney <[email protected]>
-Date: Fri, 20 Mar 2015 14:02:09 -0400
-Patch-mainline: 4.1
-Git-commit: a9accf42219b06d2984a1a1d53635843a7f1920a
-Subject: [PATCH] btrfs: cleanup orphans while looking up default subvolume
-
-Orphans in the fs tree are cleaned up via open_ctree and subvolume
-orphans are cleaned via btrfs_lookup_dentry -- except when a default
-subvolume is in use.  The name for the default subvolume uses a manual
-lookup that doesn't trigger orphan cleanup and needs to trigger it
-manually as well. This doesn't apply to the remount case since the
-subvolumes are cleaned up by walking the root radix tree.
-
-Signed-off-by: Jeff Mahoney <[email protected]>
-Reviewed-by: David Sterba <[email protected]>
-Signed-off-by: Chris Mason <[email protected]>
-Signed-off-by: David Sterba <[email protected]>
----
- fs/btrfs/super.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
-index 05fef198ff94..e477ed67a49a 100644
---- a/fs/btrfs/super.c
-+++ b/fs/btrfs/super.c
-@@ -901,6 +901,15 @@ static struct dentry *get_default_root(struct super_block 
*sb,
-       if (IS_ERR(new_root))
-               return ERR_CAST(new_root);
- 
-+      if (!(sb->s_flags & MS_RDONLY)) {
-+              int ret;
-+              down_read(&fs_info->cleanup_work_sem);
-+              ret = btrfs_orphan_cleanup(new_root);
-+              up_read(&fs_info->cleanup_work_sem);
-+              if (ret)
-+                      return ERR_PTR(ret);
-+      }
-+
-       dir_id = btrfs_root_dirid(&new_root->root_item);
- setup_root:
-       location.objectid = dir_id;
--- 
-2.1.3
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0005-fix-range-cloning-when-same-inode-used-as-sour.patch
 
new/patches.fixes/btrfs-0005-fix-range-cloning-when-same-inode-used-as-sour.patch
--- 
old/patches.fixes/btrfs-0005-fix-range-cloning-when-same-inode-used-as-sour.patch
   2015-06-18 17:11:06.000000000 +0200
+++ 
new/patches.fixes/btrfs-0005-fix-range-cloning-when-same-inode-used-as-sour.patch
   1970-01-01 01:00:00.000000000 +0100
@@ -1,132 +0,0 @@
-From: Filipe Manana <[email protected]>
-Date: Tue, 31 Mar 2015 14:56:46 +0100
-Patch-mainline: 4.1
-Git-commit: 877f4ee55c9e3198d105596bd9b3a30314edfa46
-Subject: [PATCH] Btrfs: fix range cloning when same inode used as source
- and destination
-
-While searching for extents to clone we might find one where we only use
-a part of it coming from its tail. If our destination inode is the same
-the source inode, we end up removing the tail part of the extent item and
-insert after a new one that point to the same extent with an adjusted
-key file offset and data offset. After this we search for the next extent
-item in the fs/subvol tree with a key that has an offset incremented by
-one. But this second search leaves us at the new extent item we inserted
-previously, and since that extent item has a non-zero data offset, it
-it can make us call btrfs_drop_extents with an empty range (start == end)
-which causes the following warning:
-
-[23978.537119] WARNING: CPU: 6 PID: 16251 at fs/btrfs/file.c:550 
btrfs_drop_extent_cache+0x43/0x385 [btrfs]()
-(...)
-[23978.557266] Call Trace:
-[23978.557978]  [<ffffffff81425fd9>] dump_stack+0x4c/0x65
-[23978.559191]  [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb
-[23978.560699]  [<ffffffffa047f0ea>] ? btrfs_drop_extent_cache+0x43/0x385 
[btrfs]
-[23978.562389]  [<ffffffff8104544d>] warn_slowpath_null+0x1a/0x1c
-[23978.563613]  [<ffffffffa047f0ea>] btrfs_drop_extent_cache+0x43/0x385 [btrfs]
-[23978.565103]  [<ffffffff810e3a18>] ? time_hardirqs_off+0x15/0x28
-[23978.566294]  [<ffffffff81079ff8>] ? trace_hardirqs_off+0xd/0xf
-[23978.567438]  [<ffffffffa047f73d>] __btrfs_drop_extents+0x6b/0x9e1 [btrfs]
-[23978.568702]  [<ffffffff8107c03f>] ? trace_hardirqs_on+0xd/0xf
-[23978.569763]  [<ffffffff811441c0>] ? ____cache_alloc+0x69/0x2eb
-[23978.570817]  [<ffffffff81142269>] ? virt_to_head_page+0x9/0x36
-[23978.571872]  [<ffffffff81143c15>] ? 
cache_alloc_debugcheck_after.isra.42+0x16c/0x1cb
-[23978.573466]  [<ffffffff811420d5>] ? 
kmemleak_alloc_recursive.constprop.52+0x16/0x18
-[23978.574962]  [<ffffffffa0480d07>] btrfs_drop_extents+0x66/0x7f [btrfs]
-[23978.576179]  [<ffffffffa049aa35>] btrfs_clone+0x516/0xaf5 [btrfs]
-[23978.577311]  [<ffffffffa04983dc>] ? lock_extent_range+0x7b/0xcd [btrfs]
-[23978.578520]  [<ffffffffa049b2a2>] btrfs_ioctl_clone+0x28e/0x39f [btrfs]
-[23978.580282]  [<ffffffffa049d9ae>] btrfs_ioctl+0xb51/0x219a [btrfs]
-(...)
-[23978.591887] ---[ end trace 988ec2a653d03ed3 ]---
-
-Then we attempt to insert a new extent item with a key that already
-exists, which makes btrfs_insert_empty_item return -EEXIST resulting in
-abortion of the current transaction:
-
-[23978.594355] WARNING: CPU: 6 PID: 16251 at fs/btrfs/super.c:260 
__btrfs_abort_transaction+0x52/0x114 [btrfs]()
-(...)
-[23978.622589] Call Trace:
-[23978.623181]  [<ffffffff81425fd9>] dump_stack+0x4c/0x65
-[23978.624359]  [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb
-[23978.625573]  [<ffffffffa044ab6c>] ? __btrfs_abort_transaction+0x52/0x114 
[btrfs]
-[23978.626971]  [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48
-[23978.628003]  [<ffffffff8108a6c8>] ? vprintk_default+0x1d/0x1f
-[23978.629138]  [<ffffffffa044ab6c>] __btrfs_abort_transaction+0x52/0x114 
[btrfs]
-[23978.630528]  [<ffffffffa049ad1b>] btrfs_clone+0x7fc/0xaf5 [btrfs]
-[23978.631635]  [<ffffffffa04983dc>] ? lock_extent_range+0x7b/0xcd [btrfs]
-[23978.632886]  [<ffffffffa049b2a2>] btrfs_ioctl_clone+0x28e/0x39f [btrfs]
-[23978.634119]  [<ffffffffa049d9ae>] btrfs_ioctl+0xb51/0x219a [btrfs]
-(...)
-[23978.647714] ---[ end trace 988ec2a653d03ed4 ]---
-
-This is wrong because we should not process the extent item that we just
-inserted previously, and instead process the extent item that follows it
-in the tree
-
-For example for the test case I wrote for fstests:
-
-   bs=$((64 * 1024))
-   mkfs.btrfs -f -l $bs -O ^no-holes /dev/sdc
-   mount /dev/sdc /mnt
-
-   xfs_io -f -c "pwrite -S 0xaa $(($bs * 2)) $(($bs * 2))" /mnt/foo
-
-   $CLONER_PROG -s $((3 * $bs)) -d $((267 * $bs)) -l 0 /mnt/foo /mnt/foo
-   $CLONER_PROG -s $((217 * $bs)) -d $((95 * $bs)) -l 0 /mnt/foo /mnt/foo
-
-The second clone call fails with -EEXIST, because when we process the
-first extent item (offset 262144), we drop part of it (counting from the
-end) and then insert a new extent item with a key greater then the key we
-found. The next time we search the tree we search for a key with offset
-262144 + 1, which leaves us at the new extent item we have just inserted
-but we think it refers to an extent that we need to clone.
-
-Fix this by ensuring the next search key uses an offset corresponding to
-the offset of the key we found previously plus the data length of the
-corresponding extent item. This ensures we skip new extent items that we
-inserted and works for the case of implicit holes too (NO_HOLES feature).
-
-A test case for fstests follows soon.
-
-Signed-off-by: Filipe Manana <[email protected]>
-Signed-off-by: Chris Mason <[email protected]>
-Signed-off-by: David Sterba <[email protected]>
----
- fs/btrfs/ioctl.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
-index 2b4c5423672d..d79c599240a7 100644
---- a/fs/btrfs/ioctl.c
-+++ b/fs/btrfs/ioctl.c
-@@ -3206,6 +3206,8 @@ static int btrfs_clone(struct inode *src, struct inode 
*inode,
-       key.offset = off;
- 
-       while (1) {
-+              u64 next_key_min_offset;
-+
-               /*
-                * note the key will change type as we walk through the
-                * tree.
-@@ -3286,7 +3288,7 @@ static int btrfs_clone(struct inode *src, struct inode 
*inode,
-                       } else if (key.offset >= off + len) {
-                               break;
-                       }
--
-+                      next_key_min_offset = key.offset + datal;
-                       size = btrfs_item_size_nr(leaf, slot);
-                       read_extent_buffer(leaf, buf,
-                                          btrfs_item_ptr_offset(leaf, slot),
-@@ -3501,7 +3503,7 @@ static int btrfs_clone(struct inode *src, struct inode 
*inode,
-                               break;
-               }
-               btrfs_release_path(path);
--              key.offset++;
-+              key.offset = next_key_min_offset;
-       }
-       ret = 0;
- 
--- 
-2.1.3
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0006-fix-uninit-variable-in-clone-ioctl.patch 
new/patches.fixes/btrfs-0006-fix-uninit-variable-in-clone-ioctl.patch
--- old/patches.fixes/btrfs-0006-fix-uninit-variable-in-clone-ioctl.patch       
2015-06-18 17:11:06.000000000 +0200
+++ new/patches.fixes/btrfs-0006-fix-uninit-variable-in-clone-ioctl.patch       
1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-From: Chris Mason <[email protected]>
-Date: Sat, 11 Apr 2015 05:09:06 -0700
-Patch-mainline: 4.1
-Git-commit: 2eb8c62e317b2305da00dc7986a982fa9637fedc
-Subject: [PATCH] Btrfs: fix uninit variable in clone ioctl
-
-Commit 0d97a64e0 creates a new variable but doesn't always set it up.
-This puts it back to the original method (key.offset + 1) for the cases
-not covered by Filipe's new logic.
-
-Signed-off-by: Chris Mason <[email protected]>
-Signed-off-by: David Sterba <[email protected]>
----
- fs/btrfs/ioctl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
-index d79c599240a7..64e8fb639f72 100644
---- a/fs/btrfs/ioctl.c
-+++ b/fs/btrfs/ioctl.c
-@@ -3206,7 +3206,7 @@ static int btrfs_clone(struct inode *src, struct inode 
*inode,
-       key.offset = off;
- 
-       while (1) {
--              u64 next_key_min_offset;
-+              u64 next_key_min_offset = key.offset + 1;
- 
-               /*
-                * note the key will change type as we walk through the
--- 
-2.1.3
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0007-fix-regression-in-raid-level-conversion.patch 
new/patches.fixes/btrfs-0007-fix-regression-in-raid-level-conversion.patch
--- old/patches.fixes/btrfs-0007-fix-regression-in-raid-level-conversion.patch  
2015-06-18 17:11:06.000000000 +0200
+++ new/patches.fixes/btrfs-0007-fix-regression-in-raid-level-conversion.patch  
1970-01-01 01:00:00.000000000 +0100
@@ -1,55 +0,0 @@
-From: Chris Mason <[email protected]>
-Date: Tue, 19 May 2015 18:54:41 -0700
-Patch-mainline: 4.1
-Git-commit: 25c5856aa419479bb07466fd7d0de01da0b7b421
-Subject: [PATCH] Btrfs: fix regression in raid level conversion
-
-Commit 2f0810880f082fa8ba66ab2c33b02e4ff9770a5e changed
-btrfs_set_block_group_ro to avoid trying to allocate new chunks with the
-new raid profile during conversion.  This fixed failures when there was
-no space on the drive to allocate a new chunk, but the metadata
-reserves were sufficient to continue the conversion.
-
-But this ended up causing a regression when the drive had plenty of
-space to allocate new chunks, mostly because reduce_alloc_profile isn't
-using the new raid profile.
-
-Fixing btrfs_reduce_alloc_profile is a bigger patch.  For now, do a
-partial revert of 2f0810880, and don't error out if we hit ENOSPC.
-
-Signed-off-by: Chris Mason <[email protected]>
-Tested-by: Dave Sterba <[email protected]>
-Reported-by: Holger Hoffstaette <[email protected]>
-Signed-off-by: David Sterba <[email protected]>
----
- fs/btrfs/extent-tree.c |   19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
---- a/fs/btrfs/extent-tree.c
-+++ b/fs/btrfs/extent-tree.c
-@@ -8544,6 +8544,25 @@ int btrfs_set_block_group_ro(struct btrf
-                       goto out;
-       }
- 
-+      /*
-+       * if we are changing raid levels, try to allocate a corresponding
-+       * block group with the new raid level.
-+       */
-+      alloc_flags = update_block_group_flags(root, cache->flags);
-+      if (alloc_flags != cache->flags) {
-+              ret = do_chunk_alloc(trans, root, alloc_flags,
-+                                   CHUNK_ALLOC_FORCE);
-+              /*
-+               * ENOSPC is allowed here, we may have enough space
-+               * already allocated at the new raid level to
-+               * carry on
-+               */
-+              if (ret == -ENOSPC)
-+                      ret = 0;
-+              if (ret < 0)
-+                      goto out;
-+      }
-+
-       ret = set_block_group_ro(cache, 0);
-       if (!ret)
-               goto out;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-revert-delete-chunk-allocation.patch 
new/patches.fixes/btrfs-revert-delete-chunk-allocation.patch
--- old/patches.fixes/btrfs-revert-delete-chunk-allocation.patch        
2015-06-18 17:11:06.000000000 +0200
+++ new/patches.fixes/btrfs-revert-delete-chunk-allocation.patch        
1970-01-01 01:00:00.000000000 +0100
@@ -1,86 +0,0 @@
-From: Omar Sandoval <[email protected]>
-Subject: Revert "btrfs: delete chunk allocation attemp when setting block
-       group ro"
-Patch-mainline: 4.1
-
-This reverts commit 2f0810880f082fa8ba66ab2c33b02e4ff9770a5e.
-
-This tried to fix the following test case:
-
-       mkfs.ext4 -F /dev/sda
-       btrfs-convert /dev/sda
-       mount /dev/sda /mnt
-       btrfs device add -f /dev/sdb /mnt
-       btrfs balance start -v -dconvert=raid1 -mconvert=raid1 /mnt
-
-Before the reverted commit, this test case failed with ENOSPC because
-all chunks on the freshly converted filesystem were allocated, although
-many were empty. The reverted commit removed an allocation attempt in
-btrfs_set_block_group_ro(), but that fix wasn't right. After the
-reverted commit, the balance succeeds, but the data/metadata profiles
-aren't actually updated:
-
-       # btrfs fi df /mnt
-       Data, single: total=208.00MiB, used=49.48MiB
-       System, single: total=32.00MiB, used=4.00KiB
-       Metadata, single: total=208.00MiB, used=48.00KiB
-       GlobalReserve, single: total=4.00MiB, used=0.00B
-
-Indeed, several users reported that this commit caused a regression and
-that converting the data and metadata profiles no longer works. This is
-because the chunk allocation in question was where we actually allocated
-the chunk with the new profile. Not seeing a more obvious fix, let's
-just revert this. We can work around the ENOSPC in the original test
-case by just issuing a balance to free up the unused block groups before
-the conversion, anyways:
-
-       mkfs.ext4 -F /dev/sda
-       btrfs-convert /dev/sda
-       mount /dev/sda /mnt
-       btrfs balance start -v /mnt
-       btrfs device add -f /dev/sdb /mnt
-       btrfs balance start -v -dconvert=raid1 -mconvert=raid1 /mnt
-
-[jslaby: this also reverts a96295965b6.]
-
-Reported-by: Holger Hoffstätte <[email protected]>
-Cc: Shaohua Li <[email protected]>
-Signed-off-by: Omar Sandoval <[email protected]>
-Signed-off-by: David Sterba <[email protected]>
-
----
-
- fs/btrfs/extent-tree.c |   15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
---- a/fs/btrfs/extent-tree.c
-+++ b/fs/btrfs/extent-tree.c
-@@ -8536,6 +8536,14 @@ int btrfs_set_block_group_ro(struct btrf
-       if (IS_ERR(trans))
-               return PTR_ERR(trans);
- 
-+      alloc_flags = update_block_group_flags(root, cache->flags);
-+      if (alloc_flags != cache->flags) {
-+              ret = do_chunk_alloc(trans, root, alloc_flags,
-+                                   CHUNK_ALLOC_FORCE);
-+              if (ret < 0)
-+                      goto out;
-+      }
-+
-       ret = set_block_group_ro(cache, 0);
-       if (!ret)
-               goto out;
-@@ -8546,13 +8554,6 @@ int btrfs_set_block_group_ro(struct btrf
-               goto out;
-       ret = set_block_group_ro(cache, 0);
- out:
--      if (cache->flags & BTRFS_BLOCK_GROUP_SYSTEM) {
--              alloc_flags = update_block_group_flags(root, cache->flags);
--              lock_chunks(root->fs_info->chunk_root);
--              check_system_chunk(trans, root, alloc_flags);
--              unlock_chunks(root->fs_info->chunk_root);
--      }
--
-       btrfs_end_transaction(trans, root);
-       return ret;
- }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip.patch 
new/patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip.patch
--- 
old/patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip.patch    
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip.patch    
    2015-06-29 13:53:27.000000000 +0200
@@ -0,0 +1,40 @@
+From: Chris Wilson <[email protected]>
+Date: Mon, 27 Apr 2015 13:41:15 +0100
+Subject: drm/i915: Ensure cache flushes prior to doing CS flips
+Patch-mainline: 4.2-rc1
+Git-commit: d94b5030d26b4f45510a092262bc2b542a00bd7c
+References: bnc#931300
+
+Synchronising to an object active on the same ring is a no-op, for the
+benefit of execbuffer scheduler. However, for CS flips this means that
+we can forgo checking whether the last write request of the object is
+actually queued and more importantly whether the cache flush for the
+write was emitted.
+
+Signed-off-by: Chris Wilson <[email protected]>
+Signed-off-by: Daniel Vetter <[email protected]>
+Signed-off-by: Jiri Slaby <[email protected]>
+---
+ drivers/gpu/drm/i915/intel_display.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
+index c890e03939fa..3c8801cecd3f 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -11040,6 +11040,12 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
+               i915_gem_request_assign(&work->flip_queued_req,
+                                       obj->last_write_req);
+       } else {
++              if (obj->last_write_req) {
++                      ret = i915_gem_check_olr(obj->last_write_req);
++                      if (ret)
++                              goto cleanup_unpin;
++              }
++
+               ret = dev_priv->display.queue_flip(dev, crtc, fb, obj, ring,
+                                                  page_flip_flags);
+               if (ret)
+-- 
+2.4.3
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/drm-nouveau-bios-fix-fetching-from-acpi-on-certain-s 
new/patches.fixes/drm-nouveau-bios-fix-fetching-from-acpi-on-certain-s
--- old/patches.fixes/drm-nouveau-bios-fix-fetching-from-acpi-on-certain-s      
2015-06-18 17:11:06.000000000 +0200
+++ new/patches.fixes/drm-nouveau-bios-fix-fetching-from-acpi-on-certain-s      
1970-01-01 01:00:00.000000000 +0100
@@ -1,59 +0,0 @@
-From 4195f40685a5f2783b4decece13ed740b61ee038 Mon Sep 17 00:00:00 2001
-From: Jan Vesely <[email protected]>
-Date: Wed, 8 Apr 2015 21:34:36 -0400
-Subject: [PATCH] drm/nouveau/bios: fix fetching from acpi on certain systems
-Git-commit: 4195f40685a5f2783b4decece13ed740b61ee038
-Patch-mainline: 4.1-rc1
-References: boo#932184
-
-nvbios_extend() returns 1 to indicate "extended the array" and 0 to
-indicate the array is already big enough.  This is used by the core
-shadowing code to prevent re-fetching chunks of the image that have
-already been shadowed.
-
-The ACPI fetching code may possibly need to extend this further due
-to requiring fetches to happen in 4KiB chunks.
-
-Under certain circumstances (that happen if the total image size is
-a multiple of 4KiB), the memory allocated to store the shadow will
-already be big enough, causing the ACPI code's nvbios_extend() call
-to return 0, which is misinterpreted as a failure.
-
-The fix is simple, accept >= 0 as a successful condition here.  The
-core will have already made sure that we're not re-fetching data we
-already have.
-
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89047
-
-v2 (Ben Skeggs):
-- dropped hunk which would cause unnecessary re-fetching
-- more descriptive explanation
-
-Signed-off-by: Jan Vesely <[email protected]>
-Signed-off-by: Ben Skeggs <[email protected]>
-Acked-by: Takashi Iwai <[email protected]>
-
----
- drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c |    4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
-+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
-@@ -52,7 +52,7 @@ acpi_read_fast(void *data, u32 offset, u
-       u32 start = offset & ~0x00000fff;
-       u32 fetch = limit - start;
- 
--      if (nvbios_extend(bios, limit) > 0) {
-+      if (nvbios_extend(bios, limit) >= 0) {
-               int ret = nouveau_acpi_get_bios_chunk(bios->data, start, fetch);
-               if (ret == fetch)
-                       return fetch;
-@@ -73,7 +73,7 @@ acpi_read_slow(void *data, u32 offset, u
-       u32 start = offset & ~0xfff;
-       u32 fetch = 0;
- 
--      if (nvbios_extend(bios, limit) > 0) {
-+      if (nvbios_extend(bios, limit) >= 0) {
-               while (start + fetch < limit) {
-                       int ret = nouveau_acpi_get_bios_chunk(bios->data,
-                                                             start + fetch,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/mmc-sdhci-fix-low-memory-corruption.patch 
new/patches.fixes/mmc-sdhci-fix-low-memory-corruption.patch
--- old/patches.fixes/mmc-sdhci-fix-low-memory-corruption.patch 2015-06-18 
17:11:06.000000000 +0200
+++ new/patches.fixes/mmc-sdhci-fix-low-memory-corruption.patch 2015-06-29 
13:53:27.000000000 +0200
@@ -1,7 +1,8 @@
 From: Jiri Slaby <[email protected]>
 Date: Fri, 12 Jun 2015 11:24:45 +0200
 Subject: mmc: sdhci: fix low memory corruption
-Patch-mainline: not yet, submitted
+Patch-mainline: v4.2-rc1
+Git-commit: 62a7f368ffbc13d9aedfdd7aeae711b177db69ac
 References: bnc#934531
 
 When dma mapping (dma_map_sg) fails in sdhci_pre_dma_transfer, -EINVAL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/x86-PCI-Use-host-bridge-_CRS-info-on-Foxconn-K8M890 
new/patches.fixes/x86-PCI-Use-host-bridge-_CRS-info-on-Foxconn-K8M890
--- old/patches.fixes/x86-PCI-Use-host-bridge-_CRS-info-on-Foxconn-K8M890       
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/x86-PCI-Use-host-bridge-_CRS-info-on-Foxconn-K8M890       
2015-06-29 13:53:27.000000000 +0200
@@ -0,0 +1,62 @@
+From 1dace0116d0b05c967d94644fc4dfe96be2ecd3d Mon Sep 17 00:00:00 2001
+From: Bjorn Helgaas <[email protected]>
+Date: Tue, 9 Jun 2015 18:54:07 -0500
+Subject: [PATCH] x86/PCI: Use host bridge _CRS info on Foxconn K8M890-8237A
+Git-commit: 1dace0116d0b05c967d94644fc4dfe96be2ecd3d
+Patch-mainline: linux-next, to be in 4.2-rc1
+References: bnc#907092
+
+The Foxconn K8M890-8237A has two PCI host bridges, and we can't assign
+resources correctly without the information from _CRS that tells us which
+address ranges are claimed by which bridge.  In the bugs mentioned below,
+we incorrectly assign a sound card address (this example is from 1033299):
+
+  bus: 00 index 2 [mem 0x80000000-0xfcffffffff]
+  ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-7f])
+  pci_root PNP0A08:00: host bridge window [mem 0x80000000-0xbfefffff] (ignored)
+  pci_root PNP0A08:00: host bridge window [mem 0xc0000000-0xdfffffff] (ignored)
+  pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0xfebfffff] (ignored)
+  ACPI: PCI Root Bridge [PCI1] (domain 0000 [bus 80-ff])
+  pci_root PNP0A08:01: host bridge window [mem 0xbff00000-0xbfffffff] (ignored)
+  pci 0000:80:01.0: [1106:3288] type 0 class 0x000403
+  pci 0000:80:01.0: reg 10: [mem 0xbfffc000-0xbfffffff 64bit]
+  pci 0000:80:01.0: address space collision: [mem 0xbfffc000-0xbfffffff 64bit] 
conflicts with PCI Bus #00 [mem 0x80000000-0xfcffffffff]
+  pci 0000:80:01.0: BAR 0: assigned [mem 0xfd00000000-0xfd00003fff 64bit]
+  BUG: unable to handle kernel paging request at ffffc90000378000
+  IP: [<ffffffffa0345f63>] azx_create+0x37c/0x822 [snd_hda_intel]
+
+We assigned 0xfd_0000_0000, but that is not in any of the host bridge
+windows, and the sound card doesn't work.
+
+Turn on pci=use_crs automatically for this system.
+
+Link: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/931368
+Link: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1033299
+Signed-off-by: Bjorn Helgaas <[email protected]>
+Cc: [email protected]
+Acked-by: Takashi Iwai <[email protected]>
+
+---
+ arch/x86/pci/acpi.c |   11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+--- a/arch/x86/pci/acpi.c
++++ b/arch/x86/pci/acpi.c
+@@ -81,6 +81,17 @@ static const struct dmi_system_id pci_cr
+                       DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies, LTD"),
+               },
+       },
++      /* https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/931368 */
++      /* https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1033299 */
++      {
++              .callback = set_use_crs,
++              .ident = "Foxconn K8M890-8237A",
++              .matches = {
++                      DMI_MATCH(DMI_BOARD_VENDOR, "Foxconn"),
++                      DMI_MATCH(DMI_BOARD_NAME, "K8M890-8237A"),
++                      DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies, LTD"),
++              },
++      },
+ 
+       /* Now for the blacklist.. */
+ 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/x86-PCI-Use-host-bridge-_CRS-info-on-systems-with-32 
new/patches.fixes/x86-PCI-Use-host-bridge-_CRS-info-on-systems-with-32
--- old/patches.fixes/x86-PCI-Use-host-bridge-_CRS-info-on-systems-with-32      
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/x86-PCI-Use-host-bridge-_CRS-info-on-systems-with-32      
2015-06-29 13:53:27.000000000 +0200
@@ -0,0 +1,54 @@
+From 3d9fecf6bfb8b12bc2f9a4c7109895a2a2bb9436 Mon Sep 17 00:00:00 2001
+From: Bjorn Helgaas <[email protected]>
+Date: Tue, 9 Jun 2015 17:31:38 -0500
+Subject: [PATCH] x86/PCI: Use host bridge _CRS info on systems with >32 bit 
addressing
+Git-commit: 3d9fecf6bfb8b12bc2f9a4c7109895a2a2bb9436
+Patch-mainline: linux-next, to be in 4.2-rc1
+References: bnc#907092
+
+We enable _CRS on all systems from 2008 and later.  On older systems, we
+ignore _CRS and assume the whole physical address space (excluding RAM and
+other devices) is available for PCI devices, but on systems that support
+physical address spaces larger than 4GB, it's doubtful that the area above
+4GB is really available for PCI.
+
+After d56dbf5bab8c ("PCI: Allocate 64-bit BARs above 4G when possible"), we
+try to use that space above 4GB *first*, so we're more likely to put a
+device there.
+
+On Juan's Toshiba Satellite Pro U200, BIOS left the graphics, sound, 1394,
+and card reader devices unassigned (but only after Windows had been
+booted).  Only the sound device had a 64-bit BAR, so it was the only device
+placed above 4GB, and hence the only device that didn't work.
+
+Keep _CRS enabled even on pre-2008 systems if they support physical address
+space larger than 4GB.
+
+Fixes: d56dbf5bab8c ("PCI: Allocate 64-bit BARs above 4G when possible")
+Reported-and-tested-by: Juan Dayer <[email protected]>
+Reported-and-tested-by: Alan Horsfield <[email protected]>
+Link: https://bugzilla.kernel.org/show_bug.cgi?id=99221
+Link: https://bugzilla.opensuse.org/show_bug.cgi?id=907092
+Signed-off-by: Bjorn Helgaas <[email protected]>
+Cc: [email protected]     # v3.14+
+Acked-by: Takashi Iwai <[email protected]>
+
+---
+ arch/x86/pci/acpi.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/arch/x86/pci/acpi.c
++++ b/arch/x86/pci/acpi.c
+@@ -132,8 +132,10 @@ void __init pci_acpi_crs_quirks(void)
+ {
+       int year;
+ 
+-      if (dmi_get_date(DMI_BIOS_DATE, &year, NULL, NULL) && year < 2008)
+-              pci_use_crs = false;
++      if (dmi_get_date(DMI_BIOS_DATE, &year, NULL, NULL) && year < 2008) {
++              if (iomem_resource.end <= 0xffffffff)
++                      pci_use_crs = false;
++      }
+ 
+       dmi_check_system(pci_crs_quirks);
+ 

++++++ patches.kernel.org.tar.bz2 ++++++
++++ 20561 lines of diff (skipped)

++++++ patches.rpmify.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.rpmify/cloneconfig.diff 
new/patches.rpmify/cloneconfig.diff
--- old/patches.rpmify/cloneconfig.diff 2014-11-05 16:04:15.000000000 +0100
+++ new/patches.rpmify/cloneconfig.diff 2015-05-01 21:59:50.000000000 +0200
@@ -15,11 +15,11 @@
 
 --- a/scripts/kconfig/Makefile
 +++ b/scripts/kconfig/Makefile
-@@ -99,6 +99,23 @@ PHONY += allnoconfig allyesconfig allmod
+@@ -82,6 +82,23 @@ PHONY += $(simple-targets)
  
- allnoconfig allyesconfig allmodconfig alldefconfig randconfig: $(obj)/conf
-       $< --$@ $(Kconfig)
-+ 
+ $(simple-targets): $(obj)/conf
+       $< $(silent) --$@ $(Kconfig)
++
 +UNAME_RELEASE := $(shell uname -r)
 +CLONECONFIG := $(firstword $(wildcard /proc/config.gz \
 +                                    /lib/modules/$(UNAME_RELEASE)/.config \
@@ -37,5 +37,5 @@
 +      $(Q)$< --defconfig=.config.running arch/$(SRCARCH)/Kconfig
 +
  
- PHONY += listnewconfig olddefconfig oldnoconfig savedefconfig defconfig
+ PHONY += oldnoconfig savedefconfig defconfig
  

++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.suse/no-frame-pointer-select 
new/patches.suse/no-frame-pointer-select
--- old/patches.suse/no-frame-pointer-select    2015-04-24 13:46:53.000000000 
+0200
+++ new/patches.suse/no-frame-pointer-select    1970-01-01 01:00:00.000000000 
+0100
@@ -1,39 +0,0 @@
-From: Andi Kleen <[email protected]>
-Subject: Fix stack unwinder Kconfig
-Patch-mainline: never
-References: bnc#402518
-
-Incremental patch for dwarf2 unwinder
-
-Fix the Kconfigs that do SELECT FRAME_POINTER to do select UNWIND_INFO
-instead.
-
-Signed-off-by: Andi Kleen <[email protected]>
-Acked-by: Jan Beulich <[email protected]>
-
----
- lib/Kconfig.debug |    6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
---- a/lib/Kconfig.debug        2013-09-17 11:04:43.313514455 -0400
-+++ b/lib/Kconfig.debug        2013-09-17 11:05:18.356935131 -0400
-@@ -1384,7 +1384,8 @@ config FAULT_INJECTION_STACKTRACE_FILTER
-       depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT
-       depends on !X86_64
-       select STACKTRACE
--      select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && 
!ARM_UNWIND && !ARC && !SCORE
-+      select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !X86 
&& !ARM_UNWIND && !ARC && !SCORE
-+      select UNWIND_INFO if X86 && !FRAME_POINTER
-       help
-         Provide stacktrace filter for fault-injection capabilities
- 
-@@ -1394,7 +1395,8 @@ config LATENCYTOP
-       depends on DEBUG_KERNEL
-       depends on STACKTRACE_SUPPORT
-       depends on PROC_FS
--      select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && 
!ARM_UNWIND && !ARC
-+      select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !X86 
&& !ARM_UNWIND && !ARC
-+      select UNWIND_INFO if X86 && !FRAME_POINTER
-       select KALLSYMS
-       select KALLSYMS_ALL
-       select STACKTRACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/revert-x86-remove-warning-and-warning_symbol-from-struct-stacktrace_ops
 
new/patches.suse/revert-x86-remove-warning-and-warning_symbol-from-struct-stacktrace_ops
--- 
old/patches.suse/revert-x86-remove-warning-and-warning_symbol-from-struct-stacktrace_ops
    2015-04-24 13:46:53.000000000 +0200
+++ 
new/patches.suse/revert-x86-remove-warning-and-warning_symbol-from-struct-stacktrace_ops
    2015-05-28 12:49:08.000000000 +0200
@@ -21,19 +21,10 @@
 Link: http://lkml.kernel.org/r/[email protected]
 Signed-off-by: Frederic Weisbecker <[email protected]>
 Acked-by: Jeff Mahoney <[email protected]>
----
- arch/x86/include/asm/stacktrace.h |    3 ---
- arch/x86/kernel/cpu/perf_event.c  |   13 -------------
- arch/x86/kernel/dumpstack.c       |   16 ----------------
- arch/x86/kernel/stacktrace.c      |   13 -------------
- arch/x86/oprofile/backtrace.c     |   13 -------------
- 5 files changed, 0 insertions(+), 58 deletions(-)
 
-diff --git a/arch/x86/include/asm/stacktrace.h 
b/arch/x86/include/asm/stacktrace.h
-index d7e89c8..70bbe39 100644
 --- a/arch/x86/include/asm/stacktrace.h
 +++ b/arch/x86/include/asm/stacktrace.h
-@@ -37,6 +37,9 @@
+@@ -37,6 +37,9 @@ print_context_stack_bp(struct thread_inf
  /* Generic stack tracer with callbacks */
  
  struct stacktrace_ops {
@@ -43,11 +34,9 @@
        void (*address)(void *data, unsigned long address, int reliable);
        /* On negative return stop dumping */
        int (*stack)(void *data, char *name);
-diff --git a/arch/x86/kernel/cpu/perf_event.c 
b/arch/x86/kernel/cpu/perf_event.c
-index 0de6b2b..3a0338b 100644
 --- a/arch/x86/kernel/cpu/perf_event.c
 +++ b/arch/x86/kernel/cpu/perf_event.c
-@@ -1773,6 +1773,17 @@
+@@ -2072,6 +2072,17 @@ void arch_perf_update_userpage(struct pe
   * callchain support
   */
  
@@ -65,7 +54,7 @@
  static int backtrace_stack(void *data, char *name)
  {
        return 0;
-@@ -1786,6 +1797,8 @@
+@@ -2085,6 +2096,8 @@ static void backtrace_address(void *data
  }
  
  static const struct stacktrace_ops backtrace_ops = {
@@ -74,11 +63,9 @@
        .stack                  = backtrace_stack,
        .address                = backtrace_address,
        .walk_stack             = print_context_stack_bp,
-diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
-index e2a3f06..f478ff6 100644
 --- a/arch/x86/kernel/dumpstack.c
 +++ b/arch/x86/kernel/dumpstack.c
-@@ -135,6 +135,20 @@
+@@ -145,6 +145,20 @@ print_context_stack_bp(struct thread_inf
  }
  EXPORT_SYMBOL_GPL(print_context_stack_bp);
  
@@ -99,7 +86,7 @@
  static int print_trace_stack(void *data, char *name)
  {
        printk("%s <%s> ", (char *)data, name);
-@@ -152,6 +166,8 @@
+@@ -161,6 +175,8 @@ static void print_trace_address(void *da
  }
  
  static const struct stacktrace_ops print_trace_ops = {
@@ -108,8 +95,6 @@
        .stack                  = print_trace_stack,
        .address                = print_trace_address,
        .walk_stack             = print_context_stack,
-diff --git a/arch/x86/kernel/stacktrace.c b/arch/x86/kernel/stacktrace.c
-index 6515733..55d9bc0 100644
 --- a/arch/x86/kernel/stacktrace.c
 +++ b/arch/x86/kernel/stacktrace.c
 @@ -9,6 +9,15 @@
@@ -128,7 +113,7 @@
  static int save_stack_stack(void *data, char *name)
  {
        return 0;
-@@ -44,12 +53,16 @@
+@@ -44,12 +53,16 @@ save_stack_address_nosched(void *data, u
  }
  
  static const struct stacktrace_ops save_stack_ops = {
@@ -145,11 +130,9 @@
        .stack          = save_stack_stack,
        .address        = save_stack_address_nosched,
        .walk_stack     = print_context_stack,
-diff --git a/arch/x86/oprofile/backtrace.c b/arch/x86/oprofile/backtrace.c
-index 2d49d4e..a5b64ab 100644
 --- a/arch/x86/oprofile/backtrace.c
 +++ b/arch/x86/oprofile/backtrace.c
-@@ -16,6 +16,17 @@
+@@ -17,6 +17,17 @@
  #include <asm/ptrace.h>
  #include <asm/stacktrace.h>
  
@@ -167,7 +150,7 @@
  static int backtrace_stack(void *data, char *name)
  {
        /* Yes, we want all stacks */
-@@ -31,6 +42,8 @@
+@@ -32,6 +43,8 @@ static void backtrace_address(void *data
  }
  
  static struct stacktrace_ops backtrace_ops = {
@@ -176,4 +159,3 @@
        .stack          = backtrace_stack,
        .address        = backtrace_address,
        .walk_stack     = print_context_stack,
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.suse/scsi-netlink-ml 
new/patches.suse/scsi-netlink-ml
--- old/patches.suse/scsi-netlink-ml    2015-04-24 13:46:53.000000000 +0200
+++ new/patches.suse/scsi-netlink-ml    2015-05-28 12:49:08.000000000 +0200
@@ -18,9 +18,9 @@
 --- a/drivers/scsi/scsi_error.c
 +++ b/drivers/scsi/scsi_error.c
 @@ -25,6 +25,8 @@
- #include <linux/blkdev.h>
  #include <linux/delay.h>
  #include <linux/jiffies.h>
+ #include <asm/unaligned.h>
 +#include <linux/netlink.h>
 +#include <net/netlink.h>
  
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.suse/sd_init.mark_majors_busy.patch 
new/patches.suse/sd_init.mark_majors_busy.patch
--- old/patches.suse/sd_init.mark_majors_busy.patch     2015-04-24 
13:46:53.000000000 +0200
+++ new/patches.suse/sd_init.mark_majors_busy.patch     2015-05-28 
12:49:08.000000000 +0200
@@ -68,7 +68,7 @@
                sdev_printk(KERN_WARNING, sdp, "sd_probe: memory exhausted.\n");
                goto out_put;
 @@ -2806,6 +2812,42 @@ done:
-       return ret;
+       return sd_start_stop_device(sdkp, 1);
  }
  
 +/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.suse/stack-unwind 
new/patches.suse/stack-unwind
--- old/patches.suse/stack-unwind       2015-04-24 13:46:53.000000000 +0200
+++ new/patches.suse/stack-unwind       2015-05-28 12:49:08.000000000 +0200
@@ -4,6 +4,8 @@
 
 This includes reverting f1883f86dea84fe47a71a39fc1afccc005915ed8.
 
+Update Sep 18 2008 andi:
+- suppress FRAME_POINTER select
 Update Jan 17 2009 jeffm:
 - Something in 2.6.29-rc1 tweaked the frame pointer code somehow, so I fixed
   that up.
@@ -11,40 +13,19 @@
 - fix after upstream commit 9e565292270a2d55524be38835104c564ac8f795
 Update Sep 15 2011 jbeulich:
 - add support for DW_CFA_def_cfa_expression (needed by x86-64)
+Update Nov 24 2011 jeffm:
+- cfi_ignore takes more arguments
 Update Aug 01 2012 jbeulich:
 - mark unwind section start/end symbols as always relative
+Update Apr 28 2014 jeffm:
+- remove ix86 check for vdso32 compat range
 Update Jun 24 2014 jeffm:
 - VSYSCALL_START / END replaced upstream with
   VSYSCALL_ADDR / VSYSCALL_ADDR + PAGE_SIZE
 
----
- Makefile                          |    5 
- arch/x86/Kconfig                  |    2 
- arch/x86/Makefile                 |    2 
- arch/x86/include/asm/dwarf2.h     |    3 
- arch/x86/include/asm/stacktrace.h |    4 
- arch/x86/include/asm/switch_to.h  |   10 
- arch/x86/include/asm/unwind.h     |  164 +++
- arch/x86/kernel/dumpstack.c       |   88 ++
- arch/x86/kernel/dumpstack_32.c    |    4 
- arch/x86/kernel/dumpstack_64.c    |    7 
- arch/x86/kernel/entry_32.S        |   35 
- arch/x86/kernel/entry_64.S        |   34 
- arch/x86/kernel/vmlinux.lds.S     |    2 
- arch/x86/tools/relocs.c           |    1 
- include/asm-generic/vmlinux.lds.h |   22 
- include/linux/module.h            |    3 
- include/linux/unwind.h            |  135 +++
- init/main.c                       |    3 
- kernel/Makefile                   |    1 
- kernel/module.c                   |   32 
- kernel/unwind.c                   | 1641 
++++++++++++++++++++++++++++++++++++++
- lib/Kconfig.debug                 |   18 
- 22 files changed, 2213 insertions(+), 3 deletions(-)
-
 --- a/Makefile
 +++ b/Makefile
-@@ -711,6 +711,11 @@ endif
+@@ -727,6 +727,11 @@ endif
  
  KBUILD_CFLAGS   += $(call cc-option, -fno-var-tracking-assignments)
  
@@ -58,7 +39,7 @@
  KBUILD_CFLAGS   += $(call cc-option, -gsplit-dwarf, -g)
 --- a/arch/x86/Kconfig
 +++ b/arch/x86/Kconfig
-@@ -538,7 +538,7 @@ config X86_32_IRIS
+@@ -627,7 +627,7 @@ config X86_32_IRIS
  config SCHED_OMIT_FRAME_POINTER
        def_bool y
        prompt "Single-depth WCHAN output"
@@ -69,7 +50,7 @@
          is disabled then wchan values will recurse back to the
 --- a/arch/x86/Makefile
 +++ b/arch/x86/Makefile
-@@ -169,7 +169,9 @@ KBUILD_CFLAGS += -pipe
+@@ -163,7 +163,9 @@ KBUILD_CFLAGS += -pipe
  # Workaround for a gcc prelease that unfortunately was shipped in a suse 
release
  KBUILD_CFLAGS += -Wno-sign-compare
  #
@@ -91,9 +72,18 @@
        /*
         * Emit CFI data in .debug_frame sections, not .eh_frame sections.
         * The latter we currently just discard since we don't do DWARF
+@@ -53,7 +54,7 @@
+  * Due to the structure of pre-exisiting code, don't use assembler line
+  * comment character # to ignore the arguments. Instead, use a dummy macro.
+  */
+-.macro cfi_ignore a=0, b=0, c=0, d=0
++.macro cfi_ignore a=0, b=0, c=0, d=0, e=0, f=0, g=0, h=0
+ .endm
+ 
+ #define CFI_STARTPROC         cfi_ignore
 --- a/arch/x86/include/asm/stacktrace.h
 +++ b/arch/x86/include/asm/stacktrace.h
-@@ -89,6 +89,10 @@ extern void
+@@ -92,6 +92,10 @@ extern void
  show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs,
                   unsigned long *sp, unsigned long bp, char *log_lvl);
  
@@ -106,7 +96,7 @@
  /* The form of the top of the frame on the stack */
 --- a/arch/x86/include/asm/switch_to.h
 +++ b/arch/x86/include/asm/switch_to.h
-@@ -100,16 +100,26 @@ do {             
+@@ -100,6 +100,15 @@ do {                                                      
                \
  #define __switch_canary_iparam
  #endif        /* CC_STACKPROTECTOR */
  
@@ -122,10 +112,7 @@
  /*
   * There is no need to save or restore flags, because flags are always
   * clean in kernel mode, with the possible exception of IOPL.  Kernel IOPL
-  * has no effect.
-  */
- #define switch_to(prev, next, last) \
-       asm volatile(SAVE_CONTEXT                                         \
+@@ -110,6 +119,7 @@ do {                                                       
                \
             "movq %%rsp,%P[threadrsp](%[prev])\n\t" /* save RSP */       \
             "movq %P[threadrsp](%[next]),%%rsp\n\t" /* restore RSP */    \
             "call __switch_to\n\t"                                       \
@@ -133,9 +120,9 @@
             "movq "__percpu_arg([current_task])",%%rsi\n\t"              \
             __switch_canary                                              \
             "movq %P[thread_info](%%rsi),%%r8\n\t"                       \
---- /dev/null
+--- a/dev/null
 +++ b/arch/x86/include/asm/unwind.h
-@@ -0,0 +1,164 @@
+@@ -0,0 +1,159 @@
 +#ifndef _ASM_X86_UNWIND_H
 +#define _ASM_X86_UNWIND_H
 +
@@ -204,8 +191,6 @@
 +
 +#else /* X86_32 */
 +
-+#include <asm/fixmap.h>
-+
 +#define FRAME_RETADDR_OFFSET 4
 +
 +#define UNW_REGISTER_INFO \
@@ -231,7 +216,7 @@
 +#ifdef CONFIG_X86_64
 +      info->regs = *regs;
 +#else
-+      if (user_mode_vm(regs))
++      if (user_mode(regs))
 +              info->regs = *regs;
 +      else {
 +              memcpy(&info->regs, regs, offsetof(struct pt_regs, sp));
@@ -271,17 +256,14 @@
 +
 +static inline int arch_unw_user_mode(/*const*/ struct unwind_frame_info *info)
 +{
-+#ifdef CONFIG_X86_64
 +      return user_mode(&info->regs)
++#ifdef CONFIG_X86_64
 +             || (long)info->regs.ip >= 0
 +             || (info->regs.ip >= VSYSCALL_ADDR &&
 +                 info->regs.ip < VSYSCALL_ADDR + PAGE_SIZE)
 +             || (long)info->regs.sp >= 0;
 +#else
-+      return user_mode_vm(&info->regs)
 +             || info->regs.ip < PAGE_OFFSET
-+             || (info->regs.ip >= __fix_to_virt(FIX_VDSO)
-+                 && info->regs.ip < __fix_to_virt(FIX_VDSO) + PAGE_SIZE)
 +             || info->regs.sp < PAGE_OFFSET;
 +#endif
 +}
@@ -320,8 +302,8 @@
 +#endif
  static int die_counter;
  
- static void printk_stack_address(unsigned long address, int reliable)
-@@ -70,6 +76,70 @@ print_ftrace_graph_addr(unsigned long ad
+ static void printk_stack_address(unsigned long address, int reliable,
+@@ -72,6 +78,70 @@ print_ftrace_graph_addr(unsigned long ad
  { }
  #endif
  
@@ -392,7 +374,7 @@
  /*
   * x86-64 can have up to three kernel stacks:
   * process stack
-@@ -347,3 +417,21 @@ static int __init code_bytes_setup(char
+@@ -367,3 +437,21 @@ static int __init code_bytes_setup(char 
        return 1;
  }
  __setup("code_bytes=", code_bytes_setup);
@@ -437,7 +419,7 @@
  #include <asm/stacktrace.h>
  
  
-@@ -164,6 +165,12 @@ void dump_trace(struct task_struct *task
+@@ -163,6 +164,12 @@ void dump_trace(struct task_struct *task
        if (!task)
                task = current;
  
@@ -496,7 +478,7 @@
        pushl_cfi %eax
 --- a/arch/x86/kernel/entry_64.S
 +++ b/arch/x86/kernel/entry_64.S
-@@ -1202,6 +1202,40 @@ ENTRY(do_softirq_own_stack)
+@@ -1140,6 +1140,40 @@ ENTRY(do_softirq_own_stack)
        CFI_ENDPROC
  END(do_softirq_own_stack)
  
@@ -539,7 +521,7 @@
  
 --- a/arch/x86/kernel/vmlinux.lds.S
 +++ b/arch/x86/kernel/vmlinux.lds.S
-@@ -330,7 +330,9 @@ SECTIONS
+@@ -332,7 +332,9 @@ SECTIONS
  
        /* Sections to be discarded */
        DISCARDS
@@ -551,7 +533,7 @@
  
 --- a/arch/x86/tools/relocs.c
 +++ b/arch/x86/tools/relocs.c
-@@ -55,6 +55,7 @@ static const char * const sym_regex_kern
+@@ -58,6 +58,7 @@ static const char * const sym_regex_kern
        "(__iommu_table|__apicdrivers|__smp_locks)(|_end)|"
        "__(start|end)_pci_.*|"
        "__(start|end)_builtin_fw|"
@@ -561,7 +543,7 @@
        "__(start|stop)___param|"
 --- a/include/asm-generic/vmlinux.lds.h
 +++ b/include/asm-generic/vmlinux.lds.h
-@@ -361,6 +361,8 @@
+@@ -379,6 +379,8 @@
                MEM_KEEP(exit.rodata)                                   \
        }                                                               \
                                                                        \
@@ -570,7 +552,7 @@
        /* Built-in module parameters. */                               \
        __param : AT(ADDR(__param) - LOAD_OFFSET) {                     \
                VMLINUX_SYMBOL(__start___param) = .;                    \
-@@ -806,3 +808,23 @@
+@@ -828,3 +830,23 @@
        BSS(bss_align)                                                  \
        . = ALIGN(stop_align);                                          \
        VMLINUX_SYMBOL(__bss_stop) = .;
@@ -596,7 +578,7 @@
 +#endif
 --- a/include/linux/module.h
 +++ b/include/linux/module.h
-@@ -298,6 +298,9 @@ struct module {
+@@ -284,6 +284,9 @@ struct module {
        /* Size of RO sections of the module (text+rodata) */
        unsigned int init_ro_size, core_ro_size;
  
@@ -606,7 +588,7 @@
        /* Arch-specific module values */
        struct mod_arch_specific arch;
  
---- /dev/null
+--- a/dev/null
 +++ b/include/linux/unwind.h
 @@ -0,0 +1,135 @@
 +#ifndef _LINUX_UNWIND_H
@@ -754,7 +736,7 @@
  #include <linux/buffer_head.h>
  #include <linux/page_ext.h>
  #include <linux/debug_locks.h>
-@@ -507,6 +508,7 @@ asmlinkage __visible void __init start_k
+@@ -498,6 +499,7 @@ asmlinkage __visible void __init start_k
         * Need to run as early as possible, to initialize the
         * lockdep hash:
         */
@@ -762,7 +744,7 @@
        lockdep_init();
        set_task_stack_end_magic(&init_task);
        smp_setup_processor_id();
-@@ -531,6 +533,7 @@ asmlinkage __visible void __init start_k
+@@ -523,6 +525,7 @@ asmlinkage __visible void __init start_k
        setup_arch(&command_line);
        mm_init_cpumask(&init_mm);
        setup_command_line(command_line);
@@ -772,7 +754,7 @@
        smp_prepare_boot_cpu(); /* arch-specific boot-cpu hooks */
 --- a/kernel/Makefile
 +++ b/kernel/Makefile
-@@ -47,6 +47,7 @@ obj-$(CONFIG_SYSTEM_TRUSTED_KEYRING) +=
+@@ -49,6 +49,7 @@ obj-$(CONFIG_SYSTEM_TRUSTED_KEYRING) += 
  obj-$(CONFIG_MODULES) += module.o
  obj-$(CONFIG_MODULE_SIG) += module_signing.o
  obj-$(CONFIG_KALLSYMS) += kallsyms.o
@@ -782,7 +764,7 @@
  obj-$(CONFIG_BACKTRACE_SELF_TEST) += backtracetest.o
 --- a/kernel/module.c
 +++ b/kernel/module.c
-@@ -46,6 +46,7 @@
+@@ -45,6 +45,7 @@
  #include <linux/device.h>
  #include <linux/string.h>
  #include <linux/mutex.h>
@@ -790,7 +772,7 @@
  #include <linux/rculist.h>
  #include <asm/uaccess.h>
  #include <asm/cacheflush.h>
-@@ -197,7 +198,7 @@ struct load_info {
+@@ -195,7 +196,7 @@ struct load_info {
        unsigned int num_debug;
        bool sig_ok;
        struct {
@@ -799,7 +781,7 @@
        } index;
  };
  
-@@ -609,6 +610,27 @@ bool is_module_percpu_address(unsigned l
+@@ -607,6 +608,27 @@ bool is_module_percpu_address(unsigned l
  
  #endif /* CONFIG_SMP */
  
@@ -827,7 +809,7 @@
  #define MODINFO_ATTR(field)   \
  static void setup_modinfo_##field(struct module *mod, const char *s)  \
  {                                                                     \
-@@ -1928,6 +1950,8 @@ static void free_module(struct module *m
+@@ -1919,6 +1941,8 @@ static void free_module(struct module *m
        /* Remove dynamic debug info */
        ddebug_remove_module(mod->name);
  
@@ -836,7 +818,7 @@
        /* Arch-specific cleanup. */
        module_arch_cleanup(mod);
  
-@@ -2738,6 +2762,8 @@ static struct module *setup_load_info(st
+@@ -2752,6 +2776,8 @@ static struct module *setup_load_info(st
  
        info->index.pcpu = find_pcpusec(info);
  
@@ -845,7 +827,7 @@
        /* Check module struct version now, before we try to use module. */
        if (!check_modstruct_version(info->sechdrs, info->index.vers, mod))
                return ERR_PTR(-ENOEXEC);
-@@ -3153,6 +3179,7 @@ static int do_init_module(struct module
+@@ -3194,6 +3220,7 @@ static noinline int do_init_module(struc
        /* Drop initial reference. */
        module_put(mod);
        trim_init_extable(mod);
@@ -853,7 +835,7 @@
  #ifdef CONFIG_KALLSYMS
        mod->num_symtab = mod->core_num_syms;
        mod->symtab = mod->core_symtab;
-@@ -3375,6 +3402,9 @@ static int load_module(struct load_info
+@@ -3436,6 +3463,9 @@ static int load_module(struct load_info 
        if (err < 0)
                goto bug_cleanup;
  
@@ -863,7 +845,7 @@
        /* Get rid of temporary copy. */
        free_copy(info);
  
---- /dev/null
+--- a/dev/null
 +++ b/kernel/unwind.c
 @@ -0,0 +1,1652 @@
 +/*
@@ -2520,7 +2502,7 @@
 +EXPORT_SYMBOL_GPL(unwind_to_user);
 --- a/lib/Kconfig.debug
 +++ b/lib/Kconfig.debug
-@@ -26,6 +26,24 @@ config DEFAULT_MESSAGE_LOGLEVEL
+@@ -26,6 +26,24 @@ config MESSAGE_LOGLEVEL_DEFAULT
          that are auditing their logs closely may want to set it to a lower
          priority.
  
@@ -2545,3 +2527,23 @@
  config BOOT_PRINTK_DELAY
        bool "Delay each boot printk message by N milliseconds"
        depends on DEBUG_KERNEL && PRINTK && GENERIC_CALIBRATE_DELAY
+@@ -1486,7 +1504,8 @@ config FAULT_INJECTION_STACKTRACE_FILTER
+       depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT
+       depends on !X86_64
+       select STACKTRACE
+-      select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && 
!ARM_UNWIND && !ARC && !SCORE
++      select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !X86 
&& !ARM_UNWIND && !ARC && !SCORE
++      select UNWIND_INFO if X86 && !FRAME_POINTER
+       help
+         Provide stacktrace filter for fault-injection capabilities
+ 
+@@ -1496,7 +1515,8 @@ config LATENCYTOP
+       depends on DEBUG_KERNEL
+       depends on STACKTRACE_SUPPORT
+       depends on PROC_FS
+-      select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && 
!ARM_UNWIND && !ARC
++      select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !X86 
&& !ARM_UNWIND && !ARC
++      select UNWIND_INFO if X86 && !FRAME_POINTER
+       select KALLSYMS
+       select KALLSYMS_ALL
+       select STACKTRACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/unwind-remove-check-for-vdso32-compat-range 
new/patches.suse/unwind-remove-check-for-vdso32-compat-range
--- old/patches.suse/unwind-remove-check-for-vdso32-compat-range        
2015-04-24 13:46:53.000000000 +0200
+++ new/patches.suse/unwind-remove-check-for-vdso32-compat-range        
1970-01-01 01:00:00.000000000 +0100
@@ -1,37 +0,0 @@
-From: Jeff Mahoney <[email protected]>
-Subject: unwind: remove check for vdso32 compat range
-Patch-mainline: depends on unwind patchset
-
-Commit b0b49f2673f (x86, vdso: Remove compat vdso support) removed
-the FIX_VDSO macro defining the vdso area.
-
-Without the compat mode in the fixed range, the vdso pointer will always
-be in the userspace range. The special check can simply be removed.
-
-Reviewed-by: Jan Beulich <[email protected]>
-Signed-off-by: Jeff Mahoney <[email protected]>
----
- arch/x86/include/asm/elf.h    |    1 +
- arch/x86/include/asm/unwind.h |   18 +++++++++++++++---
- arch/x86/vdso/vdso32-setup.c  |    2 +-
- 3 files changed, 17 insertions(+), 4 deletions(-)
-
---- a/arch/x86/include/asm/unwind.h
-+++ b/arch/x86/include/asm/unwind.h
-@@ -66,7 +66,6 @@ struct unwind_frame_info
- 
- #else /* X86_32 */
- 
--#include <asm/fixmap.h>
- 
- #define FRAME_RETADDR_OFFSET 4
- 
-@@ -141,8 +154,6 @@ static inline int arch_unw_user_mode(/*c
- #else
-       return user_mode_vm(&info->regs)
-              || info->regs.ip < PAGE_OFFSET
--             || (info->regs.ip >= __fix_to_virt(FIX_VDSO)
--                 && info->regs.ip < __fix_to_virt(FIX_VDSO) + PAGE_SIZE)
-              || info->regs.sp < PAGE_OFFSET;
- #endif
- }

++++++ patches.xen.tar.bz2 ++++++
++++ 67384 lines of diff (skipped)

++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.cIwARF/_old  2015-07-14 17:21:14.000000000 +0200
+++ /var/tmp/diff_new_pack.cIwARF/_new  2015-07-14 17:21:14.000000000 +0200
@@ -27,12 +27,7 @@
        # DO NOT MODIFY THEM!
        # Send separate patches upstream if you find a problem...
        ########################################################
-       patches.kernel.org/patch-4.0.1
-       patches.kernel.org/patch-4.0.1-2
-       patches.kernel.org/patch-4.0.2-3
-       patches.kernel.org/patch-4.0.3-4
-       
patches.kernel.org/revert-xen-xenbus-Update-xenbus-event-channel-on-res.patch
-       patches.kernel.org/patch-4.0.4-5
+       patches.kernel.org/patch-4.1.1
 
         ########################################################
         # Build fixes that apply to the vanilla kernel too.
@@ -168,14 +163,11 @@
        patches.arch/arm-exynos-dwmmc-modalias.patch
        
patches.arch/arm64-0001-usb-Add-support-for-Synopsis-H20AHB-EHCI-host-contro.patch
        patches.arch/arm64-0002-usb-fix-hcd-h20ahb-driver-depends.patch
-       patches.arch/arm64-0003-KVM-ARM-Add-arm-gic-400-compatible-support.patch
        patches.arch/arm64-0004-net-xgbe-Add-A0-silicon-support.patch
        
patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch
        
patches.arch/arm64-0006-arm64-Select-reboot-driver-for-X-Gene-platform.patch
        
patches.arch/arm64-0007-arm64-Do-not-call-enable-PCI-resources-when-specify-.patch
        
patches.arch/arm64-0010-KVM-ARM-Hack-to-enable-VGIC-mapping-on-64k-PAGE_SIZE.patch
-       
patches.arch/arm64-0011-Enable-CONFIG_COMPAT-also-for-64k-page-size.patch
-       patches.arch/arm64-0012-fix-mmap2-compat-syscall.patch
 
        # Generic PCIe host bridge, necessary for QEMU and Seattle, upstreaming 
wip
        
patches.arch/arm64-gpex-0001-device-core-Introduce-per-device-MSI-domain-pointer.patch
@@ -187,14 +179,8 @@
        
patches.arch/arm64-gpex-0007-PCI-MSI-Drop-domain-field-from-msi_controller.patch
        
patches.arch/arm64-gpex-0008-PCI-MSI-of-Allow-msi_domain-lookup-using-the-PHB-nod.patch
        
patches.arch/arm64-gpex-0009-pci-Enable-pci-host-generic-support-for-ARM64.patch
+       patches.arch/arm64-Don-t-report-clear-pmds-and-puds-as-huge.patch
 
-       # DMA Cache coherency fixups with PCIe, necessary for m400, all are 
backports from 4.1
-       
patches.arch/arm64-pci-0001-of-pci-Add-of_pci_dma_configure-to-update-DMA-config.patch
-       patches.arch/arm64-pci-0002-PCI-Update-DMA-configuration-from-DT.patch
-       
patches.arch/arm64-pci-0003-PCI-Add-helper-functions-pci_get-put-_host_bridge_de.patch
-       
patches.arch/arm64-pci-0004-of-iommu-Add-ptr-to-OF-node-arg-to-of_iommu_configur.patch
-       
patches.arch/arm64-pci-0005-of-Move-of_dma_configure-to-device.c-to-help-re-use.patch
-       patches.arch/arm64-pci-0006-of-Fix-size-when-dma-range-is-not-used.patch
 
        ########################################################
        # S/390
@@ -258,6 +244,7 @@
        # NFS
        ########################################################
 
+       
patches.fixes/0001-NFSv4-When-returning-a-delegation-don-t-reclaim-an-i.patch
 
        ########################################################
        # lockd + statd
@@ -280,14 +267,6 @@
        # btrfs
        ########################################################
        patches.suse/btrfs-use-correct-device-for-maps.patch
-       patches.fixes/btrfs-revert-delete-chunk-allocation.patch
-       
patches.fixes/btrfs-0001-send-add-missing-check-for-dead-clone-root.patch
-       
patches.fixes/btrfs-0002-send-don-t-leave-without-decrementing-clone-ro.patch
-       
patches.fixes/btrfs-0003-incorrect-handling-for-fiemap_fill_next_extent.patch
-       
patches.fixes/btrfs-0004-cleanup-orphans-while-looking-up-default-subvo.patch
-       
patches.fixes/btrfs-0005-fix-range-cloning-when-same-inode-used-as-sour.patch
-       patches.fixes/btrfs-0006-fix-uninit-variable-in-clone-ioctl.patch
-       patches.fixes/btrfs-0007-fix-regression-in-raid-level-conversion.patch
 
        ########################################################
        # Reiserfs Patches
@@ -372,7 +351,7 @@
        # DRM/Video
        ########################################################
 +jeffm patches.fixes/nouveau-fix-race-with-fence-signaling
-       patches.fixes/drm-nouveau-bios-fix-fetching-from-acpi-on-certain-s
+       patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip.patch
 
        ########################################################
        # video4linux
@@ -400,6 +379,8 @@
        ########################################################
        # PCI and PCI hotplug
        ########################################################
+       patches.fixes/x86-PCI-Use-host-bridge-_CRS-info-on-Foxconn-K8M890
+       patches.fixes/x86-PCI-Use-host-bridge-_CRS-info-on-systems-with-32
 
        ########################################################
        # sysfs / driver core
@@ -489,12 +470,9 @@
         # Other patches for debugging
         ########################################################
        patches.suse/crasher-26.diff
-       patches.suse/stack-unwind
        
patches.suse/revert-x86-remove-warning-and-warning_symbol-from-struct-stacktrace_ops
-       patches.suse/unwind-remove-check-for-vdso32-compat-range
-       patches.suse/no-frame-pointer-select
+       patches.suse/stack-unwind
        patches.arch/x86_64-unwind-annotations
-       patches.arch/stack-unwind-cfi_ignore-takes-more-arguments
 
         ########################################################
         # Kdump
@@ -618,13 +596,12 @@
        patches.xen/xen3-patch-3.18
        patches.xen/xen3-patch-3.19
        patches.xen/xen3-patch-4.0
+       patches.xen/xen3-patch-4.1
 
        # ports of other patches
        patches.xen/xen3-stack-unwind
-       patches.xen/xen3-x86_64-unwind-annotations
 
        # bugfixes and enhancements
-       patches.xen/xen-hypercall-symbols
        patches.xen/xen-sys-suspend
        patches.xen/xen-ipi-per-cpu-irq
        patches.xen/xen-virq-per-cpu-irq
@@ -679,3 +656,4 @@
        patches.xen/xen-x86_64-note-init-p2m
        patches.xen/xen-x86_64-unmapped-initrd
        patches.xen/xen-x86_64-vread-pvclock
+       patches.xen/xen-x86_64-m2p-strict

++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.cIwARF/_old  2015-07-14 17:21:14.000000000 +0200
+++ /var/tmp/diff_new_pack.cIwARF/_new  2015-07-14 17:21:14.000000000 +0200
@@ -1,3 +1,3 @@
-2015-06-18 17:11:06 +0200
-GIT Revision: 56152db3aa548241f14534a7e0d3c2acaec5dddc
+2015-07-08 16:23:40 +0200
+GIT Revision: cac28b3467005d5da50bc3c581edd266126f663e
 GIT Branch: stable


Reply via email to