--- /dev/null
+From 500a91571f0a5d0d3242d83802ea2fd1faccc66e Mon Sep 17 00:00:00 2001
+From: Guenter Roeck <linux@roeck-us.net>
+Date: Sat, 15 Feb 2014 17:54:06 -0800
+Subject: hwmon: (max1668) Fix writing the minimum temperature
+
+From: Guenter Roeck <linux@roeck-us.net>
+
+commit 500a91571f0a5d0d3242d83802ea2fd1faccc66e upstream.
+
+When trying to set the minimum temperature, the driver was erroneously
+writing the maximum temperature into the chip.
+
+Signed-off-by: Guenter Roeck <linux@roeck-us.net>
+Reviewed-by: Jean Delvare <jdelvare@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hwmon/max1668.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/hwmon/max1668.c
++++ b/drivers/hwmon/max1668.c
+@@ -243,7 +243,7 @@ static ssize_t set_temp_min(struct devic
+ data->temp_min[index] = SENSORS_LIMIT(temp/1000, -128, 127);
+ if (i2c_smbus_write_byte_data(client,
+ MAX1668_REG_LIML_WR(index),
+- data->temp_max[index]))
++ data->temp_min[index]))
+ count = -EIO;
+ mutex_unlock(&data->update_lock);
+
i7core_edac-fix-pci-device-reference-count.patch
acpi-video-filter-the-_bcl-table-for-duplicate-brightness-values.patch
acpi-processor-rework-processor-throttling-with-work_on_cpu.patch
+usb-serial-option-blacklist-interface-4-for-cinterion-phs8-and-pxs8.patch
+usb-ftdi_sio-add-cressi-leonardo-pid.patch
+hwmon-max1668-fix-writing-the-minimum-temperature.patch
+workqueue-ensure-task-is-valid-across-kthread_stop.patch
--- /dev/null
+From 6dbd46c849e071e6afc1e0cad489b0175bca9318 Mon Sep 17 00:00:00 2001
+From: Joerg Dorchain <joerg@dorchain.net>
+Date: Fri, 21 Feb 2014 20:29:33 +0100
+Subject: USB: ftdi_sio: add Cressi Leonardo PID
+
+From: Joerg Dorchain <joerg@dorchain.net>
+
+commit 6dbd46c849e071e6afc1e0cad489b0175bca9318 upstream.
+
+Hello,
+
+the following patch adds an entry for the PID of a Cressi Leonardo
+diving computer interface to kernel 3.13.0.
+It is detected as FT232RL.
+Works with subsurface.
+
+Signed-off-by: Joerg Dorchain <joerg@dorchain.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/ftdi_sio.c | 2 ++
+ drivers/usb/serial/ftdi_sio_ids.h | 6 ++++++
+ 2 files changed, 8 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -920,6 +920,8 @@ static struct usb_device_id id_table_com
+ /* Crucible Devices */
+ { USB_DEVICE(FTDI_VID, FTDI_CT_COMET_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_Z3X_PID) },
++ /* Cressi Devices */
++ { USB_DEVICE(FTDI_VID, FTDI_CRESSI_PID) },
+ { }, /* Optional parameter entry */
+ { } /* Terminating entry */
+ };
+--- a/drivers/usb/serial/ftdi_sio_ids.h
++++ b/drivers/usb/serial/ftdi_sio_ids.h
+@@ -1320,3 +1320,9 @@
+ * Manufacturer: Smart GSM Team
+ */
+ #define FTDI_Z3X_PID 0x0011
++
++/*
++ * Product: Cressi PC Interface
++ * Manufacturer: Cressi
++ */
++#define FTDI_CRESSI_PID 0x87d0
--- /dev/null
+From 12df84d4a80278a5b1abfec3206795291da52fc9 Mon Sep 17 00:00:00 2001
+From: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed, 12 Feb 2014 16:04:45 +0100
+Subject: USB: serial: option: blacklist interface 4 for Cinterion PHS8 and PXS8
+
+From: Aleksander Morgado <aleksander@aleksander.es>
+
+commit 12df84d4a80278a5b1abfec3206795291da52fc9 upstream.
+
+This interface is to be handled by the qmi_wwan driver.
+
+CC: Hans-Christoph Schemmel <hans-christoph.schemmel@gemalto.com>
+CC: Christian Schmiedl <christian.schmiedl@gemalto.com>
+CC: Nicolaus Colberg <nicolaus.colberg@gemalto.com>
+CC: David McCullough <david.mccullough@accelecon.com>
+Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/option.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -1546,7 +1546,8 @@ static const struct usb_device_id option
+ /* Cinterion */
+ { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EU3_E) },
+ { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EU3_P) },
+- { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PH8) },
++ { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PH8),
++ .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
+ { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_AHXX) },
+ { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PLXX),
+ .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
--- /dev/null
+From 5bdfff96c69a4d5ab9c49e60abf9e070ecd2acbb Mon Sep 17 00:00:00 2001
+From: Lai Jiangshan <laijs@cn.fujitsu.com>
+Date: Sat, 15 Feb 2014 22:02:28 +0800
+Subject: workqueue: ensure @task is valid across kthread_stop()
+
+From: Lai Jiangshan <laijs@cn.fujitsu.com>
+
+commit 5bdfff96c69a4d5ab9c49e60abf9e070ecd2acbb upstream.
+
+When a kworker should die, the kworkre is notified through WORKER_DIE
+flag instead of kthread_should_stop(). This, IIRC, is primarily to
+keep the test synchronized inside worker_pool lock. WORKER_DIE is
+first set while holding pool->lock, the lock is dropped and
+kthread_stop() is called.
+
+Unfortunately, this means that there's a slight chance that the target
+kworker may see WORKER_DIE before kthread_stop() finishes and exits
+and frees the target task before or during kthread_stop().
+
+Fix it by pinning the target task before setting WORKER_DIE and
+putting it after kthread_stop() is done.
+
+tj: Improved patch description and comment. Moved pinning above
+ WORKER_DIE for better signify what it's protecting.
+
+Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
+Signed-off-by: Tejun Heo <tj@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ kernel/workqueue.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/kernel/workqueue.c
++++ b/kernel/workqueue.c
+@@ -1469,12 +1469,19 @@ static void destroy_worker(struct worker
+ if (worker->flags & WORKER_IDLE)
+ gcwq->nr_idle--;
+
++ /*
++ * Once WORKER_DIE is set, the kworker may destroy itself at any
++ * point. Pin to ensure the task stays until we're done with it.
++ */
++ get_task_struct(worker->task);
++
+ list_del_init(&worker->entry);
+ worker->flags |= WORKER_DIE;
+
+ spin_unlock_irq(&gcwq->lock);
+
+ kthread_stop(worker->task);
++ put_task_struct(worker->task);
+ kfree(worker);
+
+ spin_lock_irq(&gcwq->lock);