--- /dev/null
+From 47c1ffb2b6b630894e9a16442611c056ab21c057 Mon Sep 17 00:00:00 2001
+From: Rainer Koenig <Rainer.Koenig@ts.fujitsu.com>
+Date: Tue, 27 Jan 2015 15:15:11 -0800
+Subject: Input: elantech - add more Fujtisu notebooks to force crc_enabled
+
+From: Rainer Koenig <Rainer.Koenig@ts.fujitsu.com>
+
+commit 47c1ffb2b6b630894e9a16442611c056ab21c057 upstream.
+
+Add two more Fujitsu LIFEBOOK models that also ship with the Elantech
+touchpad and don't work with crc_disabled to the quirk list.
+
+Signed-off-by: Rainer Koenig <Rainer.Koenig@ts.fujitsu.com>
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/input/mouse/elantech.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+--- a/drivers/input/mouse/elantech.c
++++ b/drivers/input/mouse/elantech.c
+@@ -1097,6 +1097,8 @@ static int elantech_get_resolution_v4(st
+ * Asus UX31 0x361f00 20, 15, 0e clickpad
+ * Asus UX32VD 0x361f02 00, 15, 0e clickpad
+ * Avatar AVIU-145A2 0x361f00 ? clickpad
++ * Fujitsu LIFEBOOK E544 0x470f00 d0, 12, 09 2 hw buttons
++ * Fujitsu LIFEBOOK E554 0x570f01 40, 14, 0c 2 hw buttons
+ * Fujitsu H730 0x570f00 c0, 14, 0c 3 hw buttons (**)
+ * Gigabyte U2442 0x450f01 58, 17, 0c 2 hw buttons
+ * Lenovo L430 0x350f02 b9, 15, 0c 2 hw buttons (*)
+@@ -1475,6 +1477,20 @@ static const struct dmi_system_id elante
+ DMI_MATCH(DMI_PRODUCT_NAME, "CELSIUS H730"),
+ },
+ },
++ {
++ /* Fujitsu LIFEBOOK E554 does not work with crc_enabled == 0 */
++ .matches = {
++ DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),
++ DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK E554"),
++ },
++ },
++ {
++ /* Fujitsu LIFEBOOK E544 does not work with crc_enabled == 0 */
++ .matches = {
++ DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),
++ DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK E544"),
++ },
++ },
+ #endif
+ { }
+ };
--- /dev/null
+From 1d90d6d5522befa8efa1a7ea406be65cf865ded4 Mon Sep 17 00:00:00 2001
+From: Jochen Hein <jochen@jochen.org>
+Date: Thu, 22 Jan 2015 12:03:15 -0800
+Subject: Input: i8042 - add noloop quirk for Medion Akoya E7225 (MD98857)
+
+From: Jochen Hein <jochen@jochen.org>
+
+commit 1d90d6d5522befa8efa1a7ea406be65cf865ded4 upstream.
+
+Without this the aux port does not get detected, and consequently the touchpad
+will not work.
+
+With this patch the touchpad is detected:
+
+$ dmesg | grep -E "(SYN|i8042|serio)"
+pnp 00:03: Plug and Play ACPI device, IDs SYN1d22 PNP0f13 (active)
+i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
+serio: i8042 KBD port at 0x60,0x64 irq 1
+serio: i8042 AUX port at 0x60,0x64 irq 12
+input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
+psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd00123/0x840300/0x126800, board id: 2863, fw id: 1473085
+input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input6
+
+dmidecode excerpt for this laptop is:
+
+Handle 0x0001, DMI type 1, 27 bytes
+System Information
+ Manufacturer: Medion
+ Product Name: Akoya E7225
+ Version: 1.0
+
+Signed-off-by: Jochen Hein <jochen@jochen.org>
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/input/serio/i8042-x86ia64io.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/input/serio/i8042-x86ia64io.h
++++ b/drivers/input/serio/i8042-x86ia64io.h
+@@ -152,6 +152,14 @@ static const struct dmi_system_id __init
+ },
+ },
+ {
++ /* Medion Akoya E7225 */
++ .matches = {
++ DMI_MATCH(DMI_SYS_VENDOR, "Medion"),
++ DMI_MATCH(DMI_PRODUCT_NAME, "Akoya E7225"),
++ DMI_MATCH(DMI_PRODUCT_VERSION, "1.0"),
++ },
++ },
++ {
+ /* Blue FB5601 */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "blue"),
--- /dev/null
+From 8543cf1c247909ce85850ca6e2714adba351d6aa Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon, 19 Jan 2015 16:29:25 -0800
+Subject: Input: synaptics - adjust min/max for Lenovo ThinkPad X1 Carbon 2nd
+
+From: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 8543cf1c247909ce85850ca6e2714adba351d6aa upstream.
+
+LEN0037 found in the Lenovo ThinkPad X1 Carbon 2nd (2014 model)
+
+Reported-and-tested-by: Bjoern Olausson <bjoern@olausson.de>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/input/mouse/synaptics.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+--- a/drivers/input/mouse/synaptics.c
++++ b/drivers/input/mouse/synaptics.c
+@@ -135,8 +135,9 @@ static const struct min_max_quirk min_ma
+ 1232, 5710, 1156, 4696
+ },
+ {
+- (const char * const []){"LEN0034", "LEN0036", "LEN0039",
+- "LEN2002", "LEN2004", NULL},
++ (const char * const []){"LEN0034", "LEN0036", "LEN0037",
++ "LEN0039", "LEN2002", "LEN2004",
++ NULL},
+ 1024, 5112, 2024, 4832
+ },
+ {
+@@ -165,7 +166,7 @@ static const char * const topbuttonpad_p
+ "LEN0034", /* T431s, L440, L540, T540, W540, X1 Carbon 2nd */
+ "LEN0035", /* X240 */
+ "LEN0036", /* T440 */
+- "LEN0037",
++ "LEN0037", /* X1 Carbon 2nd */
+ "LEN0038",
+ "LEN0039", /* T440s */
+ "LEN0041",
--- /dev/null
+From 2af81d6718f5ec92b1d787e0fe79b0d3b6f78601 Mon Sep 17 00:00:00 2001
+From: Luciano Coelho <luciano.coelho@intel.com>
+Date: Wed, 21 Jan 2015 22:19:34 +0200
+Subject: mac80211: only roll back station states for WDS when suspending
+
+From: Luciano Coelho <luciano.coelho@intel.com>
+
+commit 2af81d6718f5ec92b1d787e0fe79b0d3b6f78601 upstream.
+
+In normal cases (i.e. when we are fully associated), cfg80211 takes
+care of removing all the stations before calling suspend in mac80211.
+
+But in the corner case when we suspend during authentication or
+association, mac80211 needs to roll back the station states. But we
+shouldn't roll back the station states in the suspend function,
+because this is taken care of in other parts of the code, except for
+WDS interfaces. For AP types of interfaces, cfg80211 takes care of
+disconnecting all stations before calling the driver's suspend code.
+For station interfaces, this is done in the quiesce code.
+
+For WDS interfaces we still need to do it here, so move the code into
+a new switch case for WDS.
+
+Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/mac80211/pm.c | 29 +++++++++++++++--------------
+ 1 file changed, 15 insertions(+), 14 deletions(-)
+
+--- a/net/mac80211/pm.c
++++ b/net/mac80211/pm.c
+@@ -86,20 +86,6 @@ int __ieee80211_suspend(struct ieee80211
+ }
+ }
+
+- /* tear down aggregation sessions and remove STAs */
+- mutex_lock(&local->sta_mtx);
+- list_for_each_entry(sta, &local->sta_list, list) {
+- if (sta->uploaded) {
+- enum ieee80211_sta_state state;
+-
+- state = sta->sta_state;
+- for (; state > IEEE80211_STA_NOTEXIST; state--)
+- WARN_ON(drv_sta_state(local, sta->sdata, sta,
+- state, state - 1));
+- }
+- }
+- mutex_unlock(&local->sta_mtx);
+-
+ /* remove all interfaces that were created in the driver */
+ list_for_each_entry(sdata, &local->interfaces, list) {
+ if (!ieee80211_sdata_running(sdata))
+@@ -111,6 +97,21 @@ int __ieee80211_suspend(struct ieee80211
+ case NL80211_IFTYPE_STATION:
+ ieee80211_mgd_quiesce(sdata);
+ break;
++ case NL80211_IFTYPE_WDS:
++ /* tear down aggregation sessions and remove STAs */
++ mutex_lock(&local->sta_mtx);
++ sta = sdata->u.wds.sta;
++ if (sta && sta->uploaded) {
++ enum ieee80211_sta_state state;
++
++ state = sta->sta_state;
++ for (; state > IEEE80211_STA_NOTEXIST; state--)
++ WARN_ON(drv_sta_state(local, sta->sdata,
++ sta, state,
++ state - 1));
++ }
++ mutex_unlock(&local->sta_mtx);
++ break;
+ default:
+ break;
+ }
--- /dev/null
+From 3a5c5e81d8128a9e43abc52b75dd21d3da7a0cfc Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <vanhoefm@gmail.com>
+Date: Tue, 20 Jan 2015 15:05:08 +0100
+Subject: mac80211: properly set CCK flag in radiotap
+
+From: Mathy Vanhoef <vanhoefm@gmail.com>
+
+commit 3a5c5e81d8128a9e43abc52b75dd21d3da7a0cfc upstream.
+
+Fix a regression introduced by commit a5e70697d0c4 ("mac80211: add radiotap flag
+and handling for 5/10 MHz") where the IEEE80211_CHAN_CCK channel type flag was
+incorrectly replaced by the IEEE80211_CHAN_OFDM flag. This commit fixes that by
+using the CCK flag again.
+
+Fixes: a5e70697d0c4 ("mac80211: add radiotap flag and handling for 5/10 MHz")
+Signed-off-by: Mathy Vanhoef <vanhoefm@gmail.com>
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/mac80211/rx.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/net/mac80211/rx.c
++++ b/net/mac80211/rx.c
+@@ -235,7 +235,7 @@ ieee80211_add_rx_radiotap_header(struct
+ else if (rate && rate->flags & IEEE80211_RATE_ERP_G)
+ channel_flags |= IEEE80211_CHAN_OFDM | IEEE80211_CHAN_2GHZ;
+ else if (rate)
+- channel_flags |= IEEE80211_CHAN_OFDM | IEEE80211_CHAN_2GHZ;
++ channel_flags |= IEEE80211_CHAN_CCK | IEEE80211_CHAN_2GHZ;
+ else
+ channel_flags |= IEEE80211_CHAN_2GHZ;
+ put_unaligned_le16(channel_flags, pos);
--- /dev/null
+From ee8a1a8b160a87dc3a9c81a86796aa4db85ea815 Mon Sep 17 00:00:00 2001
+From: Peng Tao <tao.peng@primarydata.com>
+Date: Tue, 20 Jan 2015 07:44:29 +0800
+Subject: nfs: fix dio deadlock when O_DIRECT flag is flipped
+
+From: Peng Tao <tao.peng@primarydata.com>
+
+commit ee8a1a8b160a87dc3a9c81a86796aa4db85ea815 upstream.
+
+We only support swap file calling nfs_direct_IO. However, application
+might be able to get to nfs_direct_IO if it toggles O_DIRECT flag
+during IO and it can deadlock because we grab inode->i_mutex in
+nfs_file_direct_write(). So return 0 for such case. Then the generic
+layer will fall back to buffer IO.
+
+Signed-off-by: Peng Tao <tao.peng@primarydata.com>
+Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/nfs/direct.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/fs/nfs/direct.c
++++ b/fs/nfs/direct.c
+@@ -212,6 +212,12 @@ static int nfs_direct_cmp_commit_data_ve
+ */
+ ssize_t nfs_direct_IO(int rw, struct kiocb *iocb, struct iov_iter *iter, loff_t pos)
+ {
++ struct inode *inode = iocb->ki_filp->f_mapping->host;
++
++ /* we only support swap file calling nfs_direct_IO */
++ if (!IS_SWAPFILE(inode))
++ return 0;
++
+ #ifndef CONFIG_NFS_SWAP
+ dprintk("NFS: nfs_direct_IO (%pD) off/no(%Ld/%lu) EINVAL\n",
+ iocb->ki_filp, (long long) pos, iter->nr_segs);
--- /dev/null
+From 3175e1dcec40fab1a444c010087f2068b6b04732 Mon Sep 17 00:00:00 2001
+From: Trond Myklebust <trond.myklebust@primarydata.com>
+Date: Wed, 21 Jan 2015 14:37:44 -0500
+Subject: NFSv4.1: Fix an Oops in nfs41_walk_client_list
+
+From: Trond Myklebust <trond.myklebust@primarydata.com>
+
+commit 3175e1dcec40fab1a444c010087f2068b6b04732 upstream.
+
+If we start state recovery on a client that failed to initialise correctly,
+then we are very likely to Oops.
+
+Reported-by: "Mkrtchyan, Tigran" <tigran.mkrtchyan@desy.de>
+Link: http://lkml.kernel.org/r/130621862.279655.1421851650684.JavaMail.zimbra@desy.de
+Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/nfs/nfs4client.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/fs/nfs/nfs4client.c
++++ b/fs/nfs/nfs4client.c
+@@ -640,7 +640,7 @@ int nfs41_walk_client_list(struct nfs_cl
+ prev = pos;
+
+ status = nfs_wait_client_init_complete(pos);
+- if (status == 0) {
++ if (pos->cl_cons_state == NFS_CS_SESSION_INITING) {
+ nfs4_schedule_lease_recovery(pos);
+ status = nfs4_wait_clnt_recover(pos);
+ }
usb-storage-scsi-blacklist-fua-on-jmicron-152d-2566-usb-sata-controller.patch
uas-add-no-report-opcodes-quirk-for-simpletech-devices-with-id-4971-8017.patch
i2c-s3c2410-fix-abba-deadlock-by-keeping-clock-prepared.patch
+input-synaptics-adjust-min-max-for-lenovo-thinkpad-x1-carbon-2nd.patch
+input-elantech-add-more-fujtisu-notebooks-to-force-crc_enabled.patch
+input-i8042-add-noloop-quirk-for-medion-akoya-e7225-md98857.patch
+nfs-fix-dio-deadlock-when-o_direct-flag-is-flipped.patch
+nfsv4.1-fix-an-oops-in-nfs41_walk_client_list.patch
+mac80211-properly-set-cck-flag-in-radiotap.patch
+mac80211-only-roll-back-station-states-for-wds-when-suspending.patch