Hello community,

here is the log from the commit of package kernel-source for openSUSE:Factory 
checked in at 2014-11-11 09:59:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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       
2014-10-23 14:19:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes  
2014-11-11 09:59:25.000000000 +0100
@@ -1,0 +2,104 @@
+Fri Nov  7 16:18:21 CET 2014 - [email protected]
+
+- quirk for Lenovo Yoga 3: no rfkill switch (bnc#904289).
+- commit bf63174
+
+-------------------------------------------------------------------
+Fri Nov  7 10:56:05 CET 2014 - [email protected]
+
+- iwlwifi: dvm: drop non VO frames when flushing (bnc#900786).
+- commit de638be
+
+-------------------------------------------------------------------
+Fri Nov  7 10:46:35 CET 2014 - [email protected]
+
+- Input: synaptics - add min/max quirk for Lenovo T440s
+  (bnc#903748).
+- commit 8e9c18e
+
+-------------------------------------------------------------------
+Wed Nov  5 16:03:40 CET 2014 - [email protected]
+
+- Delete patches.rpmify/chipidea-clean-up-dependencies (bnc#903986)
+- commit 3788128
+
+-------------------------------------------------------------------
+Wed Nov  5 14:27:57 CET 2014 - [email protected]
+
+- [media] uvc: Fix destruction order in uvc_delete() (bnc#897736).
+- commit 68ca6da
+
+-------------------------------------------------------------------
+Wed Nov  5 10:03:28 CET 2014 - [email protected]
+
+- Disable patches.rpmify/chipidea-clean-up-dependencies
+  This rather causes a problem when building as a module.  If all builds
+  fine, drop this later.
+- commit 6b12ffb
+
+-------------------------------------------------------------------
+Thu Oct 30 20:14:09 CET 2014 - [email protected]
+
+- Linux 3.17.2.
+- Delete
+  
patches.fixes/btrfs-0001-revert-race-free-update-of-commit-root-for-ro-.patch.
+- commit 1afb260
+
+-------------------------------------------------------------------
+Wed Oct 29 14:26:03 CET 2014 - [email protected]
+
+- Input: psmouse - add support for detecting FocalTech PS/2
+  touchpads (bnc#897112).
+- Input: psmouse - add psmouse_matches_pnp_id helper function
+  (bnc#897112).
+- commit d944251
+
+-------------------------------------------------------------------
+Wed Oct 29 14:12:24 CET 2014 - [email protected]
+
+- Delete patches.fixes/input-add-acer-aspire-5710-to-nomux.patch.
+  It is in 3.17 already, so it is applied twice.
+- commit 14a333d
+
+-------------------------------------------------------------------
+Wed Oct 22 15:58:03 CEST 2014 - [email protected]
+
+- Use fop for creating PDF files in kernel-docs package
+  As some files still cannot be built with the default backend.
+- commit 2dca13d
+
+-------------------------------------------------------------------
+Wed Oct 22 15:55:56 CEST 2014 - [email protected]
+
+- Fix build of PDF files in kernel-docs package
+  Double the spaces for tex, and fix buildrequires for docbook.
+- commit 59505a1
+
+-------------------------------------------------------------------
+Mon Oct 20 18:02:41 CEST 2014 - [email protected]
+
+- Enable some IIO drivers for xen flavors too (bnc#898828)
+- commit 6c9b613
+
+-------------------------------------------------------------------
+Mon Oct 20 15:44:30 CEST 2014 - [email protected]
+
+- Delete patches.arch/cubox-configuration.patch.
+  - cubox should be used via device tree now
+- commit 2a9b81b
+
+-------------------------------------------------------------------
+Mon Oct 20 14:48:00 CEST 2014 - [email protected]
+
+- Enable some IIO drivers on x86 for Tablet sensors (bnc#898828)
+  Only a limited number of drivers are enabled as of now.  If more other
+  device-specific drivers are needed, enable appropriately later.
+- commit e3b6d24
+
+-------------------------------------------------------------------
+Sun Oct 19 01:39:49 CEST 2014 - [email protected]
+
+- Revert "Btrfs: race free update of commit root for ro snapshots"
+- commit fd16010
+
+-------------------------------------------------------------------
@@ -7,0 +112,6 @@
+Fri Oct 17 16:23:47 CEST 2014 - [email protected]
+
+- Update Xen patches to 3.17.1.
+- commit e3f9aac
+
+-------------------------------------------------------------------
@@ -285,0 +396,9 @@
+
+-------------------------------------------------------------------
+Sat Sep  6 09:55:21 CEST 2014 - [email protected]
+
+- config: armv7hl/lpae: Reenable support for Hugepages
+  This was apparently accidentally disabled, but we need
+  hugepages support for improved performance and stability
+  of the KVM build workers.
+- commit 3d06ff1
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-source.changes: same change
kernel-syms.changes: same change
kernel-vanilla.changes: same change
kernel-xen.changes: same change

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

Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.mZtszF/_old  2014-11-11 09:59:32.000000000 +0100
+++ /var/tmp/diff_new_pack.mZtszF/_new  2014-11-11 09:59:32.000000000 +0100
@@ -20,7 +20,7 @@
 # needssslcertforbuild
 
 %define srcversion 3.17
-%define patchversion 3.17.1
+%define patchversion 3.17.2
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -59,11 +59,11 @@
 Summary:        A Debug Version of the Kernel
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        3.17.1
+Version:        3.17.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g5c4d099
+Release:        <RELEASE>.gbf63174
 %else
-Release:        <RELEASE>.g5c4d099
+Release:        0
 %endif
 Url:            http://www.kernel.org/
 BuildRequires:  bc

kernel-default.spec: same change
kernel-desktop.spec: same change
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.mZtszF/_old  2014-11-11 09:59:32.000000000 +0100
+++ /var/tmp/diff_new_pack.mZtszF/_new  2014-11-11 09:59:32.000000000 +0100
@@ -16,30 +16,37 @@
 #
 
 
-%define patchversion 3.17.1
+%define patchversion 3.17.2
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
 
+%define use_fop        1
+
 Name:           kernel-docs
 Summary:        Kernel Documentation
 License:        GPL-2.0
 Group:          Documentation/Man
-Version:        3.17.1
+Version:        3.17.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g5c4d099
+Release:        <RELEASE>.gbf63174
 %else
-Release:        <RELEASE>.g5c4d099
+Release:        0
 %endif
-BuildRequires:  docbook-toys
-BuildRequires:  docbook-utils
-BuildRequires:  ghostscript_any
 BuildRequires:  kernel-source%variant
-BuildRequires:  libjpeg-devel
-BuildRequires:  texlive
-BuildRequires:  transfig
 BuildRequires:  xmlto
-BuildRequires:  xorg-x11-devel
+%if %use_fop
+BuildRequires:  fop
+%else
+BuildRequires:  docbook-toys
+BuildRequires:  docbook-utils
+BuildRequires:  texlive-courier
+BuildRequires:  texlive-dvips
+BuildRequires:  texlive-ec
+BuildRequires:  texlive-helvetic
+BuildRequires:  texlive-jadetex
+BuildRequires:  texlive-times
+%endif
 Url:            http://www.kernel.org/
 Provides:       %name = %version-%source_rel
 BuildArch:      noarch
@@ -53,21 +60,29 @@
 
 %source_timestamp
 %prep
+%if !%use_fop
 cp -av /etc/texmf/web2c/texmf.cnf .
 cat << EOF >> texmf.cnf
-main_memory.pdfjadetex = 2500000
-hash_extra.pdfjadetex = 70000
-max_strings.pdfjadetex = 120000
-save_size.pdfjadetex = 10000
+main_memory.pdfjadetex = 5000000
+hash_extra.pdfjadetex = 140000
+max_strings.pdfjadetex = 240000
+save_size.pdfjadetex = 20000
 EOF
+%endif
 %setup -T -c
 
 %build
+%if !%use_fop
 # use texmf.cnf from local source
 export TEXMFCNF=$RPM_BUILD_DIR
+%endif
 export LANG=en_US
 make -C /usr/src/linux%variant O=$PWD -k -i mandocs %{?jobs:-j%jobs}
-make -C /usr/src/linux%variant O=$PWD -k -i pdfdocs %{?jobs:-j%jobs}
+make \
+%if %use_fop
+    XMLTOFLAGS="-m 
/usr/src/linux%{variant}/Documentation/DocBook/stylesheet.xsl --skip-validation 
--with-fop" \
+%endif
+  -C /usr/src/linux%variant O=$PWD -k -i pdfdocs %{?jobs:-j%jobs}
 
 %install
 rm -rf $RPM_BUILD_ROOT

++++++ kernel-ec2.spec ++++++
--- /var/tmp/diff_new_pack.mZtszF/_old  2014-11-11 09:59:32.000000000 +0100
+++ /var/tmp/diff_new_pack.mZtszF/_new  2014-11-11 09:59:32.000000000 +0100
@@ -20,7 +20,7 @@
 # needssslcertforbuild
 
 %define srcversion 3.17
-%define patchversion 3.17.1
+%define patchversion 3.17.2
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -59,11 +59,11 @@
 Summary:        The Amazon EC2 Xen Kernel
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        3.17.1
+Version:        3.17.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g5c4d099
+Release:        <RELEASE>.gbf63174
 %else
-Release:        <RELEASE>.g5c4d099
+Release:        0
 %endif
 Url:            http://www.kernel.org/
 BuildRequires:  bc

kernel-lpae.spec: same change
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.mZtszF/_old  2014-11-11 09:59:32.000000000 +0100
+++ /var/tmp/diff_new_pack.mZtszF/_new  2014-11-11 09:59:32.000000000 +0100
@@ -19,7 +19,7 @@
 
 #!BuildIgnore: post-build-checks
 
-%define patchversion 3.17.1
+%define patchversion 3.17.2
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -45,11 +45,11 @@
 Summary:        package kernel and initrd for OBS VM builds
 License:        GPL-2.0
 Group:          SLES
-Version:        3.17.1
+Version:        3.17.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g5c4d099
+Release:        <RELEASE>.gbf63174
 %else
-Release:        <RELEASE>.g5c4d099
+Release:        0
 %endif
 
 %description

++++++ kernel-obs-qa-xen.spec ++++++
--- /var/tmp/diff_new_pack.mZtszF/_old  2014-11-11 09:59:32.000000000 +0100
+++ /var/tmp/diff_new_pack.mZtszF/_new  2014-11-11 09:59:32.000000000 +0100
@@ -17,7 +17,7 @@
 # needsrootforbuild
 
 
-%define patchversion 3.17.1
+%define patchversion 3.17.2
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -36,11 +36,11 @@
 Summary:        Basic QA tests for the kernel
 License:        GPL-2.0
 Group:          SLES
-Version:        3.17.1
+Version:        3.17.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g5c4d099
+Release:        <RELEASE>.gbf63174
 %else
-Release:        <RELEASE>.g5c4d099
+Release:        0
 %endif
 
 %description

kernel-obs-qa.spec: same change
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.mZtszF/_old  2014-11-11 09:59:32.000000000 +0100
+++ /var/tmp/diff_new_pack.mZtszF/_new  2014-11-11 09:59:32.000000000 +0100
@@ -20,7 +20,7 @@
 # needssslcertforbuild
 
 %define srcversion 3.17
-%define patchversion 3.17.1
+%define patchversion 3.17.2
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -59,11 +59,11 @@
 Summary:        Kernel with PAE Support
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        3.17.1
+Version:        3.17.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g5c4d099
+Release:        <RELEASE>.gbf63174
 %else
-Release:        <RELEASE>.g5c4d099
+Release:        0
 %endif
 Url:            http://www.kernel.org/
 BuildRequires:  bc

++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.mZtszF/_old  2014-11-11 09:59:32.000000000 +0100
+++ /var/tmp/diff_new_pack.mZtszF/_new  2014-11-11 09:59:32.000000000 +0100
@@ -18,7 +18,7 @@
 
 
 %define srcversion 3.17
-%define patchversion 3.17.1
+%define patchversion 3.17.2
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -30,11 +30,11 @@
 Summary:        The Linux Kernel Sources
 License:        GPL-2.0
 Group:          Development/Sources
-Version:        3.17.1
+Version:        3.17.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g5c4d099
+Release:        <RELEASE>.gbf63174
 %else
-Release:        <RELEASE>.g5c4d099
+Release:        0
 %endif
 Url:            http://www.kernel.org/
 AutoReqProv:    off

++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.mZtszF/_old  2014-11-11 09:59:32.000000000 +0100
+++ /var/tmp/diff_new_pack.mZtszF/_new  2014-11-11 09:59:32.000000000 +0100
@@ -24,12 +24,12 @@
 Summary:        Kernel Symbol Versions (modversions)
 License:        GPL-2.0
 Group:          Development/Sources
-Version:        3.17.1
+Version:        3.17.2
 %if %using_buildservice
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g5c4d099
+Release:        <RELEASE>.gbf63174
 %else
-Release:        <RELEASE>.g5c4d099
+Release:        0
 %endif
 %else
 %define kernel_source_release %(LC_ALL=C rpm -q kernel-devel%variant-%version 
--qf "%{RELEASE}" | grep -v 'not installed' || echo 0)

++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.mZtszF/_old  2014-11-11 09:59:32.000000000 +0100
+++ /var/tmp/diff_new_pack.mZtszF/_new  2014-11-11 09:59:32.000000000 +0100
@@ -20,7 +20,7 @@
 # needssslcertforbuild
 
 %define srcversion 3.17
-%define patchversion 3.17.1
+%define patchversion 3.17.2
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -59,11 +59,11 @@
 Summary:        The Standard Kernel - without any SUSE patches
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        3.17.1
+Version:        3.17.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g5c4d099
+Release:        <RELEASE>.gbf63174
 %else
-Release:        <RELEASE>.g5c4d099
+Release:        0
 %endif
 Url:            http://www.kernel.org/
 BuildRequires:  bc

kernel-xen.spec: same change
++++++ config.tar.bz2 ++++++
++++ 3137 lines of diff (skipped)

++++++ kernel-docs.spec.in ++++++
--- /var/tmp/diff_new_pack.mZtszF/_old  2014-11-11 09:59:33.000000000 +0100
+++ /var/tmp/diff_new_pack.mZtszF/_new  2014-11-11 09:59:33.000000000 +0100
@@ -21,6 +21,8 @@
 
 %include %_sourcedir/kernel-spec-macros
 
+%define use_fop        1
+
 Name:           kernel-docs@VARIANT@
 Summary:        Kernel Documentation
 License:        GPL-2.0
@@ -31,15 +33,20 @@
 %else
 Release:        @RELEASE@
 %endif
-BuildRequires:  docbook-toys
-BuildRequires:  docbook-utils
-BuildRequires:  ghostscript_any
 BuildRequires:  kernel-source%variant
-BuildRequires:  libjpeg-devel
-BuildRequires:  texlive
-BuildRequires:  transfig
 BuildRequires:  xmlto
-BuildRequires:  xorg-x11-devel
+%if %use_fop
+BuildRequires:  fop
+%else
+BuildRequires:  docbook-toys
+BuildRequires:  docbook-utils
+BuildRequires:  texlive-courier
+BuildRequires:  texlive-dvips
+BuildRequires:  texlive-ec
+BuildRequires:  texlive-helvetic
+BuildRequires:  texlive-jadetex
+BuildRequires:  texlive-times
+%endif
 Url:            http://www.kernel.org/
 Provides:       %name = %version-%source_rel
 BuildArch:      noarch
@@ -53,21 +60,29 @@
 
 %source_timestamp
 %prep
+%if !%use_fop
 cp -av /etc/texmf/web2c/texmf.cnf .
 cat << EOF >> texmf.cnf
-main_memory.pdfjadetex = 2500000
-hash_extra.pdfjadetex = 70000
-max_strings.pdfjadetex = 120000
-save_size.pdfjadetex = 10000
+main_memory.pdfjadetex = 5000000
+hash_extra.pdfjadetex = 140000
+max_strings.pdfjadetex = 240000
+save_size.pdfjadetex = 20000
 EOF
+%endif
 %setup -T -c
 
 %build
+%if !%use_fop
 # use texmf.cnf from local source
 export TEXMFCNF=$RPM_BUILD_DIR
+%endif
 export LANG=en_US
 make -C /usr/src/linux%variant O=$PWD -k -i mandocs %{?jobs:-j%jobs}
-make -C /usr/src/linux%variant O=$PWD -k -i pdfdocs %{?jobs:-j%jobs}
+make \
+%if %use_fop
+    XMLTOFLAGS="-m 
/usr/src/linux%{variant}/Documentation/DocBook/stylesheet.xsl --skip-validation 
--with-fop" \
+%endif
+  -C /usr/src/linux%variant O=$PWD -k -i pdfdocs %{?jobs:-j%jobs}
 
 %install
 rm -rf $RPM_BUILD_ROOT

++++++ patches.arch.tar.bz2 ++++++
++++ 2946 lines of diff (skipped)

++++++ patches.drivers.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.drivers/Input-psmouse-add-psmouse_matches_pnp_id-helper-func.patch 
new/patches.drivers/Input-psmouse-add-psmouse_matches_pnp_id-helper-func.patch
--- 
old/patches.drivers/Input-psmouse-add-psmouse_matches_pnp_id-helper-func.patch  
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.drivers/Input-psmouse-add-psmouse_matches_pnp_id-helper-func.patch  
    2014-11-07 16:18:21.000000000 +0100
@@ -0,0 +1,101 @@
+From: Hans de Goede <[email protected]>
+Date: Thu, 11 Sep 2014 10:14:09 -0700
+Subject: Input: psmouse - add psmouse_matches_pnp_id helper function
+Git-commit: 2c75ada6250990ea859b0b5498cb0b7c2823a9d7
+Patch-mainline: v3.18-rc1
+References: bnc#897112
+
+The matches_pnp_id function from the synaptics driver is useful for other
+drivers too. Make it a generic psmouse helper function.
+
+Signed-off-by: Hans de Goede <[email protected]>
+Signed-off-by: Dmitry Torokhov <[email protected]>
+Signed-off-by: Jiri Slaby <[email protected]>
+---
+ drivers/input/mouse/psmouse-base.c | 14 ++++++++++++++
+ drivers/input/mouse/psmouse.h      |  1 +
+ drivers/input/mouse/synaptics.c    | 17 +++--------------
+ 3 files changed, 18 insertions(+), 14 deletions(-)
+
+diff --git a/drivers/input/mouse/psmouse-base.c 
b/drivers/input/mouse/psmouse-base.c
+index cff065f6261c..bc1bc2653f15 100644
+--- a/drivers/input/mouse/psmouse-base.c
++++ b/drivers/input/mouse/psmouse-base.c
+@@ -462,6 +462,20 @@ static int psmouse_poll(struct psmouse *psmouse)
+                          PSMOUSE_CMD_POLL | (psmouse->pktsize << 8));
+ }
+ 
++/*
++ * psmouse_matches_pnp_id - check if psmouse matches one of the passed in ids.
++ */
++bool psmouse_matches_pnp_id(struct psmouse *psmouse, const char * const ids[])
++{
++      int i;
++
++      if (!strncmp(psmouse->ps2dev.serio->firmware_id, "PNP:", 4))
++              for (i = 0; ids[i]; i++)
++                      if (strstr(psmouse->ps2dev.serio->firmware_id, ids[i]))
++                              return true;
++
++      return false;
++}
+ 
+ /*
+  * Genius NetMouse magic init.
+diff --git a/drivers/input/mouse/psmouse.h b/drivers/input/mouse/psmouse.h
+index 2f0b39d59a9b..f4cf664c7db3 100644
+--- a/drivers/input/mouse/psmouse.h
++++ b/drivers/input/mouse/psmouse.h
+@@ -108,6 +108,7 @@ void psmouse_set_resolution(struct psmouse *psmouse, 
unsigned int resolution);
+ psmouse_ret_t psmouse_process_byte(struct psmouse *psmouse);
+ int psmouse_activate(struct psmouse *psmouse);
+ int psmouse_deactivate(struct psmouse *psmouse);
++bool psmouse_matches_pnp_id(struct psmouse *psmouse, const char * const 
ids[]);
+ 
+ struct psmouse_attribute {
+       struct device_attribute dattr;
+diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
+index e8573c68f77e..854caca6e86e 100644
+--- a/drivers/input/mouse/synaptics.c
++++ b/drivers/input/mouse/synaptics.c
+@@ -185,18 +185,6 @@ static const char * const topbuttonpad_pnp_ids[] = {
+       NULL
+ };
+ 
+-static bool matches_pnp_id(struct psmouse *psmouse, const char * const ids[])
+-{
+-      int i;
+-
+-      if (!strncmp(psmouse->ps2dev.serio->firmware_id, "PNP:", 4))
+-              for (i = 0; ids[i]; i++)
+-                      if (strstr(psmouse->ps2dev.serio->firmware_id, ids[i]))
+-                              return true;
+-
+-      return false;
+-}
+-
+ /*****************************************************************************
+  *    Synaptics communications functions
+  ****************************************************************************/
+@@ -362,7 +350,8 @@ static int synaptics_resolution(struct psmouse *psmouse)
+       }
+ 
+       for (i = 0; min_max_pnpid_table[i].pnp_ids; i++) {
+-              if (matches_pnp_id(psmouse, min_max_pnpid_table[i].pnp_ids)) {
++              if (psmouse_matches_pnp_id(psmouse,
++                                         min_max_pnpid_table[i].pnp_ids)) {
+                       priv->x_min = min_max_pnpid_table[i].x_min;
+                       priv->x_max = min_max_pnpid_table[i].x_max;
+                       priv->y_min = min_max_pnpid_table[i].y_min;
+@@ -1456,7 +1445,7 @@ static void set_input_params(struct psmouse *psmouse,
+ 
+       if (SYN_CAP_CLICKPAD(priv->ext_cap_0c)) {
+               __set_bit(INPUT_PROP_BUTTONPAD, dev->propbit);
+-              if (matches_pnp_id(psmouse, topbuttonpad_pnp_ids))
++              if (psmouse_matches_pnp_id(psmouse, topbuttonpad_pnp_ids))
+                       __set_bit(INPUT_PROP_TOPBUTTONPAD, dev->propbit);
+               /* Clickpads report only left button */
+               __clear_bit(BTN_RIGHT, dev->keybit);
+-- 
+2.1.2
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.drivers/Input-psmouse-add-support-for-detecting-FocalTech-PS.patch 
new/patches.drivers/Input-psmouse-add-support-for-detecting-FocalTech-PS.patch
--- 
old/patches.drivers/Input-psmouse-add-support-for-detecting-FocalTech-PS.patch  
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.drivers/Input-psmouse-add-support-for-detecting-FocalTech-PS.patch  
    2014-11-07 16:18:21.000000000 +0100
@@ -0,0 +1,170 @@
+From: Hans de Goede <[email protected]>
+Date: Fri, 12 Sep 2014 17:24:47 -0700
+Subject: Input: psmouse - add support for detecting FocalTech PS/2 touchpads
+Git-commit: 3ace3686f198e656624d7ca2984d053e65f6e09d
+Patch-mainline: v3.18-rc1
+References: bnc#897112
+
+The Asus X450 and X550 laptops use a PS/2 touchpad from a new
+manufacturer called FocalTech:
+
+https://bugzilla.kernel.org/show_bug.cgi?id=77391
+https://bugzilla.redhat.com/show_bug.cgi?id=1110011
+
+The protocol for these devices is not known at this time, but even
+without knowing the protocol they need some special handling. They get
+upset by some of our other PS/2 device probing, and once upset generate
+random mouse events making things unusable even with an external mouse.
+
+This patch adds detection of these devices based on their pnp ids, and
+when they are detected, treats them as a bare ps/2 mouse. Doing things
+this way they at least work in their ps/2 mouse emulation mode.
+
+Signed-off-by: Hans de Goede <[email protected]>
+Signed-off-by: Dmitry Torokhov <[email protected]>
+Signed-off-by: Jiri Slaby <[email protected]>
+---
+ drivers/input/mouse/Makefile       |  2 +-
+ drivers/input/mouse/focaltech.c    | 52 ++++++++++++++++++++++++++++++++++++++
+ drivers/input/mouse/focaltech.h    | 22 ++++++++++++++++
+ drivers/input/mouse/psmouse-base.c | 16 ++++++++++++
+ 4 files changed, 91 insertions(+), 1 deletion(-)
+ create mode 100644 drivers/input/mouse/focaltech.c
+ create mode 100644 drivers/input/mouse/focaltech.h
+
+diff --git a/drivers/input/mouse/Makefile b/drivers/input/mouse/Makefile
+index c25efdb3f288..dda507f8b3a2 100644
+--- a/drivers/input/mouse/Makefile
++++ b/drivers/input/mouse/Makefile
+@@ -23,7 +23,7 @@ obj-$(CONFIG_MOUSE_SYNAPTICS_I2C)    += synaptics_i2c.o
+ obj-$(CONFIG_MOUSE_SYNAPTICS_USB)     += synaptics_usb.o
+ obj-$(CONFIG_MOUSE_VSXXXAA)           += vsxxxaa.o
+ 
+-psmouse-objs := psmouse-base.o synaptics.o
++psmouse-objs := psmouse-base.o synaptics.o focaltech.o
+ 
+ psmouse-$(CONFIG_MOUSE_PS2_ALPS)      += alps.o
+ psmouse-$(CONFIG_MOUSE_PS2_ELANTECH)  += elantech.o
+diff --git a/drivers/input/mouse/focaltech.c b/drivers/input/mouse/focaltech.c
+new file mode 100644
+index 000000000000..f4d657ee1cc0
+--- /dev/null
++++ b/drivers/input/mouse/focaltech.c
+@@ -0,0 +1,52 @@
++/*
++ * Focaltech TouchPad PS/2 mouse driver
++ *
++ * Copyright (c) 2014 Red Hat Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * Red Hat authors:
++ *
++ * Hans de Goede <[email protected]>
++ */
++
++/*
++ * The Focaltech PS/2 touchpad protocol is unknown. This drivers deals with
++ * detection only, to avoid further detection attempts confusing the touchpad
++ * this way it at least works in PS/2 mouse compatibility mode.
++ */
++
++#include <linux/device.h>
++#include <linux/libps2.h>
++#include "psmouse.h"
++
++static const char * const focaltech_pnp_ids[] = {
++      "FLT0101",
++      "FLT0102",
++      "FLT0103",
++      NULL
++};
++
++int focaltech_detect(struct psmouse *psmouse, bool set_properties)
++{
++      if (!psmouse_matches_pnp_id(psmouse, focaltech_pnp_ids))
++              return -ENODEV;
++
++      if (set_properties) {
++              psmouse->vendor = "FocalTech";
++              psmouse->name = "FocalTech Touchpad in mouse emulation mode";
++      }
++
++      return 0;
++}
++
++int focaltech_init(struct psmouse *psmouse)
++{
++      ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_RESET_DIS);
++      psmouse_reset(psmouse);
++
++      return 0;
++}
+diff --git a/drivers/input/mouse/focaltech.h b/drivers/input/mouse/focaltech.h
+new file mode 100644
+index 000000000000..498650c61e28
+--- /dev/null
++++ b/drivers/input/mouse/focaltech.h
+@@ -0,0 +1,22 @@
++/*
++ * Focaltech TouchPad PS/2 mouse driver
++ *
++ * Copyright (c) 2014 Red Hat Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * Red Hat authors:
++ *
++ * Hans de Goede <[email protected]>
++ */
++
++#ifndef _FOCALTECH_H
++#define _FOCALTECH_H
++
++int focaltech_detect(struct psmouse *psmouse, bool set_properties);
++int focaltech_init(struct psmouse *psmouse);
++
++#endif
+diff --git a/drivers/input/mouse/psmouse-base.c 
b/drivers/input/mouse/psmouse-base.c
+index bc1bc2653f15..3ab941d425ae 100644
+--- a/drivers/input/mouse/psmouse-base.c
++++ b/drivers/input/mouse/psmouse-base.c
+@@ -35,6 +35,7 @@
+ #include "elantech.h"
+ #include "sentelic.h"
+ #include "cypress_ps2.h"
++#include "focaltech.h"
+ 
+ #define DRIVER_DESC   "PS/2 mouse driver"
+ 
+@@ -720,6 +721,21 @@ static int psmouse_extensions(struct psmouse *psmouse,
+ {
+       bool synaptics_hardware = false;
+ 
++/* Always check for focaltech, this is safe as it uses pnp-id matching */
++      if (psmouse_do_detect(focaltech_detect, psmouse, set_properties) == 0) {
++              if (!set_properties || focaltech_init(psmouse) == 0) {
++                      /*
++                       * Not supported yet, use bare protocol.
++                       * Note that we need to also restrict
++                       * psmouse_max_proto so that psmouse_initialize()
++                       * does not try to reset rate and resolution,
++                       * because even that upsets the device.
++                       */
++                      psmouse_max_proto = PSMOUSE_PS2;
++                      return PSMOUSE_PS2;
++              }
++      }
++
+ /*
+  * We always check for lifebook because it does not disturb mouse
+  * (it only checks DMI information).
+-- 
+2.1.2
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.drivers/Input-synaptics-add-min-max-quirk-for-Lenovo-T440s 
new/patches.drivers/Input-synaptics-add-min-max-quirk-for-Lenovo-T440s
--- old/patches.drivers/Input-synaptics-add-min-max-quirk-for-Lenovo-T440s      
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/Input-synaptics-add-min-max-quirk-for-Lenovo-T440s      
2014-11-07 16:18:21.000000000 +0100
@@ -0,0 +1,38 @@
+From: Takashi Iwai <[email protected]>
+Subject: [PATCH] Input: synaptics - add min/max quirk for Lenovo T440s
+Patch-mainline: Submitted
+References: bnc#903748
+
+The new Lenovo T440s laptop has a different PnP ID "LEN0039", and it
+needs the similar min/max quirk to make its clickpad working.
+
+Buglink: https://bugzilla.opensuse.org/show_bug.cgi?id=903748
+Reported-and-tested-by: Joschi Brauchle <[email protected]>
+Cc: <[email protected]>
+Signed-off-by: Takashi Iwai <[email protected]>
+
+---
+ drivers/input/mouse/synaptics.c |    5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/input/mouse/synaptics.c
++++ b/drivers/input/mouse/synaptics.c
+@@ -135,8 +135,8 @@ static const struct min_max_quirk min_ma
+               1232, 5710, 1156, 4696
+       },
+       {
+-              (const char * const []){"LEN0034", "LEN0036", "LEN2002",
+-                                      "LEN2004", NULL},
++              (const char * const []){"LEN0034", "LEN0036", "LEN0039",
++                                      "LEN2002", "LEN2004", NULL},
+               1024, 5112, 2024, 4832
+       },
+       {
+@@ -163,6 +163,7 @@ static const char * const topbuttonpad_p
+       "LEN0036", /* T440 */
+       "LEN0037",
+       "LEN0038",
++      "LEN0039", /* T440s */
+       "LEN0041",
+       "LEN0042", /* Yoga */
+       "LEN0045",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.drivers/quirk-for-Lenovo-Yoga-3-no-rfkill-switch 
new/patches.drivers/quirk-for-Lenovo-Yoga-3-no-rfkill-switch
--- old/patches.drivers/quirk-for-Lenovo-Yoga-3-no-rfkill-switch        
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/quirk-for-Lenovo-Yoga-3-no-rfkill-switch        
2014-11-07 16:18:21.000000000 +0100
@@ -0,0 +1,35 @@
+From 725c7f619e20f5051bba627fca11dc107c2a93b1 Mon Sep 17 00:00:00 2001
+From: Stephan Mueller <[email protected]>
+Date: Mon, 27 Oct 2014 04:09:50 +0100
+Subject: [PATCH] quirk for Lenovo Yoga 3: no rfkill switch
+Git-commit: 725c7f619e20f5051bba627fca11dc107c2a93b1
+Patch-mainline: 3.18-rc4
+References: bnc#904289
+
+The Yoga 3 does not contain any physical rfkill switch. Therefore
+disable the rfkill switch identically to the Yoga 2 approach.
+
+Signed-off-by: Stephan Mueller <[email protected]>
+Signed-off-by: Darren Hart <[email protected]>
+Acked-by: Takashi Iwai <[email protected]>
+
+---
+ drivers/platform/x86/ideapad-laptop.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/platform/x86/ideapad-laptop.c
++++ b/drivers/platform/x86/ideapad-laptop.c
+@@ -837,6 +837,13 @@ static const struct dmi_system_id no_hw_
+                       DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Yoga 2"),
+               },
+       },
++      {
++              .ident = "Lenovo Yoga 3 Pro 1370",
++              .matches = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
++                      DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo YOGA 3 
Pro-1370"),
++              },
++      },
+       {}
+ };
+ 

++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-0001-revert-race-free-update-of-commit-root-for-ro-.patch
 
new/patches.fixes/btrfs-0001-revert-race-free-update-of-commit-root-for-ro-.patch
--- 
old/patches.fixes/btrfs-0001-revert-race-free-update-of-commit-root-for-ro-.patch
   2014-10-19 01:36:23.000000000 +0200
+++ 
new/patches.fixes/btrfs-0001-revert-race-free-update-of-commit-root-for-ro-.patch
   1970-01-01 01:00:00.000000000 +0100
@@ -1,126 +0,0 @@
-From: Chris Mason <[email protected]>
-Date: Wed, 15 Oct 2014 13:50:56 -0700
-Patch-mainline: 3.17
-Git-commit: babe65ac4dae4598127c5700be00fd97fd06762d
-Subject: [PATCH] Revert "Btrfs: race free update of commit root for ro
- snapshots"
-
-This reverts commit 9c3b306e1c9e6be4be09e99a8fe2227d1005effc.
-
-(cherry picked from commit d37973082b453ba6b89ec07eb7b84305895d35e1)
-
-Switching only one commit root during a transaction is wrong because it
-leads the fs into an inconsistent state. All commit roots should be
-switched at once, at transaction commit time, otherwise backref walking
-can often miss important references that were only accessible through
-the old commit root.  Plus, the root item for the snapshot's root wasn't
-getting updated and preventing the next transaction commit to do it.
-
-This made several users get into random corruption issues after creation
-of readonly snapshots.
-
-A regression test for xfstests will follow soon.
-
-Cc: [email protected] # 3.17
-Signed-off-by: Filipe Manana <[email protected]>
-Signed-off-by: Chris Mason <[email protected]>
-Signed-off-by: David Sterba <[email protected]>
----
- fs/btrfs/inode.c | 36 ------------------------------------
- fs/btrfs/ioctl.c | 33 +++++++++++++++++++++++++++++++++
- 2 files changed, 33 insertions(+), 36 deletions(-)
-
-diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
-index 16454b6efc55..886d8d42640d 100644
---- a/fs/btrfs/inode.c
-+++ b/fs/btrfs/inode.c
-@@ -5203,42 +5203,6 @@ struct inode *btrfs_lookup_dentry(struct inode *dir, 
struct dentry *dentry)
-                       iput(inode);
-                       inode = ERR_PTR(ret);
-               }
--              /*
--               * If orphan cleanup did remove any orphans, it means the tree
--               * was modified and therefore the commit root is not the same as
--               * the current root anymore. This is a problem, because send
--               * uses the commit root and therefore can see inode items that
--               * don't exist in the current root anymore, and for example make
--               * calls to btrfs_iget, which will do tree lookups based on the
--               * current root and not on the commit root. Those lookups will
--               * fail, returning a -ESTALE error, and making send fail with
--               * that error. So make sure a send does not see any orphans we
--               * have just removed, and that it will see the same inodes
--               * regardless of whether a transaction commit happened before
--               * it started (meaning that the commit root will be the same as
--               * the current root) or not.
--               */
--              if (sub_root->node != sub_root->commit_root) {
--                      u64 sub_flags = btrfs_root_flags(&sub_root->root_item);
--
--                      if (sub_flags & BTRFS_ROOT_SUBVOL_RDONLY) {
--                              struct extent_buffer *eb;
--
--                              /*
--                               * Assert we can't have races between dentry
--                               * lookup called through the snapshot creation
--                               * ioctl and the VFS.
--                               */
--                              ASSERT(mutex_is_locked(&dir->i_mutex));
--
--                              down_write(&root->fs_info->commit_root_sem);
--                              eb = sub_root->commit_root;
--                              sub_root->commit_root =
--                                      btrfs_root_node(sub_root);
--                              up_write(&root->fs_info->commit_root_sem);
--                              free_extent_buffer(eb);
--                      }
--              }
-       }
- 
-       return inode;
-diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
-index 91269bd9ad05..b765d412cbb6 100644
---- a/fs/btrfs/ioctl.c
-+++ b/fs/btrfs/ioctl.c
-@@ -714,6 +714,39 @@ static int create_snapshot(struct btrfs_root *root, 
struct inode *dir,
-       if (ret)
-               goto fail;
- 
-+      ret = btrfs_orphan_cleanup(pending_snapshot->snap);
-+      if (ret)
-+              goto fail;
-+
-+      /*
-+       * If orphan cleanup did remove any orphans, it means the tree was
-+       * modified and therefore the commit root is not the same as the
-+       * current root anymore. This is a problem, because send uses the
-+       * commit root and therefore can see inode items that don't exist
-+       * in the current root anymore, and for example make calls to
-+       * btrfs_iget, which will do tree lookups based on the current root
-+       * and not on the commit root. Those lookups will fail, returning a
-+       * -ESTALE error, and making send fail with that error. So make sure
-+       * a send does not see any orphans we have just removed, and that it
-+       * will see the same inodes regardless of whether a transaction
-+       * commit happened before it started (meaning that the commit root
-+       * will be the same as the current root) or not.
-+       */
-+      if (readonly && pending_snapshot->snap->node !=
-+          pending_snapshot->snap->commit_root) {
-+              trans = btrfs_join_transaction(pending_snapshot->snap);
-+              if (IS_ERR(trans) && PTR_ERR(trans) != -ENOENT) {
-+                      ret = PTR_ERR(trans);
-+                      goto fail;
-+              }
-+              if (!IS_ERR(trans)) {
-+                      ret = btrfs_commit_transaction(trans,
-+                                                     pending_snapshot->snap);
-+                      if (ret)
-+                              goto fail;
-+              }
-+      }
-+
-       inode = btrfs_lookup_dentry(dentry->d_parent->d_inode, dentry);
-       if (IS_ERR(inode)) {
-               ret = PTR_ERR(inode);
--- 
-2.1.1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/input-add-acer-aspire-5710-to-nomux.patch 
new/patches.fixes/input-add-acer-aspire-5710-to-nomux.patch
--- old/patches.fixes/input-add-acer-aspire-5710-to-nomux.patch 2014-10-19 
01:36:23.000000000 +0200
+++ new/patches.fixes/input-add-acer-aspire-5710-to-nomux.patch 1970-01-01 
01:00:00.000000000 +0100
@@ -1,31 +0,0 @@
-From: Jiri Kosina <[email protected]>
-Subject: Input: Add Acer Aspire 5710 to nomux blacklist
-References: bnc#404881
-Git-commit: 8c947e20cb1f442c704852b2ca24b81981b09493
-Patch-mainline: 3.16-rc7
-
-Acer Aspire needs to be added to nomux blacklist, otherwise the touchpad
-misbehaves.
-
-Signed-off-by: Jiri Kosina <[email protected]>
-
----
- drivers/input/serio/i8042-x86ia64io.h |    7 +++++++
- 1 file changed, 7 insertions(+)
-
---- a/drivers/input/serio/i8042-x86ia64io.h
-+++ b/drivers/input/serio/i8042-x86ia64io.h
-@@ -371,6 +371,13 @@ static const struct dmi_system_id __init
-               },
-       },
-       {
-+              /* Acer Aspire 5710 */
-+              .matches = {
-+                      DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
-+                      DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5710"),
-+              },
-+      },
-+      {
-               /* Gericom Bellagio */
-               .matches = {
-                       DMI_MATCH(DMI_SYS_VENDOR, "Gericom"),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/iwlwifi-dvm-drop-non-VO-frames-when-flushing 
new/patches.fixes/iwlwifi-dvm-drop-non-VO-frames-when-flushing
--- old/patches.fixes/iwlwifi-dvm-drop-non-VO-frames-when-flushing      
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/iwlwifi-dvm-drop-non-VO-frames-when-flushing      
2014-11-07 10:56:51.000000000 +0100
@@ -0,0 +1,94 @@
+From a0855054e59b0c5b2b00237fdb5147f7bcc18efb Mon Sep 17 00:00:00 2001
+From: Emmanuel Grumbach <[email protected]>
+Date: Sun, 5 Oct 2014 09:11:14 +0300
+Subject: [PATCH] iwlwifi: dvm: drop non VO frames when flushing
+Git-commit: a0855054e59b0c5b2b00237fdb5147f7bcc18efb
+Patch-mainline: 3.18-rc3
+References: bnc#900786
+
+When mac80211 wants to ensure that a frame is sent, it calls
+the flush() callback. Until now, iwldvm implemented this by
+waiting that all the frames are sent (ACKed or timeout).
+In case of weak signal, this can take a significant amount
+of time, delaying the next connection (in case of roaming).
+Many users have reported that the flush would take too long
+leading to the following error messages to be printed:
+
+iwlwifi 0000:03:00.0: fail to flush all tx fifo queues Q 2
+iwlwifi 0000:03:00.0: Current SW read_ptr 161 write_ptr 201
+iwl data: 00000000: 00 00 00 00 00 00 00 00 fe ff 01 00 00 00 00 00
+[snip]
+iwlwifi 0000:03:00.0: FH TRBs(0) = 0x00000000
+[snip]
+iwlwifi 0000:03:00.0: Q 0 is active and mapped to fifo 3 ra_tid 0x0000 [9,9]
+[snip]
+
+Instead of waiting for these packets, simply drop them. This
+significantly improves the responsiveness of the network.
+Note that all the queues are flushed, but the VO one. This
+is not typically used by the applications and it likely
+contains management frames that are useful for connection
+or roaming.
+
+This bug is tracked here:
+https://bugzilla.kernel.org/show_bug.cgi?id=56581
+
+But it is duplicated in distributions' trackers.
+A simple search in Ubuntu's database led to these bugs:
+
+https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1270808
+https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1305406
+https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1356236
+https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1360597
+https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1361809
+
+Cc: <[email protected]>
+Depends-on: 77be2c54c5bd ("mac80211: add vif to flush call")
+Signed-off-by: Emmanuel Grumbach <[email protected]>
+Acked-by: Takashi Iwai <[email protected]>
+
+---
+ drivers/net/wireless/iwlwifi/dvm/mac80211.c |   24 +++++++++++++-----------
+ 1 file changed, 13 insertions(+), 11 deletions(-)
+
+--- a/drivers/net/wireless/iwlwifi/dvm/mac80211.c
++++ b/drivers/net/wireless/iwlwifi/dvm/mac80211.c
+@@ -1095,6 +1095,7 @@ static void iwlagn_mac_flush(struct ieee
+                            u32 queues, bool drop)
+ {
+       struct iwl_priv *priv = IWL_MAC80211_GET_DVM(hw);
++      u32 scd_queues;
+ 
+       mutex_lock(&priv->mutex);
+       IWL_DEBUG_MAC80211(priv, "enter\n");
+@@ -1108,18 +1109,19 @@ static void iwlagn_mac_flush(struct ieee
+               goto done;
+       }
+ 
+-      /*
+-       * mac80211 will not push any more frames for transmit
+-       * until the flush is completed
+-       */
+-      if (drop) {
+-              IWL_DEBUG_MAC80211(priv, "send flush command\n");
+-              if (iwlagn_txfifo_flush(priv, 0)) {
+-                      IWL_ERR(priv, "flush request fail\n");
+-                      goto done;
+-              }
++      scd_queues = BIT(priv->cfg->base_params->num_of_queues) - 1;
++      scd_queues &= ~(BIT(IWL_IPAN_CMD_QUEUE_NUM) |
++                      BIT(IWL_DEFAULT_CMD_QUEUE_NUM));
++
++      if (vif)
++              scd_queues &= ~BIT(vif->hw_queue[IEEE80211_AC_VO]);
++
++      IWL_DEBUG_TX_QUEUES(priv, "Flushing SCD queues: 0x%x\n", scd_queues);
++      if (iwlagn_txfifo_flush(priv, scd_queues)) {
++              IWL_ERR(priv, "flush request fail\n");
++              goto done;
+       }
+-      IWL_DEBUG_MAC80211(priv, "wait transmit/flush all frames\n");
++      IWL_DEBUG_TX_QUEUES(priv, "wait transmit/flush all frames\n");
+       iwl_trans_wait_tx_queue_empty(priv->trans, 0xffffffff);
+ done:
+       mutex_unlock(&priv->mutex);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete 
new/patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete
--- old/patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete     
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete     
2014-11-07 10:56:51.000000000 +0100
@@ -0,0 +1,78 @@
+From: Takashi Iwai <[email protected]>
+Subject: [PATCH] [media] uvc: Fix destruction order in uvc_delete()
+References: bnc#897736
+Patch-mainline: Submitted
+
+We've got a bug report at disconnecting a Webcam, where the kernel
+spews warnings like below:
+  WARNING: CPU: 0 PID: 8385 at ../fs/sysfs/group.c:219 
sysfs_remove_group+0x87/0x90()
+  sysfs group c0b2350c not found for kobject 'event3'
+  CPU: 0 PID: 8385 Comm: queue2:src Not tainted 3.16.2-1.gdcee397-default #1
+  Hardware name: ASUSTeK Computer INC. A7N8X-E/A7N8X-E, BIOS ASUS A7N8X-E 
Deluxe ACPI BIOS Rev 1013  11/12/2004
+    c08d0705 ddc75cbc c0718c5b ddc75ccc c024b654 c08c6d44 ddc75ce8 000020c1
+    c08d0705 000000db c03d1ec7 c03d1ec7 00000009 00000000 c0b2350c d62c9064
+    ddc75cd4 c024b6a3 00000009 ddc75ccc c08c6d44 ddc75ce8 ddc75cfc c03d1ec7
+  Call Trace:
+    [<c0205ba6>] try_stack_unwind+0x156/0x170
+    [<c02046f3>] dump_trace+0x53/0x180
+    [<c0205c06>] show_trace_log_lvl+0x46/0x50
+    [<c0204871>] show_stack_log_lvl+0x51/0xe0
+    [<c0205c67>] show_stack+0x27/0x50
+    [<c0718c5b>] dump_stack+0x3e/0x4e
+    [<c024b654>] warn_slowpath_common+0x84/0xa0
+    [<c024b6a3>] warn_slowpath_fmt+0x33/0x40
+    [<c03d1ec7>] sysfs_remove_group+0x87/0x90
+    [<c05a2c54>] device_del+0x34/0x180
+    [<c05e3989>] evdev_disconnect+0x19/0x50
+    [<c05e06fa>] __input_unregister_device+0x9a/0x140
+    [<c05e0845>] input_unregister_device+0x45/0x80
+    [<f854b1d6>] uvc_delete+0x26/0x110 [uvcvideo]
+    [<f84d66f8>] v4l2_device_release+0x98/0xc0 [videodev]
+    [<c05a25bb>] device_release+0x2b/0x90
+    [<c04ad8bf>] kobject_cleanup+0x6f/0x1a0
+    [<f84d5453>] v4l2_release+0x43/0x70 [videodev]
+    [<c0372f31>] __fput+0xb1/0x1b0
+    [<c02650c1>] task_work_run+0x91/0xb0
+    [<c024d845>] do_exit+0x265/0x910
+    [<c024df64>] do_group_exit+0x34/0xa0
+    [<c025a76f>] get_signal_to_deliver+0x17f/0x590
+    [<c0201b6a>] do_signal+0x3a/0x960
+    [<c02024f7>] do_notify_resume+0x67/0x90
+    [<c071ebb5>] work_notifysig+0x30/0x3b
+    [<b7739e60>] 0xb7739e5f
+   ---[ end trace b1e56095a485b631 ]---
+
+The cause is that uvc_status_cleanup() is called after usb_put_*() in
+uvc_delete().  usb_put_*() removes the sysfs parent and eventually
+removes the children recursively, so the later device_del() can't find
+its sysfs.  The fix is simply rearrange the call orders in
+uvc_delete() so that the child is removed before the parent.
+
+Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=897736
+Reported-and-tested-by: Martin Pluskal <[email protected]>
+Acked-by: Laurent Pinchart <[email protected]>
+Cc: <[email protected]>
+Signed-off-by: Takashi Iwai <[email protected]>
+
+---
+ drivers/media/usb/uvc/uvc_driver.c |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/media/usb/uvc/uvc_driver.c
++++ b/drivers/media/usb/uvc/uvc_driver.c
+@@ -1623,12 +1623,12 @@ static void uvc_delete(struct uvc_device
+ {
+       struct list_head *p, *n;
+ 
+-      usb_put_intf(dev->intf);
+-      usb_put_dev(dev->udev);
+-
+       uvc_status_cleanup(dev);
+       uvc_ctrl_cleanup_device(dev);
+ 
++      usb_put_intf(dev->intf);
++      usb_put_dev(dev->udev);
++
+       if (dev->vdev.dev)
+               v4l2_device_unregister(&dev->vdev);
+ #ifdef CONFIG_MEDIA_CONTROLLER

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

++++++ patches.rpmify.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.rpmify/chipidea-clean-up-dependencies 
new/patches.rpmify/chipidea-clean-up-dependencies
--- old/patches.rpmify/chipidea-clean-up-dependencies   2014-04-27 
20:22:13.000000000 +0200
+++ new/patches.rpmify/chipidea-clean-up-dependencies   1970-01-01 
01:00:00.000000000 +0100
@@ -1,54 +0,0 @@
-From: Jeff Mahoney <[email protected]>
-Subject: chipidea: Allow user to select PCI/IMX options
-Patch-mainline: Submitted to LKML Aug 27 2012
-
-The chipidea driver currently has needless ifneq rules in the makefile
-for things that should be config options. This can be problematic,
-especially in the IMX case, since the OF dependency will be met
-on powerpc systems - which don't actually support the hardware via that
-method.
-
-This patch adds _PCI and _IMX config options to allow the user to
-select whether to build the modules.
-
-Signed-off-by: Jeff Mahoney <[email protected]>
----
- drivers/usb/chipidea/Kconfig  |   11 +++++++++++
- drivers/usb/chipidea/Makefile |   11 ++---------
- 2 files changed, 13 insertions(+), 9 deletions(-)
-
---- a/drivers/usb/chipidea/Kconfig
-+++ b/drivers/usb/chipidea/Kconfig
-@@ -30,4 +30,15 @@ config USB_CHIPIDEA_DEBUG
-       help
-         Say Y here to enable debugging output of the ChipIdea driver.
- 
-+config USB_CHIPIDEA_PCI
-+      bool "ChipIdea PCI support"
-+      depends on PCI
-+      help
-+        This option enables ChipIdea support on PCI.
-+
-+config USB_CHIPIDEA_IMX
-+      bool "ChipIdea IMX support"
-+      depends on OF
-+      help
-+        This option enables ChipIdea support on IMX.
- endif
---- a/drivers/usb/chipidea/Makefile
-+++ b/drivers/usb/chipidea/Makefile
-@@ -10,12 +10,5 @@ ci_hdrc-$(CONFIG_USB_CHIPIDEA_DEBUG)        +=
- 
- obj-$(CONFIG_USB_CHIPIDEA)    += ci_hdrc_msm.o
- obj-$(CONFIG_USB_CHIPIDEA)    += ci_hdrc_zevio.o
--
--# PCI doesn't provide stubs, need to check
--ifneq ($(CONFIG_PCI),)
--      obj-$(CONFIG_USB_CHIPIDEA)      += ci_hdrc_pci.o
--endif
--
--ifneq ($(CONFIG_OF),)
--      obj-$(CONFIG_USB_CHIPIDEA)      += usbmisc_imx.o ci_hdrc_imx.o
--endif
-+obj-$(CONFIG_USB_CHIPIDEA_PCI)        += ci_hdrc_pci.o
-+obj-$(CONFIG_USB_CHIPIDEA_IMX)        += usbmisc_imx.o ci_hdrc_imx.o

++++++ patches.xen.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen-netback-notify-multi 
new/patches.xen/xen-netback-notify-multi
--- old/patches.xen/xen-netback-notify-multi    2014-10-07 14:29:50.000000000 
+0200
+++ new/patches.xen/xen-netback-notify-multi    2014-10-17 16:23:47.000000000 
+0200
@@ -389,8 +389,8 @@
  }
  
  static netif_rx_response_t *make_rx_response(netif_t *netif, 
---- head.orig/include/xen/evtchn.h     2014-01-15 14:32:14.000000000 +0100
-+++ head/include/xen/evtchn.h  2014-01-30 10:40:38.000000000 +0100
+--- head.orig/include/xen/evtchn.h     2014-10-13 12:12:14.000000000 +0200
++++ head/include/xen/evtchn.h  2014-10-13 12:12:14.000000000 +0200
 @@ -195,6 +195,18 @@ static inline void notify_remote_via_evt
        VOID(HYPERVISOR_event_channel_op(EVTCHNOP_send, &send));
  }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen-privcmd-hcall-preemption 
new/patches.xen/xen-privcmd-hcall-preemption
--- old/patches.xen/xen-privcmd-hcall-preemption        2014-10-07 
14:29:50.000000000 +0200
+++ new/patches.xen/xen-privcmd-hcall-preemption        2014-10-17 
16:23:47.000000000 +0200
@@ -56,7 +56,7 @@
        CFI_ENDPROC
  END(do_hypervisor_callback)
 --- head.orig/drivers/xen/core/evtchn.c        2014-09-02 14:12:03.000000000 
+0200
-+++ head/drivers/xen/core/evtchn.c     2014-05-13 10:37:40.000000000 +0200
++++ head/drivers/xen/core/evtchn.c     2014-10-13 12:13:03.000000000 +0200
 @@ -373,7 +373,14 @@ static DEFINE_PER_CPU(unsigned int, curr
  static DEFINE_PER_CPU(unsigned int, current_l2i);
  
@@ -133,7 +133,7 @@
        break;
  
 --- head.orig/include/xen/evtchn.h     2013-08-08 11:52:01.000000000 +0200
-+++ head/include/xen/evtchn.h  2014-01-15 14:32:14.000000000 +0100
++++ head/include/xen/evtchn.h  2014-10-13 12:12:14.000000000 +0200
 @@ -145,7 +145,13 @@ void irq_resume(void);
  #endif
  
@@ -148,7 +148,7 @@
 +evtchn_do_upcall(struct pt_regs *regs);
  
  /* Mark a PIRQ as unavailable for dynamic allocation. */
- void evtchn_register_pirq(int irq);
+ void evtchn_register_pirq(int irq, unsigned int xen_pirq);
 @@ -210,6 +216,8 @@ void notify_remote_via_ipi(unsigned int 
  void clear_ipi_evtchn(void);
  #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen-setup-gsi 
new/patches.xen/xen-setup-gsi
--- old/patches.xen/xen-setup-gsi       2014-10-07 14:29:50.000000000 +0200
+++ new/patches.xen/xen-setup-gsi       2014-10-17 16:23:47.000000000 +0200
@@ -6,9 +6,9 @@
 it needs to know trigger mode and polarity for them regardless of
 whether the kernel is also going to (try to) use those interrupts.
 
---- head.orig/arch/x86/kernel/apic/io_apic-xen.c       2014-09-16 
17:36:48.000000000 +0200
-+++ head/arch/x86/kernel/apic/io_apic-xen.c    2014-09-02 18:23:53.000000000 
+0200
-@@ -1563,6 +1563,44 @@ static void setup_ioapic_irq(unsigned in
+--- head.orig/arch/x86/kernel/apic/io_apic-xen.c       2014-10-13 
12:07:03.000000000 +0200
++++ head/arch/x86/kernel/apic/io_apic-xen.c    2014-10-13 12:12:04.000000000 
+0200
+@@ -1562,6 +1562,46 @@ static void setup_ioapic_irq(unsigned in
        if (!IO_APIC_IRQ(irq))
                return;
  
@@ -20,16 +20,18 @@
 +       */
 +      if (irq >= legacy_pic->nr_legacy_irqs
 +          || mp_pin_info(attr->ioapic, attr->ioapic_pin)->set) {
++              unsigned int gsi = mp_pin_to_gsi(attr->ioapic,
++                                               attr->ioapic_pin);
 +              struct physdev_setup_gsi setup_gsi = {
-+                      .gsi = irq,
++                      .gsi = gsi,
 +                      .triggering = attr->trigger,
 +                      .polarity = attr->polarity
 +              };
 +              struct physdev_map_pirq map_pirq = {
 +                      .domid = DOMID_SELF,
 +                      .type = MAP_PIRQ_TYPE_GSI,
-+                      .index = irq,
-+                      .pirq = irq
++                      .index = gsi,
++                      .pirq = gsi
 +              };
 +
 +              switch (HYPERVISOR_physdev_op(PHYSDEVOP_setup_gsi,
@@ -39,11 +41,11 @@
 +                              break;
 +                      /* fall through */
 +              case 0:
-+                      evtchn_register_pirq(irq);
++                      evtchn_register_pirq(irq, gsi);
 +                      if (HYPERVISOR_physdev_op(PHYSDEVOP_map_pirq,
 +                                                &map_pirq) == 0) {
 +                              /* fake (for init_IO_APIC_traps()): */
-+                              cfg->vector = irq;
++                              cfg->vector = gsi;
 +                              return;
 +                      }
 +              }
@@ -53,7 +55,7 @@
        if (assign_irq_vector(irq, cfg, apic->target_cpus()))
                return;
  
---- head.orig/drivers/acpi/pci_irq.c   2014-09-17 16:24:50.000000000 +0200
+--- head.orig/drivers/acpi/pci_irq.c   2014-10-13 11:53:23.000000000 +0200
 +++ head/drivers/acpi/pci_irq.c        2014-09-02 14:13:16.000000000 +0200
 @@ -509,3 +509,80 @@ void acpi_pci_irq_disable(struct pci_dev
        if (gsi >= 0 && dev->irq > 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen3-patch-2.6.29 
new/patches.xen/xen3-patch-2.6.29
--- old/patches.xen/xen3-patch-2.6.29   2014-10-07 14:29:50.000000000 +0200
+++ new/patches.xen/xen3-patch-2.6.29   2014-10-17 16:23:47.000000000 +0200
@@ -10403,7 +10403,7 @@
 +      union {
 +              int bindcount; /* for dynamic IRQs */
 +#ifdef CONFIG_X86_IO_APIC
-+              u8 vector; /* for physical IRQs */
++              unsigned int vector; /* for physical IRQs */
 +#endif
 +      };
 +};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen3-patch-3.12 
new/patches.xen/xen3-patch-3.12
--- old/patches.xen/xen3-patch-3.12     2014-10-07 14:29:50.000000000 +0200
+++ new/patches.xen/xen3-patch-3.12     2014-10-17 16:23:47.000000000 +0200
@@ -549,7 +549,7 @@
  __apicdebuginit(void) print_IO_APIC(int ioapic_idx)
  {
        union IO_APIC_reg_00 reg_00;
-@@ -3485,12 +3490,15 @@ int io_apic_setup_irq_pin_once(unsigned 
+@@ -3483,12 +3488,15 @@ int io_apic_setup_irq_pin_once(unsigned 
  {
        unsigned int ioapic_idx = attr->ioapic, pin = attr->ioapic_pin;
        int ret;
@@ -1070,7 +1070,7 @@
 -obj-$(CONFIG_TCG_XEN) += tpm_xenu.o
 +obj-$(CONFIG_TCG_XEN_V1) += tpm_xenu.o
  tpm_xenu-y = tpm_xen.o tpm_vtpm.o
---- head.orig/drivers/char/tpm/xen-tpmfront.c  2014-03-31 05:40:15.000000000 
+0200
+--- head.orig/drivers/char/tpm/xen-tpmfront.c  2014-10-13 11:53:28.000000000 
+0200
 +++ head/drivers/char/tpm/xen-tpmfront.c       2014-02-18 17:52:31.000000000 
+0100
 @@ -11,19 +11,26 @@
  #include <linux/err.h>
@@ -1248,7 +1248,7 @@
  #endif
        oprofilefs_create_file(root, "buffer", &event_buffer_fops);
        oprofilefs_create_ulong(root, "buffer_size", &oprofile_buffer_size);
---- head.orig/drivers/pci/msi-xen.c    2014-08-29 18:21:59.000000000 +0200
+--- head.orig/drivers/pci/msi-xen.c    2014-10-06 13:21:04.000000000 +0200
 +++ head/drivers/pci/msi-xen.c 2013-09-26 15:33:39.000000000 +0200
 @@ -60,12 +60,10 @@ struct msi_dev_list {
  
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen3-patch-3.15 
new/patches.xen/xen3-patch-3.15
--- old/patches.xen/xen3-patch-3.15     2014-10-07 14:29:50.000000000 +0200
+++ new/patches.xen/xen3-patch-3.15     2014-10-17 16:23:47.000000000 +0200
@@ -54,7 +54,7 @@
        unsigned int irq_hv_callback_count;
  #endif
  } ____cacheline_aligned irq_cpustat_t;
---- head.orig/arch/x86/include/asm/vdso.h      2014-09-25 09:13:14.000000000 
+0200
+--- head.orig/arch/x86/include/asm/vdso.h      2014-10-13 11:53:26.000000000 
+0200
 +++ head/arch/x86/include/asm/vdso.h   2014-06-26 15:16:50.000000000 +0200
 @@ -39,7 +39,7 @@ extern const struct vdso_image vdso_imag
  
@@ -350,7 +350,7 @@
  {
        unsigned vector, me;
  
-@@ -3536,6 +3536,11 @@ int get_nr_irqs_gsi(void)
+@@ -3534,6 +3534,11 @@ int get_nr_irqs_gsi(void)
        return nr_irqs_gsi;
  }
  
@@ -418,7 +418,7 @@
  {
        /*
         * Build-time sanity checks on the kernel image and module
---- head.orig/arch/x86/kernel/irq.c    2014-09-25 09:13:14.000000000 +0200
+--- head.orig/arch/x86/kernel/irq.c    2014-10-13 11:53:26.000000000 +0200
 +++ head/arch/x86/kernel/irq.c 2014-05-02 15:21:37.000000000 +0200
 @@ -126,7 +126,7 @@ int arch_show_interrupts(struct seq_file
                seq_printf(p, "%10u ", per_cpu(mce_poll_count, j));
@@ -680,7 +680,7 @@
  
        return 0;
  }
---- head.orig/arch/x86/lib/msr.c       2014-09-25 09:13:14.000000000 +0200
+--- head.orig/arch/x86/lib/msr.c       2014-10-13 11:53:26.000000000 +0200
 +++ head/arch/x86/lib/msr.c    2014-05-02 14:58:34.000000000 +0200
 @@ -76,6 +76,16 @@ static inline int __flip_bit(u32 msr, u8
        if (m1.q == m.q)
@@ -2410,7 +2410,7 @@
      int entry_nr;
      /* IN */
      uint64_t table_base;
---- head.orig/mm/early_ioremap.c       2014-09-25 09:13:14.000000000 +0200
+--- head.orig/mm/early_ioremap.c       2014-10-13 11:53:26.000000000 +0200
 +++ head/mm/early_ioremap.c    2014-05-02 14:05:40.000000000 +0200
 @@ -164,6 +164,17 @@ void __init early_iounmap(void __iomem *
        enum fixed_addresses idx;
@@ -2456,7 +2456,7 @@
  }
  #else /* CONFIG_MMU */
  
---- head.orig/sound/pci/hda/hda_controller.c   2014-09-25 09:13:14.000000000 
+0200
+--- head.orig/sound/pci/hda/hda_controller.c   2014-10-13 11:53:26.000000000 
+0200
 +++ head/sound/pci/hda/hda_controller.c        2014-05-14 11:08:30.000000000 
+0200
 @@ -23,6 +23,7 @@
  #include <linux/clocksource.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen3-patch-3.16 
new/patches.xen/xen3-patch-3.16
--- old/patches.xen/xen3-patch-3.16     2014-10-07 14:29:50.000000000 +0200
+++ new/patches.xen/xen3-patch-3.16     2014-10-17 16:23:47.000000000 +0200
@@ -370,7 +370,7 @@
  
        raw_spin_lock_irqsave(&ioapic_lock, flags);
        ret = __ioapic_set_affinity(data, mask, &dest);
-@@ -3025,98 +3010,39 @@ static int __init ioapic_init_ops(void)
+@@ -3023,98 +3008,39 @@ static int __init ioapic_init_ops(void)
  device_initcall(ioapic_init_ops);
  
  /*
@@ -483,7 +483,7 @@
  }
  
  /*
-@@ -3184,9 +3110,11 @@ msi_set_affinity(struct irq_data *data, 
+@@ -3182,9 +3108,11 @@ msi_set_affinity(struct irq_data *data, 
        struct irq_cfg *cfg = data->chip_data;
        struct msi_msg msg;
        unsigned int dest;
@@ -497,7 +497,7 @@
  
        __get_cached_msi_msg(data->msi_desc, &msg);
  
-@@ -3245,8 +3173,8 @@ int setup_msi_irq(struct pci_dev *dev, s
+@@ -3243,8 +3171,8 @@ int setup_msi_irq(struct pci_dev *dev, s
  
  int native_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
  {
@@ -507,7 +507,7 @@
        int node, ret;
  
        /* Multiple MSI vectors only supported with interrupt remapping */
-@@ -3254,28 +3182,25 @@ int native_setup_msi_irqs(struct pci_dev
+@@ -3252,28 +3180,25 @@ int native_setup_msi_irqs(struct pci_dev
                return 1;
  
        node = dev_to_node(&dev->dev);
@@ -545,7 +545,7 @@
  }
  
  #ifdef CONFIG_DMAR_TABLE
-@@ -3286,9 +3211,11 @@ dmar_msi_set_affinity(struct irq_data *d
+@@ -3284,9 +3209,11 @@ dmar_msi_set_affinity(struct irq_data *d
        struct irq_cfg *cfg = data->chip_data;
        unsigned int dest, irq = data->irq;
        struct msi_msg msg;
@@ -559,7 +559,7 @@
  
        dmar_msi_read(irq, &msg);
  
-@@ -3335,9 +3262,11 @@ static int hpet_msi_set_affinity(struct 
+@@ -3333,9 +3260,11 @@ static int hpet_msi_set_affinity(struct 
        struct irq_cfg *cfg = data->chip_data;
        struct msi_msg msg;
        unsigned int dest;
@@ -573,7 +573,7 @@
  
        hpet_msi_read(data->handler_data, &msg);
  
-@@ -3405,9 +3334,11 @@ ht_set_affinity(struct irq_data *data, c
+@@ -3403,9 +3332,11 @@ ht_set_affinity(struct irq_data *data, c
  {
        struct irq_cfg *cfg = data->chip_data;
        unsigned int dest;
@@ -587,7 +587,7 @@
  
        target_ht_irq(data->irq, dest, cfg->vector);
        return IRQ_SET_MASK_OK_NOCOPY;
-@@ -3531,11 +3462,6 @@ static void __init probe_nr_irqs_gsi(voi
+@@ -3529,11 +3460,6 @@ static void __init probe_nr_irqs_gsi(voi
        printk(KERN_DEBUG "nr_irqs_gsi: %d\n", nr_irqs_gsi);
  }
  
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen3-patch-3.17 
new/patches.xen/xen3-patch-3.17
--- old/patches.xen/xen3-patch-3.17     2014-10-07 14:29:50.000000000 +0200
+++ new/patches.xen/xen3-patch-3.17     2014-10-17 16:23:47.000000000 +0200
@@ -54,7 +54,7 @@
  #else  /* !CONFIG_X86_IO_APIC */
  
  #define io_apic_assign_pci_irqs 0
-@@ -241,7 +239,6 @@ static inline int mp_find_ioapic(u32 gsi) { return 0; }
+@@ -241,7 +239,6 @@ static inline int mp_find_ioapic(u32 gsi
  static inline u32 mp_pin_to_gsi(int ioapic, int pin) { return UINT_MAX; }
  static inline int mp_map_gsi_to_irq(u32 gsi, unsigned int flags) { return 
gsi; }
  static inline void mp_unmap_irq(int irq) { }
@@ -62,7 +62,7 @@
  
  static inline int save_ioapic_entries(void)
  {
---- head.orig/arch/x86/include/asm/pci_x86.h   2013-04-29 02:36:01.000000000 
+0200
+--- head.orig/arch/x86/include/asm/pci_x86.h   2014-10-13 11:53:25.000000000 
+0200
 +++ head/arch/x86/include/asm/pci_x86.h        2014-09-16 10:32:57.000000000 
+0200
 @@ -93,6 +93,8 @@ extern raw_spinlock_t pci_config_lock;
  extern int (*pcibios_enable_irq)(struct pci_dev *dev);
@@ -73,7 +73,7 @@
  struct pci_raw_ops {
        int (*read)(unsigned int domain, unsigned int bus, unsigned int devfn,
                                                int reg, int len, u32 *val);
---- head.orig/arch/x86/include/mach-xen/asm/fixmap.h   2014-10-07 
12:22:00.000000000 +0200
+--- head.orig/arch/x86/include/mach-xen/asm/fixmap.h   2014-06-27 
10:54:54.000000000 +0200
 +++ head/arch/x86/include/mach-xen/asm/fixmap.h        2014-10-07 
12:21:52.000000000 +0200
 @@ -115,14 +115,14 @@ enum fixed_addresses {
        __end_of_permanent_fixed_addresses,
@@ -194,7 +194,7 @@
 -
  #endif /* _ASM_X86_VGA_H */
 --- head.orig/arch/x86/kernel/apic/io_apic-xen.c       2014-06-27 
10:54:54.000000000 +0200
-+++ head/arch/x86/kernel/apic/io_apic-xen.c    2014-10-07 12:17:06.000000000 
+0200
++++ head/arch/x86/kernel/apic/io_apic-xen.c    2014-10-13 12:07:03.000000000 
+0200
 @@ -31,6 +31,7 @@
  #include <linux/acpi.h>
  #include <linux/module.h>
@@ -711,12 +711,12 @@
        for (i = 0; i < mp_irq_entries; i++) {
                int lbus = mp_irqs[i].srcbus;
 +              int ioapic_idx, found = 0;
- 
--              for (ioapic_idx = 0; ioapic_idx < nr_ioapics; ioapic_idx++)
++
 +              if (bus != lbus || mp_irqs[i].irqtype != mp_INT ||
 +                  slot != ((mp_irqs[i].srcbusirq >> 2) & 0x1f))
 +                      continue;
-+
+ 
+-              for (ioapic_idx = 0; ioapic_idx < nr_ioapics; ioapic_idx++)
 +              for_each_ioapic(ioapic_idx)
                        if (mpc_ioapic_id(ioapic_idx) == mp_irqs[i].dstapic ||
 -                          mp_irqs[i].dstapic == MP_APIC_ALL)
@@ -818,18 +818,29 @@
        }
        /*
           * nonexistent IRQs are edge default
-@@ -1406,105 +1599,30 @@ static void setup_ioapic_irq(unsigned in
+@@ -1330,7 +1523,6 @@ static void ioapic_register_intr(unsigne
+ }
+ #else /* !CONFIG_XEN */
+ #define __clear_irq_vector(irq, cfg) ((void)0)
+-#define ioapic_register_intr(irq, cfg, trigger) evtchn_register_pirq(irq)
+ #endif
  
-       ioapic_register_intr(irq, cfg, attr->trigger);
+ #ifndef CONFIG_XEN
+@@ -1404,107 +1596,35 @@ static void setup_ioapic_irq(unsigned in
+               return;
+       }
+ 
+-      ioapic_register_intr(irq, cfg, attr->trigger);
  #ifndef CONFIG_XEN
 -      if (irq < legacy_pic->nr_legacy_irqs)
++      ioapic_register_intr(irq, cfg, attr->trigger);
 +      if (irq < nr_legacy_irqs())
                legacy_pic->mask(irq);
- #endif
- 
-       ioapic_write_entry(attr->ioapic, attr->ioapic_pin, entry);
- }
- 
+-#endif
+-
+-      ioapic_write_entry(attr->ioapic, attr->ioapic_pin, entry);
+-}
+-
 -static bool __init io_apic_pin_not_connected(int idx, int ioapic_idx, int pin)
 -{
 -      if (idx != -1)
@@ -859,7 +870,7 @@
 -#ifdef CONFIG_XEN
 -              if (irq < PIRQ_BASE || irq >= PIRQ_BASE + nr_pirqs)
 -                      continue;
--#else
+ #else
 -              /*
 -               * Skip the timer IRQ if there's a quirk handler
 -               * installed and if it returns 1:
@@ -867,15 +878,18 @@
 -              if (apic->multi_timer_check &&
 -                  apic->multi_timer_check(ioapic_idx, irq))
 -                      continue;
--#endif
--
++      evtchn_register_pirq(irq, mp_pin_to_gsi(attr->ioapic,
++                                              attr->ioapic_pin));
+ #endif
+ 
 -              set_io_apic_irq_attr(&attr, ioapic_idx, pin, irq_trigger(idx),
 -                                   irq_polarity(idx));
 -
 -              io_apic_setup_irq_pin(irq, node, &attr);
 -      }
--}
--
++      ioapic_write_entry(attr->ioapic, attr->ioapic_pin, entry);
+ }
+ 
  static void __init setup_IO_APIC_irqs(void)
  {
 -      unsigned int ioapic_idx;
@@ -937,7 +951,7 @@
  }
  
  #ifndef CONFIG_XEN
-@@ -1673,7 +1791,7 @@ __apicdebuginit(void) print_IO_APICs(voi
+@@ -1673,7 +1793,7 @@ __apicdebuginit(void) print_IO_APICs(voi
        struct irq_chip *chip;
  
        printk(KERN_DEBUG "number of MP IRQ sources: %d.\n", mp_irq_entries);
@@ -946,7 +960,7 @@
                printk(KERN_DEBUG "number of IO-APIC #%d registers: %d.\n",
                       mpc_ioapic_id(ioapic_idx),
                       ioapics[ioapic_idx].nr_registers);
-@@ -1684,7 +1802,7 @@ __apicdebuginit(void) print_IO_APICs(voi
+@@ -1684,7 +1804,7 @@ __apicdebuginit(void) print_IO_APICs(voi
         */
        printk(KERN_INFO "testing the IO APIC.......................\n");
  
@@ -955,7 +969,7 @@
                print_IO_APIC(ioapic_idx);
  
        printk(KERN_DEBUG "IRQ to pin mappings:\n");
-@@ -1695,7 +1813,7 @@ __apicdebuginit(void) print_IO_APICs(voi
+@@ -1695,7 +1815,7 @@ __apicdebuginit(void) print_IO_APICs(voi
                if (chip != &ioapic_chip)
                        continue;
  
@@ -964,7 +978,7 @@
                if (!cfg)
                        continue;
                entry = cfg->irq_2_pin;
-@@ -1845,7 +1963,7 @@ __apicdebuginit(void) print_PIC(void)
+@@ -1845,7 +1965,7 @@ __apicdebuginit(void) print_PIC(void)
        unsigned int v;
        unsigned long flags;
  
@@ -973,7 +987,7 @@
                return;
  
        printk(KERN_DEBUG "\nprinting PIC contents\n");
-@@ -1915,26 +2033,22 @@ static struct { int pin, apic; } ioapic_
+@@ -1915,26 +2035,22 @@ static struct { int pin, apic; } ioapic_
  void __init enable_IO_APIC(void)
  {
        int i8259_apic, i8259_pin;
@@ -1011,7 +1025,7 @@
                }
        }
   found_i8259:
-@@ -2006,7 +2120,7 @@ void disable_IO_APIC(void)
+@@ -2006,7 +2122,7 @@ void disable_IO_APIC(void)
         */
        clear_IO_APIC();
  
@@ -1020,7 +1034,7 @@
                return;
  
        x86_io_apic_ops.disable();
-@@ -2037,7 +2151,7 @@ void __init setup_ioapic_ids_from_mpc_no
+@@ -2037,7 +2153,7 @@ void __init setup_ioapic_ids_from_mpc_no
        /*
         * Set the IOAPIC ID to the value stored in the MPC table.
         */
@@ -1029,7 +1043,7 @@
                /* Read the register 0 value */
                raw_spin_lock_irqsave(&ioapic_lock, flags);
                reg_00.raw = io_apic_read(ioapic_idx, 0);
-@@ -2210,7 +2324,7 @@ static unsigned int startup_ioapic_irq(s
+@@ -2210,7 +2326,7 @@ static unsigned int startup_ioapic_irq(s
        unsigned long flags;
  
        raw_spin_lock_irqsave(&ioapic_lock, flags);
@@ -1038,7 +1052,7 @@
                legacy_pic->mask(irq);
                if (legacy_pic->irq_pending(irq))
                        was_pending = 1;
-@@ -2312,7 +2426,7 @@ asmlinkage __visible void smp_irq_move_c
+@@ -2312,7 +2428,7 @@ asmlinkage __visible void smp_irq_move_c
                        apic->send_IPI_self(IRQ_MOVE_CLEANUP_VECTOR);
                        goto unlock;
                }
@@ -1047,7 +1061,7 @@
  unlock:
                raw_spin_unlock(&desc->lock);
        }
-@@ -2340,7 +2454,7 @@ static void irq_complete_move(struct irq
+@@ -2340,7 +2456,7 @@ static void irq_complete_move(struct irq
  
  void irq_force_complete_move(int irq)
  {
@@ -1056,7 +1070,7 @@
  
        if (!cfg)
                return;
-@@ -2604,30 +2718,19 @@ static inline void init_IO_APIC_traps(vo
+@@ -2602,30 +2718,19 @@ static inline void init_IO_APIC_traps(vo
        struct irq_cfg *cfg;
        unsigned int irq;
  
@@ -1089,7 +1103,7 @@
                                legacy_pic->make_irq(irq);
                        else
                                /* Strange. Oh, well.. */
-@@ -2744,8 +2847,6 @@ static int __init disable_timer_pin_setu
+@@ -2742,8 +2847,6 @@ static int __init disable_timer_pin_setu
  }
  early_param("disable_timer_pin_1", disable_timer_pin_setup);
  
@@ -1098,7 +1112,7 @@
  /*
   * This code may look a bit paranoid, but it's supposed to cooperate with
   * a wide range of boards and BIOS bugs.  Fortunately only the timer IRQ
-@@ -2756,7 +2857,7 @@ int timer_through_8259 __initdata;
+@@ -2754,7 +2857,7 @@ int timer_through_8259 __initdata;
   */
  static inline void __init check_timer(void)
  {
@@ -1107,7 +1121,7 @@
        int node = cpu_to_node(0);
        int apic1, pin1, apic2, pin2;
        unsigned long flags;
-@@ -2850,7 +2951,6 @@ static inline void __init check_timer(vo
+@@ -2848,7 +2951,6 @@ static inline void __init check_timer(vo
                legacy_pic->unmask(0);
                if (timer_irq_works()) {
                        apic_printk(APIC_QUIET, KERN_INFO "....... works.\n");
@@ -1115,7 +1129,7 @@
                        goto out;
                }
                /*
-@@ -2925,15 +3025,54 @@ out:
+@@ -2923,15 +3025,54 @@ out:
   */
  #define PIC_IRQS      (1UL << PIC_CASCADE_IR)
  
@@ -1171,7 +1185,7 @@
        /*
           * Set up IO-APIC IRQ routing.
           */
-@@ -2944,8 +3083,10 @@ void __init setup_IO_APIC(void)
+@@ -2942,8 +3083,10 @@ void __init setup_IO_APIC(void)
  #endif
        setup_IO_APIC_irqs();
        init_IO_APIC_traps();
@@ -1183,7 +1197,7 @@
  }
  
  /*
-@@ -2989,7 +3130,7 @@ static void ioapic_resume(void)
+@@ -2987,7 +3130,7 @@ static void ioapic_resume(void)
  {
        int ioapic_idx;
  
@@ -1192,7 +1206,7 @@
                resume_ioapic_id(ioapic_idx);
  
        restore_ioapic_entries();
-@@ -3035,7 +3176,7 @@ int arch_setup_hwirq(unsigned int irq, i
+@@ -3033,7 +3176,7 @@ int arch_setup_hwirq(unsigned int irq, i
  
  void arch_teardown_hwirq(unsigned int irq)
  {
@@ -1201,7 +1215,7 @@
        unsigned long flags;
  
        free_remapped_irq(irq);
-@@ -3162,7 +3303,7 @@ int setup_msi_irq(struct pci_dev *dev, s
+@@ -3160,7 +3303,7 @@ int setup_msi_irq(struct pci_dev *dev, s
        if (!irq_offset)
                write_msi_msg(irq, &msg);
  
@@ -1210,7 +1224,7 @@
  
        irq_set_chip_and_handler_name(irq, chip, handle_edge_irq, "edge");
  
-@@ -3301,7 +3442,7 @@ int default_setup_hpet_msi(unsigned int 
+@@ -3299,7 +3442,7 @@ int default_setup_hpet_msi(unsigned int 
  
        hpet_msi_write(irq_get_handler_data(irq), &msg);
        irq_set_status_flags(irq, IRQ_MOVE_PCNTXT);
@@ -1219,7 +1233,7 @@
  
        irq_set_chip_and_handler_name(irq, chip, handle_edge_irq, "edge");
        return 0;
-@@ -3413,27 +3554,6 @@ io_apic_setup_irq_pin(unsigned int irq, 
+@@ -3411,27 +3554,6 @@ io_apic_setup_irq_pin(unsigned int irq, 
        return ret;
  }
  
@@ -1247,7 +1261,7 @@
  static int __init io_apic_get_redir_entries(int ioapic)
  {
        union IO_APIC_reg_01    reg_01;
-@@ -3450,23 +3570,16 @@ static int __init io_apic_get_redir_entr
+@@ -3448,23 +3570,16 @@ static int __init io_apic_get_redir_entr
        return reg_01.bits.entries + 1;
  }
  
@@ -1277,7 +1291,7 @@
  int __init arch_probe_nr_irqs(void)
  {
        int nr;
-@@ -3474,43 +3587,20 @@ int __init arch_probe_nr_irqs(void)
+@@ -3472,43 +3587,20 @@ int __init arch_probe_nr_irqs(void)
        if (nr_irqs > (NR_VECTORS * nr_cpu_ids))
                nr_irqs = NR_VECTORS * nr_cpu_ids;
  
@@ -1324,7 +1338,7 @@
  #ifdef CONFIG_X86_32
  #ifndef CONFIG_XEN
  static int __init io_apic_get_unique_id(int ioapic, int apic_id)
-@@ -3606,9 +3696,8 @@ static u8 __init io_apic_unique_id(u8 id
+@@ -3604,9 +3696,8 @@ static u8 __init io_apic_unique_id(u8 id
        DECLARE_BITMAP(used, 256);
  
        bitmap_zero(used, 256);
@@ -1335,7 +1349,7 @@
        if (!test_bit(id, used))
                return id;
        return find_first_zero_bit(used, 256);
-@@ -3667,14 +3756,13 @@ void __init setup_ioapic_dest(void)
+@@ -3665,14 +3756,13 @@ void __init setup_ioapic_dest(void)
        if (skip_ioapic_setup == 1)
                return;
  
@@ -1353,7 +1367,7 @@
                        continue;
  
                idata = irq_get_irq_data(irq);
-@@ -3697,29 +3785,33 @@ void __init setup_ioapic_dest(void)
+@@ -3695,29 +3785,33 @@ void __init setup_ioapic_dest(void)
  
  static struct resource *ioapic_resources;
  
@@ -1395,7 +1409,7 @@
        }
  
        ioapic_resources = res;
-@@ -3733,8 +3825,8 @@ void __init native_io_apic_init_mappings
+@@ -3731,8 +3825,8 @@ void __init native_io_apic_init_mappings
        struct resource *ioapic_res;
        int i;
  
@@ -1406,7 +1420,7 @@
                if (smp_found_config) {
                        ioapic_phys = mpc_ioapic_addr(i);
  #ifdef CONFIG_X86_32
-@@ -3765,8 +3857,6 @@ fake_ioapic_page:
+@@ -3763,8 +3857,6 @@ fake_ioapic_page:
                ioapic_res->end = ioapic_phys + IO_APIC_SLOT_SIZE - 1;
                ioapic_res++;
        }
@@ -1415,7 +1429,7 @@
  }
  
  void __init ioapic_insert_resources(void)
-@@ -3781,7 +3871,7 @@ void __init ioapic_insert_resources(void
+@@ -3779,7 +3871,7 @@ void __init ioapic_insert_resources(void
                return;
        }
  
@@ -1424,7 +1438,7 @@
                insert_resource(&iomem_resource, r);
                r++;
        }
-@@ -3790,16 +3880,15 @@ void __init ioapic_insert_resources(void
+@@ -3788,16 +3880,15 @@ void __init ioapic_insert_resources(void
  
  int mp_find_ioapic(u32 gsi)
  {
@@ -1444,7 +1458,7 @@
                        return i;
        }
  
-@@ -3811,7 +3900,7 @@ int mp_find_ioapic_pin(int ioapic, u32 g
+@@ -3809,7 +3900,7 @@ int mp_find_ioapic_pin(int ioapic, u32 g
  {
        struct mp_ioapic_gsi *gsi_cfg;
  
@@ -1453,7 +1467,7 @@
                return -1;
  
        gsi_cfg = mp_ioapic_gsi_routing(ioapic);
-@@ -3854,7 +3943,8 @@ static __init int bad_ioapic_register(in
+@@ -3852,7 +3943,8 @@ static __init int bad_ioapic_register(in
        return 0;
  }
  
@@ -1463,7 +1477,7 @@
  {
        int idx = 0;
        int entries;
-@@ -3868,6 +3958,8 @@ void __init mp_register_ioapic(int id, u
+@@ -3866,6 +3958,8 @@ void __init mp_register_ioapic(int id, u
        ioapics[idx].mp_config.type = MP_IOAPIC;
        ioapics[idx].mp_config.flags = MPC_APIC_USABLE;
        ioapics[idx].mp_config.apicaddr = address;
@@ -1472,7 +1486,7 @@
  
  #ifndef CONFIG_XEN
        set_fixmap_nocache(FIX_IO_APIC_BASE_0 + idx, address);
-@@ -3908,6 +4000,87 @@ void __init mp_register_ioapic(int id, u
+@@ -3906,6 +4000,87 @@ void __init mp_register_ioapic(int id, u
        nr_ioapics++;
  }
  
@@ -2153,7 +2167,7 @@
  }
  
  static int addr_to_vsyscall_nr(unsigned long addr)
---- head.orig/arch/x86/mm/dump_pagetables-xen.c        2014-10-07 
12:22:00.000000000 +0200
+--- head.orig/arch/x86/mm/dump_pagetables-xen.c        2014-06-27 
10:54:54.000000000 +0200
 +++ head/arch/x86/mm/dump_pagetables-xen.c     2014-10-07 12:21:52.000000000 
+0200
 @@ -51,7 +51,9 @@ enum address_markers_idx {
        LOW_KERNEL_NR,
@@ -2420,6 +2434,17 @@
  static void pirq_disable_irq(struct pci_dev *dev)
  {
        if (io_apic_assign_pci_irqs && !mp_should_keep_irq(&dev->dev) &&
+--- head.orig/arch/x86/pci/pcifront.c  2011-11-18 15:58:33.000000000 +0100
++++ head/arch/x86/pci/pcifront.c       2014-10-13 12:07:59.000000000 +0200
+@@ -17,7 +17,7 @@ static int pcifront_enable_irq(struct pc
+       pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
+       if (!alloc_irq_and_cfg_at(irq, numa_node_id()))
+               return -ENOMEM;
+-      evtchn_register_pirq(irq);
++      evtchn_register_pirq(irq, irq);
+       dev->irq = irq;
+ 
+       return 0;
 --- head.orig/arch/x86/vdso/vdso32-setup-xen.c 2014-06-27 11:26:47.000000000 
+0200
 +++ head/arch/x86/vdso/vdso32-setup-xen.c      2014-09-02 12:30:19.000000000 
+0200
 @@ -142,23 +142,6 @@ static __init int ia32_binfmt_init(void)
@@ -2447,7 +2472,7 @@
 +#endif /* CONFIG_SYSCTL */
  
  #endif        /* CONFIG_X86_64 */
---- head.orig/drivers/crypto/qat/qat_common/qat_algs.c 2014-10-05 
21:23:04.000000000 +0200
+--- head.orig/drivers/crypto/qat/qat_common/qat_algs.c 2014-10-13 
11:53:25.000000000 +0200
 +++ head/drivers/crypto/qat/qat_common/qat_algs.c      2014-09-02 
13:22:47.000000000 +0200
 @@ -129,7 +129,11 @@ struct qat_alg_session_ctx {
  
@@ -2461,7 +2486,7 @@
  }
  
  static int qat_get_inter_state_size(enum icp_qat_hw_auth_algo qat_hash_alg)
---- head.orig/drivers/crypto/qat/qat_dh895xcc/adf_drv.c        2014-10-05 
21:23:04.000000000 +0200
+--- head.orig/drivers/crypto/qat/qat_dh895xcc/adf_drv.c        2014-10-13 
11:53:25.000000000 +0200
 +++ head/drivers/crypto/qat/qat_dh895xcc/adf_drv.c     2014-09-02 
13:23:12.000000000 +0200
 @@ -121,6 +121,7 @@ static void adf_cleanup_accel(struct adf
  
@@ -2665,6 +2690,25 @@
  xen-evtchn-y                          := evtchn.o
  xen-gntdev-y                          := gntdev.o
  xen-gntalloc-y                                := gntalloc.o
+--- head.orig/drivers/xen/core/evtchn.c        2014-05-13 10:03:39.000000000 
+0200
++++ head/drivers/xen/core/evtchn.c     2014-10-13 12:08:57.000000000 +0200
+@@ -1362,14 +1362,14 @@ int assign_irq_vector(int irq, struct ir
+ #define identity_mapped_irq(irq) (1)
+ #endif
+ 
+-void evtchn_register_pirq(int irq)
++void evtchn_register_pirq(int irq, unsigned int xen_pirq)
+ {
+       struct irq_cfg *cfg = irq_cfg(irq);
+ 
+       BUG_ON(irq < PIRQ_BASE || irq - PIRQ_BASE >= nr_pirqs);
+       if (identity_mapped_irq(irq) || type_from_irq_cfg(cfg) != IRQT_UNBOUND)
+               return;
+-      cfg->info = mk_irq_info(IRQT_PIRQ, irq, 0);
++      cfg->info = mk_irq_info(IRQT_PIRQ, xen_pirq, 0);
+       irq_set_chip_and_handler_name(irq, &pirq_chip, handle_fasteoi_irq,
+                                     "fasteoi");
+ }
 --- head.orig/drivers/xen/netback/interface.c  2014-06-27 12:29:09.000000000 
+0200
 +++ head/drivers/xen/netback/interface.c       2014-09-02 13:51:04.000000000 
+0200
 @@ -194,7 +194,8 @@ netif_t *netif_alloc(struct device *pare
@@ -2760,6 +2804,17 @@
                goto out;
        }
  
+--- head.orig/include/xen/evtchn.h     2014-02-20 13:52:59.000000000 +0100
++++ head/include/xen/evtchn.h  2014-10-13 12:08:44.000000000 +0200
+@@ -117,7 +117,7 @@ void irq_resume(void);
+ asmlinkage void evtchn_do_upcall(struct pt_regs *regs);
+ 
+ /* Mark a PIRQ as unavailable for dynamic allocation. */
+-void evtchn_register_pirq(int irq);
++void evtchn_register_pirq(int irq, unsigned int xen_pirq);
+ /* Map a Xen-supplied PIRQ to a dynamically allocated one. */
+ int evtchn_map_pirq(int irq, unsigned int xen_pirq, unsigned int nr);
+ /* Look up a Xen-supplied PIRQ for a dynamically allocated one. */
 --- head.orig/include/xen/interface/platform.h 2013-06-20 15:29:44.000000000 
+0200
 +++ head/include/xen/interface/platform.h      2014-09-02 12:30:19.000000000 
+0200
 @@ -207,6 +207,7 @@ struct xenpf_efi_runtime_call {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen3-patch-3.17.1 
new/patches.xen/xen3-patch-3.17.1
--- old/patches.xen/xen3-patch-3.17.1   1970-01-01 01:00:00.000000000 +0100
+++ new/patches.xen/xen3-patch-3.17.1   2014-10-17 16:23:47.000000000 +0200
@@ -0,0 +1,23 @@
+From: Jiri Slaby <[email protected]>
+Subject: Linux 3.17.1
+Patch-mainline: 3.17.1
+
+Signed-off-by: Jiri Slaby <[email protected]>
+Automatically created from "patches.kernel.org/patch-3.17.1" by 
xen-port-patches.py
+
+--- head.orig/arch/x86/include/asm/irq_work.h  2014-10-17 13:49:30.000000000 
+0200
++++ head/arch/x86/include/asm/irq_work.h       2014-10-17 14:18:08.000000000 
+0200
+@@ -5,7 +5,13 @@
+ 
+ static inline bool arch_irq_work_has_interrupt(void)
+ {
++#ifndef CONFIG_XEN
+       return cpu_has_apic;
++#elif defined(CONFIG_SMP)
++      return 1;
++#else
++      return 0;
++#endif
+ }
+ 
+ #endif /* _ASM_IRQ_WORK_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen3-patch-3.5 
new/patches.xen/xen3-patch-3.5
--- old/patches.xen/xen3-patch-3.5      2014-10-07 14:29:50.000000000 +0200
+++ new/patches.xen/xen3-patch-3.5      2014-10-17 16:23:47.000000000 +0200
@@ -71,7 +71,7 @@
        orl     $TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET)
        testl   
$_TIF_WORK_SYSCALL_ENTRY,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET)
        jnz   cstar_tracesys
---- head.orig/arch/x86/include/asm/io_apic.h   2014-09-16 08:43:48.000000000 
+0200
+--- head.orig/arch/x86/include/asm/io_apic.h   2014-10-13 11:53:33.000000000 
+0200
 +++ head/arch/x86/include/asm/io_apic.h        2014-09-16 09:37:58.000000000 
+0200
 @@ -200,6 +200,7 @@ extern void mp_save_irq(struct mpc_intsr
  
@@ -524,7 +524,7 @@
  
  #endif
 --- head.orig/arch/x86/kernel/apic/io_apic-xen.c       2014-09-03 
08:51:34.000000000 +0200
-+++ head/arch/x86/kernel/apic/io_apic-xen.c    2012-06-15 13:23:22.000000000 
+0200
++++ head/arch/x86/kernel/apic/io_apic-xen.c    2014-10-13 12:04:43.000000000 
+0200
 @@ -31,6 +31,7 @@
  #include <linux/acpi.h>
  #include <linux/module.h>
@@ -928,11 +928,10 @@
  asmlinkage void smp_irq_move_cleanup_interrupt(void)
  {
        unsigned vector, me;
-@@ -2635,6 +2453,31 @@ static void ack_apic_edge(struct irq_dat
+@@ -2635,6 +2453,29 @@ static void ack_apic_edge(struct irq_dat
  atomic_t irq_mis_count;
  
  #ifdef CONFIG_GENERIC_PENDING_IRQ
-+#ifndef CONFIG_XEN
 +static bool io_apic_level_ack_pending(struct irq_cfg *cfg)
 +{
 +      struct irq_pin_list *entry;
@@ -955,12 +954,11 @@
 +
 +      return false;
 +}
-+#endif
 +
  static inline bool ioapic_irqd_mask(struct irq_data *data, struct irq_cfg 
*cfg)
  {
        /* If we are moving the irq we need to mask it */
-@@ -2782,7 +2625,7 @@ static void irq_remap_modify_chip_defaul
+@@ -2782,7 +2623,7 @@ static void irq_remap_modify_chip_defaul
        chip->irq_eoi = ir_ack_apic_level;
  
  #ifdef CONFIG_SMP
@@ -969,7 +967,7 @@
  #endif
  }
  #endif /* CONFIG_IRQ_REMAP */
-@@ -3001,7 +2844,7 @@ static inline void __init check_timer(vo
+@@ -3001,7 +2842,7 @@ static inline void __init check_timer(vo
         * 8259A.
         */
        if (pin1 == -1) {
@@ -978,7 +976,7 @@
                        panic("BIOS bug: timer not connected to IO-APIC");
                pin1 = pin2;
                apic1 = apic2;
-@@ -3034,7 +2877,7 @@ static inline void __init check_timer(vo
+@@ -3034,7 +2875,7 @@ static inline void __init check_timer(vo
                                clear_IO_APIC_pin(0, pin1);
                        goto out;
                }
@@ -987,7 +985,7 @@
                        panic("timer doesn't work through Interrupt-remapped 
IO-APIC");
                local_irq_disable();
                clear_IO_APIC_pin(apic1, pin1);
-@@ -3272,7 +3115,7 @@ void destroy_irq(unsigned int irq)
+@@ -3272,7 +3113,7 @@ void destroy_irq(unsigned int irq)
        irq_set_status_flags(irq, IRQ_NOREQUEST|IRQ_NOPROBE);
  
        if (irq_remapped(cfg))
@@ -996,7 +994,7 @@
        raw_spin_lock_irqsave(&vector_lock, flags);
        __clear_irq_vector(irq, cfg);
        raw_spin_unlock_irqrestore(&vector_lock, flags);
-@@ -3302,54 +3145,34 @@ static int msi_compose_msg(struct pci_de
+@@ -3302,54 +3143,34 @@ static int msi_compose_msg(struct pci_de
        dest = apic->cpu_mask_to_apicid_and(cfg->domain, apic->target_cpus());
  
        if (irq_remapped(cfg)) {
@@ -1076,7 +1074,7 @@
        return err;
  }
  
-@@ -3392,33 +3215,6 @@ static struct irq_chip msi_chip = {
+@@ -3392,33 +3213,6 @@ static struct irq_chip msi_chip = {
        .irq_retrigger          = ioapic_retrigger_irq,
  };
  
@@ -1110,7 +1108,7 @@
  static int setup_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int 
irq)
  {
        struct irq_chip *chip = &msi_chip;
-@@ -3449,7 +3245,6 @@ int native_setup_msi_irqs(struct pci_dev
+@@ -3449,7 +3243,6 @@ int native_setup_msi_irqs(struct pci_dev
        int node, ret, sub_handle, index = 0;
        unsigned int irq, irq_want;
        struct msi_desc *msidesc;
@@ -1118,7 +1116,7 @@
  
        /* x86 doesn't support multiple MSI yet */
        if (type == PCI_CAP_ID_MSI && nvec > 1)
-@@ -3463,7 +3258,7 @@ int native_setup_msi_irqs(struct pci_dev
+@@ -3463,7 +3256,7 @@ int native_setup_msi_irqs(struct pci_dev
                if (irq == 0)
                        return -1;
                irq_want = irq + 1;
@@ -1127,7 +1125,7 @@
                        goto no_ir;
  
                if (!sub_handle) {
-@@ -3471,23 +3266,16 @@ int native_setup_msi_irqs(struct pci_dev
+@@ -3471,23 +3264,16 @@ int native_setup_msi_irqs(struct pci_dev
                         * allocate the consecutive block of IRTE's
                         * for 'nvec'
                         */
@@ -1155,7 +1153,7 @@
                }
  no_ir:
                ret = setup_msi_irq(dev, msidesc, irq);
-@@ -3605,15 +3393,8 @@ int arch_setup_hpet_msi(unsigned int irq
+@@ -3605,15 +3391,8 @@ int arch_setup_hpet_msi(unsigned int irq
        struct msi_msg msg;
        int ret;
  
@@ -1173,7 +1171,7 @@
                        return -1;
        }
  
-@@ -4006,8 +3787,8 @@ void __init setup_ioapic_dest(void)
+@@ -4006,8 +3785,8 @@ void __init setup_ioapic_dest(void)
                else
                        mask = apic->target_cpus();
  
@@ -1184,7 +1182,7 @@
                else
                        ioapic_set_affinity(idata, mask, false);
        }
-@@ -4049,12 +3830,7 @@ static struct resource * __init ioapic_s
+@@ -4049,12 +3828,7 @@ static struct resource * __init ioapic_s
        return res;
  }
  
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen3-patch-3.6 
new/patches.xen/xen3-patch-3.6
--- old/patches.xen/xen3-patch-3.6      2014-10-07 14:29:50.000000000 +0200
+++ new/patches.xen/xen3-patch-3.6      2014-10-17 16:23:47.000000000 +0200
@@ -208,7 +208,7 @@
 -}
 -
  #endif /* _ASM_X86_TLBFLUSH_H */
---- head.orig/arch/x86/kernel/apic/io_apic-xen.c       2012-06-15 
13:23:22.000000000 +0200
+--- head.orig/arch/x86/kernel/apic/io_apic-xen.c       2014-10-13 
12:04:43.000000000 +0200
 +++ head/arch/x86/kernel/apic/io_apic-xen.c    2012-09-05 15:48:34.000000000 
+0200
 @@ -498,8 +498,8 @@ static int __add_pin_to_irq_node(struct 
  
@@ -688,7 +688,7 @@
  static void ack_apic_edge(struct irq_data *data)
  {
        irq_complete_move(data->chip_data);
-@@ -2624,9 +2661,7 @@ static void irq_remap_modify_chip_defaul
+@@ -2622,9 +2659,7 @@ static void irq_remap_modify_chip_defaul
        chip->irq_ack = ir_ack_apic_edge;
        chip->irq_eoi = ir_ack_apic_level;
  
@@ -698,7 +698,7 @@
  }
  #endif /* CONFIG_IRQ_REMAP */
  
-@@ -2637,9 +2672,7 @@ static struct irq_chip ioapic_chip __rea
+@@ -2635,9 +2670,7 @@ static struct irq_chip ioapic_chip __rea
        .irq_unmask             = unmask_ioapic_irq,
        .irq_ack                = ack_apic_edge,
        .irq_eoi                = ack_apic_level,
@@ -708,7 +708,7 @@
        .irq_retrigger          = ioapic_retrigger_irq,
  };
  #endif /* !CONFIG_XEN */
-@@ -3142,7 +3175,10 @@ static int msi_compose_msg(struct pci_de
+@@ -3140,7 +3173,10 @@ static int msi_compose_msg(struct pci_de
        if (err)
                return err;
  
@@ -720,7 +720,7 @@
  
        if (irq_remapped(cfg)) {
                compose_remapped_msi_msg(pdev, irq, dest, msg, hpet_id);
-@@ -3176,7 +3212,6 @@ static int msi_compose_msg(struct pci_de
+@@ -3174,7 +3210,6 @@ static int msi_compose_msg(struct pci_de
        return err;
  }
  
@@ -728,7 +728,7 @@
  static int
  msi_set_affinity(struct irq_data *data, const struct cpumask *mask, bool 
force)
  {
-@@ -3196,9 +3231,8 @@ msi_set_affinity(struct irq_data *data, 
+@@ -3194,9 +3229,8 @@ msi_set_affinity(struct irq_data *data, 
  
        __write_msi_msg(data->msi_desc, &msg);
  
@@ -739,7 +739,7 @@
  
  /*
   * IRQ Chip for MSI PCI/PCI-X/PCI-Express Devices,
-@@ -3209,9 +3243,7 @@ static struct irq_chip msi_chip = {
+@@ -3207,9 +3241,7 @@ static struct irq_chip msi_chip = {
        .irq_unmask             = unmask_msi_irq,
        .irq_mask               = mask_msi_irq,
        .irq_ack                = ack_apic_edge,
@@ -749,7 +749,7 @@
        .irq_retrigger          = ioapic_retrigger_irq,
  };
  
-@@ -3296,7 +3328,6 @@ void native_teardown_msi_irq(unsigned in
+@@ -3294,7 +3326,6 @@ void native_teardown_msi_irq(unsigned in
  }
  
  #ifdef CONFIG_DMAR_TABLE
@@ -757,7 +757,7 @@
  static int
  dmar_msi_set_affinity(struct irq_data *data, const struct cpumask *mask,
                      bool force)
-@@ -3318,19 +3349,15 @@ dmar_msi_set_affinity(struct irq_data *d
+@@ -3316,19 +3347,15 @@ dmar_msi_set_affinity(struct irq_data *d
  
        dmar_msi_write(irq, &msg);
  
@@ -778,7 +778,7 @@
        .irq_retrigger          = ioapic_retrigger_irq,
  };
  
-@@ -3351,7 +3378,6 @@ int arch_setup_dmar_msi(unsigned int irq
+@@ -3349,7 +3376,6 @@ int arch_setup_dmar_msi(unsigned int irq
  
  #ifdef CONFIG_HPET_TIMER
  
@@ -786,7 +786,7 @@
  static int hpet_msi_set_affinity(struct irq_data *data,
                                 const struct cpumask *mask, bool force)
  {
-@@ -3371,19 +3397,15 @@ static int hpet_msi_set_affinity(struct 
+@@ -3369,19 +3395,15 @@ static int hpet_msi_set_affinity(struct 
  
        hpet_msi_write(data->handler_data, &msg);
  
@@ -807,7 +807,7 @@
        .irq_retrigger = ioapic_retrigger_irq,
  };
  
-@@ -3418,8 +3440,6 @@ int arch_setup_hpet_msi(unsigned int irq
+@@ -3416,8 +3438,6 @@ int arch_setup_hpet_msi(unsigned int irq
   */
  #ifdef CONFIG_HT_IRQ
  
@@ -816,7 +816,7 @@
  static void target_ht_irq(unsigned int irq, unsigned int dest, u8 vector)
  {
        struct ht_irq_msg msg;
-@@ -3444,25 +3464,23 @@ ht_set_affinity(struct irq_data *data, c
+@@ -3442,25 +3462,23 @@ ht_set_affinity(struct irq_data *data, c
                return -1;
  
        target_ht_irq(data->irq, dest, cfg->vector);
@@ -845,7 +845,7 @@
        int err;
  
        if (disable_apic)
-@@ -3470,36 +3488,37 @@ int arch_setup_ht_irq(unsigned int irq, 
+@@ -3468,36 +3486,37 @@ int arch_setup_ht_irq(unsigned int irq, 
  
        cfg = irq_cfg(irq);
        err = assign_irq_vector(irq, cfg, apic->target_cpus());
@@ -910,7 +910,7 @@
  }
  #endif /* CONFIG_HT_IRQ */
  
-@@ -3677,7 +3696,8 @@ static int __init io_apic_get_unique_id(
+@@ -3675,7 +3694,8 @@ static int __init io_apic_get_unique_id(
  
                /* Sanity check */
                if (reg_00.bits.ID != apic_id) {
@@ -1781,7 +1781,7 @@
  typedef struct xenpf_cpu_ol xenpf_cpu_ol_t;
  DEFINE_XEN_GUEST_HANDLE(xenpf_cpu_ol_t);
  
---- head.orig/include/xen/interface/xen-mca.h  2014-09-03 08:43:19.000000000 
+0200
+--- head.orig/include/xen/interface/xen-mca.h  2014-10-13 11:53:33.000000000 
+0200
 +++ head/include/xen/interface/xen-mca.h       2012-08-21 17:41:59.000000000 
+0200
 @@ -272,7 +272,7 @@ struct xen_mc_fetch {
        uint64_t fetch_id;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen3-patch-3.8 
new/patches.xen/xen3-patch-3.8
--- old/patches.xen/xen3-patch-3.8      2014-10-07 14:29:50.000000000 +0200
+++ new/patches.xen/xen3-patch-3.8      2014-10-17 16:23:47.000000000 +0200
@@ -7,7 +7,7 @@
 Automatically created from "patch-3.8" by xen-port-patches.py
 Acked-by: [email protected]
 
---- head.orig/Documentation/filesystems/proc.txt       2014-10-05 
21:23:04.000000000 +0200
+--- head.orig/Documentation/filesystems/proc.txt       2014-10-13 
11:53:31.000000000 +0200
 +++ head/Documentation/filesystems/proc.txt    2013-12-03 08:31:16.000000000 
+0100
 @@ -464,6 +464,7 @@ manner. The codes are the following:
      mm  - mixed map area
@@ -351,7 +351,7 @@
        raw_spin_unlock_irqrestore(&vector_lock, flags);
  
        return 1;
-@@ -3419,8 +3407,9 @@ int arch_setup_hpet_msi(unsigned int irq
+@@ -3417,8 +3405,9 @@ int arch_setup_hpet_msi(unsigned int irq
        int ret;
  
        if (irq_remapping_enabled) {
@@ -811,7 +811,7 @@
        }
  #endif
  }
---- head.orig/arch/x86/kernel/topology.c       2014-01-20 03:40:07.000000000 
+0100
+--- head.orig/arch/x86/kernel/topology.c       2014-10-13 11:53:31.000000000 
+0200
 +++ head/arch/x86/kernel/topology.c    2013-12-03 08:31:51.000000000 +0100
 @@ -37,7 +37,9 @@ static DEFINE_PER_CPU(struct x86_cpu, cp
  
@@ -1189,7 +1189,7 @@
                }
        }
  
---- head.orig/arch/x86/pci/common.c    2014-06-08 20:19:54.000000000 +0200
+--- head.orig/arch/x86/pci/common.c    2014-10-13 11:53:31.000000000 +0200
 +++ head/arch/x86/pci/common.c 2013-06-20 15:31:28.000000000 +0200
 @@ -625,6 +625,7 @@ unsigned int pcibios_assign_all_busses(v
  
@@ -1643,7 +1643,7 @@
  #endif
  xenbus_init(void)
  {
---- head.orig/fs/proc/task_mmu.c       2014-10-07 11:50:24.000000000 +0200
+--- head.orig/fs/proc/task_mmu.c       2014-10-13 11:53:31.000000000 +0200
 +++ head/fs/proc/task_mmu.c    2013-12-03 08:33:41.000000000 +0100
 @@ -574,8 +574,12 @@ static void show_smap_vma_flags(struct s
                [ilog2(VM_SOFTDIRTY)]   = "sd",
@@ -1658,7 +1658,7 @@
                [ilog2(VM_MERGEABLE)]   = "mg",
        };
        size_t i;
---- head.orig/include/linux/clocksource.h      2014-10-05 21:23:04.000000000 
+0200
+--- head.orig/include/linux/clocksource.h      2014-10-13 11:53:31.000000000 
+0200
 +++ head/include/linux/clocksource.h   2013-05-14 08:46:48.000000000 +0200
 @@ -16,7 +16,9 @@
  #include <linux/timer.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.xen/xen3-patch-3.9 
new/patches.xen/xen3-patch-3.9
--- old/patches.xen/xen3-patch-3.9      2014-10-07 14:29:50.000000000 +0200
+++ new/patches.xen/xen3-patch-3.9      2014-10-17 16:23:47.000000000 +0200
@@ -46,7 +46,7 @@
  
        ALIGN
  GLOBAL(stub32_clone)
---- head.orig/arch/x86/include/asm/efi.h       2014-08-28 14:30:49.000000000 
+0200
+--- head.orig/arch/x86/include/asm/efi.h       2014-10-13 11:53:30.000000000 
+0200
 +++ head/arch/x86/include/asm/efi.h    2014-04-30 11:28:12.000000000 +0200
 @@ -121,7 +121,11 @@ extern u64 efi_setup;
  
@@ -77,7 +77,7 @@
  
  static inline unsigned long __phys_addr_nodebug(unsigned long x)
  {
---- head.orig/arch/x86/include/asm/processor.h 2014-08-28 14:30:49.000000000 
+0200
+--- head.orig/arch/x86/include/asm/processor.h 2014-10-13 11:53:30.000000000 
+0200
 +++ head/arch/x86/include/asm/processor.h      2013-12-03 08:34:25.000000000 
+0100
 @@ -974,7 +974,7 @@ extern unsigned long arch_align_stack(un
  extern void free_init_pages(char *what, unsigned long begin, unsigned long 
end);
@@ -721,7 +721,7 @@
  {
        unsigned int dest, irq = data->irq;
        unsigned long flags;
-@@ -2629,33 +2600,6 @@ static void ack_apic_level(struct irq_da
+@@ -2627,33 +2598,6 @@ static void ack_apic_level(struct irq_da
        ioapic_irqd_unmask(data, cfg, masked);
  }
  
@@ -755,7 +755,7 @@
  static struct irq_chip ioapic_chip __read_mostly = {
        .name                   = "IO-APIC",
        .irq_startup            = startup_ioapic_irq,
-@@ -2663,7 +2607,7 @@ static struct irq_chip ioapic_chip __rea
+@@ -2661,7 +2605,7 @@ static struct irq_chip ioapic_chip __rea
        .irq_unmask             = unmask_ioapic_irq,
        .irq_ack                = ack_apic_edge,
        .irq_eoi                = ack_apic_level,
@@ -764,7 +764,7 @@
        .irq_retrigger          = ioapic_retrigger_irq,
  };
  #endif /* !CONFIG_XEN */
-@@ -2868,8 +2812,7 @@ static inline void __init check_timer(vo
+@@ -2866,8 +2810,7 @@ static inline void __init check_timer(vo
         * 8259A.
         */
        if (pin1 == -1) {
@@ -774,7 +774,7 @@
                pin1 = pin2;
                apic1 = apic2;
                no_pin1 = 1;
-@@ -2901,8 +2844,7 @@ static inline void __init check_timer(vo
+@@ -2899,8 +2842,7 @@ static inline void __init check_timer(vo
                                clear_IO_APIC_pin(0, pin1);
                        goto out;
                }
@@ -784,7 +784,7 @@
                local_irq_disable();
                clear_IO_APIC_pin(apic1, pin1);
                if (!no_pin1)
-@@ -3083,37 +3025,58 @@ device_initcall(ioapic_init_ops);
+@@ -3081,37 +3023,58 @@ device_initcall(ioapic_init_ops);
  /*
   * Dynamic irq allocate and deallocation
   */
@@ -861,7 +861,7 @@
  }
  
  int create_irq(void)
-@@ -3138,49 +3101,35 @@ void destroy_irq(unsigned int irq)
+@@ -3136,49 +3099,35 @@ void destroy_irq(unsigned int irq)
  
        irq_set_status_flags(irq, IRQ_NOREQUEST|IRQ_NOPROBE);
  
@@ -927,7 +927,7 @@
  
        msg->address_lo =
                MSI_ADDR_BASE_LO |
-@@ -3199,8 +3148,32 @@ static int msi_compose_msg(struct pci_de
+@@ -3197,8 +3146,32 @@ static int msi_compose_msg(struct pci_de
                        MSI_DATA_DELIVERY_FIXED:
                        MSI_DATA_DELIVERY_LOWPRI) |
                MSI_DATA_VECTOR(cfg->vector);
@@ -961,7 +961,7 @@
  }
  
  static int
-@@ -3238,23 +3211,28 @@ static struct irq_chip msi_chip = {
+@@ -3236,23 +3209,28 @@ static struct irq_chip msi_chip = {
        .irq_retrigger          = ioapic_retrigger_irq,
  };
  
@@ -997,7 +997,7 @@
  
        irq_set_chip_and_handler_name(irq, chip, handle_edge_irq, "edge");
  
-@@ -3265,46 +3243,26 @@ static int setup_msi_irq(struct pci_dev 
+@@ -3263,46 +3241,26 @@ static int setup_msi_irq(struct pci_dev 
  
  int native_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
  {
@@ -1049,7 +1049,7 @@
        }
        return 0;
  
-@@ -3400,26 +3358,19 @@ static struct irq_chip hpet_msi_type = {
+@@ -3398,26 +3356,19 @@ static struct irq_chip hpet_msi_type = {
        .irq_retrigger = ioapic_retrigger_irq,
  };
  
@@ -1078,7 +1078,7 @@
  
        irq_set_chip_and_handler_name(irq, chip, handle_edge_irq, "edge");
        return 0;
-@@ -3427,6 +3378,7 @@ int arch_setup_hpet_msi(unsigned int irq
+@@ -3425,6 +3376,7 @@ int arch_setup_hpet_msi(unsigned int irq
  #endif
  
  #endif /* CONFIG_PCI_MSI */
@@ -1086,7 +1086,7 @@
  /*
   * Hypertransport interrupt support
   */
-@@ -3799,10 +3751,7 @@ void __init setup_ioapic_dest(void)
+@@ -3797,10 +3749,7 @@ void __init setup_ioapic_dest(void)
                else
                        mask = apic->target_cpus();
  
@@ -1642,7 +1642,7 @@
 -
        start_kernel();
  }
---- head.orig/arch/x86/kernel/head_64.S        2014-03-11 09:58:27.000000000 
+0100
+--- head.orig/arch/x86/kernel/head_64.S        2014-10-13 11:53:30.000000000 
+0200
 +++ head/arch/x86/kernel/head_64.S     2013-06-04 13:59:45.000000000 +0200
 @@ -469,7 +469,7 @@ NEXT_PAGE(early_dynamic_pgts)
  
@@ -1692,7 +1692,7 @@
  {
        struct thread_struct *t = &current->thread;
        unsigned int old = t->iopl >> 12;
---- head.orig/arch/x86/kernel/process.c        2014-08-28 14:30:50.000000000 
+0200
+--- head.orig/arch/x86/kernel/process.c        2014-10-13 11:53:30.000000000 
+0200
 +++ head/arch/x86/kernel/process.c     2013-07-02 09:49:24.000000000 +0200
 @@ -315,7 +315,7 @@ void default_idle(void)
  EXPORT_SYMBOL(default_idle);
@@ -4572,7 +4572,7 @@
  void __init early_iounmap(void __iomem *addr, unsigned long size)
  {
        unsigned long virt_addr;
---- head.orig/arch/x86/mm/mm_internal.h        2013-04-29 02:36:01.000000000 
+0200
+--- head.orig/arch/x86/mm/mm_internal.h        2014-10-13 11:53:30.000000000 
+0200
 +++ head/arch/x86/mm/mm_internal.h     2014-02-28 15:02:10.000000000 +0100
 @@ -12,8 +12,15 @@ void early_ioremap_page_table_range_init
  unsigned long kernel_physical_mapping_init(unsigned long start,
@@ -5045,7 +5045,7 @@
        { 0x36, ANY, 100000 },  /* Atom Cedar Trail/Cedarview (N2xxx, D2xxx) */
  };
  
---- head.orig/drivers/misc/vmw_vmci/Kconfig    2013-07-01 00:13:29.000000000 
+0200
+--- head.orig/drivers/misc/vmw_vmci/Kconfig    2014-10-13 11:53:30.000000000 
+0200
 +++ head/drivers/misc/vmw_vmci/Kconfig 2013-06-04 13:59:32.000000000 +0200
 @@ -4,7 +4,7 @@
  
@@ -5056,7 +5056,7 @@
        help
          This is VMware's Virtual Machine Communication Interface.  It enables
          high-speed communication between host and guest in a virtual
---- head.orig/drivers/pci/msi-xen.c    2014-08-29 18:20:18.000000000 +0200
+--- head.orig/drivers/pci/msi-xen.c    2014-10-06 13:19:54.000000000 +0200
 +++ head/drivers/pci/msi-xen.c 2014-08-29 18:20:52.000000000 +0200
 @@ -28,12 +28,13 @@
  #include "pci.h"
@@ -5326,7 +5326,7 @@
  }
  
  /**
---- head.orig/drivers/thermal/Kconfig  2014-08-28 14:31:20.000000000 +0200
+--- head.orig/drivers/thermal/Kconfig  2014-10-13 11:53:30.000000000 +0200
 +++ head/drivers/thermal/Kconfig       2013-09-26 13:24:10.000000000 +0200
 @@ -189,7 +189,7 @@ config DB8500_CPUFREQ_COOLING
  config INTEL_POWERCLAMP

++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.mZtszF/_old  2014-11-11 09:59:35.000000000 +0100
+++ /var/tmp/diff_new_pack.mZtszF/_new  2014-11-11 09:59:35.000000000 +0100
@@ -28,13 +28,13 @@
        # Send separate patches upstream if you find a problem...
        ########################################################
        patches.kernel.org/patch-3.17.1
+       patches.kernel.org/patch-3.17.1-2
 
         ########################################################
         # Build fixes that apply to the vanilla kernel too.
        # Patches in patches.rpmify are applied to both -vanilla
        # and patched flavors.
         ########################################################
-       patches.rpmify/chipidea-clean-up-dependencies
        patches.rpmify/lustre-lloop-dont-change-logical-size
 
         ########################################################
@@ -153,7 +153,6 @@
         ########################################################
         # ARM
         ########################################################
-       patches.arch/cubox-configuration.patch
        patches.arch/arm-OMAP-Fix-missing-usb.h-include.patch
 
        # Compile fix for Xen on ARM with our Xen patches applied
@@ -249,7 +248,6 @@
        ########################################################
        patches.suse/btrfs-use-correct-device-for-maps.patch
        patches.suse/btrfs-check-index-in-extent_buffer_page
-       
patches.fixes/btrfs-0001-revert-race-free-update-of-commit-root-for-ro-.patch
 
        ########################################################
        # Reiserfs Patches
@@ -342,6 +340,7 @@
        ########################################################
        # video4linux
        ########################################################
+       patches.fixes/media-uvc-Fix-destruction-order-in-uvc_delete
 
        ########################################################
        # Network
@@ -352,6 +351,7 @@
        # Wireless Networking
        ########################################################
        patches.suse/b43-missing-firmware-info.patch
+       patches.fixes/iwlwifi-dvm-drop-non-VO-frames-when-flushing
 
        ########################################################
        # ISDN
@@ -383,7 +383,9 @@
        ########################################################
 #      patches.suse/SUSE-bootsplash
 #      patches.suse/SUSE-bootsplash-mgadrmfb-workaround
-       patches.fixes/input-add-acer-aspire-5710-to-nomux.patch
+       
patches.drivers/Input-psmouse-add-psmouse_matches_pnp_id-helper-func.patch
+       
patches.drivers/Input-psmouse-add-support-for-detecting-FocalTech-PS.patch
+       patches.drivers/Input-synaptics-add-min-max-quirk-for-Lenovo-T440s
 
        ##########################################################
        # Sound
@@ -400,6 +402,8 @@
        # Needs updating WRT d27769ec (block: add GENHD_FL_NO_PART_SCAN)
 +hare  patches.suse/no-partition-scan
 
+       patches.drivers/quirk-for-Lenovo-Yoga-3-no-rfkill-switch
+
        ########################################################
        # Other drivers we have added to the tree
        ########################################################
@@ -577,6 +581,7 @@
        patches.xen/xen3-patch-3.15
        patches.xen/xen3-patch-3.16
        patches.xen/xen3-patch-3.17
+       patches.xen/xen3-patch-3.17.1
 
        # ports of other patches
        patches.xen/xen3-stack-unwind

++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.mZtszF/_old  2014-11-11 09:59:35.000000000 +0100
+++ /var/tmp/diff_new_pack.mZtszF/_new  2014-11-11 09:59:35.000000000 +0100
@@ -1,3 +1,3 @@
-2014-10-19 01:36:23 +0200
-GIT Revision: 5c4d099465293cd2ef36a6336a5bea79c4e919ef
+2014-11-07 16:18:21 +0100
+GIT Revision: bf631743e009966235fe9ce6a6e3d30b3c0a1438
 GIT Branch: stable

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to