--- /dev/null
+From: Hannes Reinecke <hare@suse.de>
+Subject: Disable ETR/STP on S/390
+References: bnc#450468
+
+STP/ETR support need an update to the in-kernel workqueue support
+to be avoid running into a deadlock. However, this update was not
+accepted for SLES11, so we should make sure to not enable ETR/STP
+support by accident.
+
+Signed-off-by: Hannes Reinecke <hare@suse.de>
+
+diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
+index dbce49b..f171abf 100644
+--- a/arch/s390/kernel/time.c
++++ b/arch/s390/kernel/time.c
+@@ -383,20 +383,6 @@ static int etr_port0_online;
+ static int etr_port1_online;
+ static int etr_steai_available;
+
+-static int __init early_parse_etr(char *p)
+-{
+- if (strncmp(p, "off", 3) == 0)
+- etr_port0_online = etr_port1_online = 0;
+- else if (strncmp(p, "port0", 5) == 0)
+- etr_port0_online = 1;
+- else if (strncmp(p, "port1", 5) == 0)
+- etr_port1_online = 1;
+- else if (strncmp(p, "on", 2) == 0)
+- etr_port0_online = etr_port1_online = 1;
+- return 0;
+-}
+-early_param("etr", early_parse_etr);
+-
+ enum etr_event {
+ ETR_EVENT_PORT0_CHANGE,
+ ETR_EVENT_PORT1_CHANGE,
+@@ -1178,7 +1164,7 @@ static ssize_t etr_online_store(struct sys_device *dev,
+ return count;
+ }
+
+-static SYSDEV_ATTR(online, 0600, etr_online_show, etr_online_store);
++static SYSDEV_ATTR(online, 0400, etr_online_show, etr_online_store);
+
+ static ssize_t etr_stepping_control_show(struct sys_device *dev,
+ struct sysdev_attribute *attr,
+@@ -1377,16 +1363,6 @@ static void stp_work_fn(struct work_struct *work);
+ static DEFINE_MUTEX(stp_work_mutex);
+ static DECLARE_WORK(stp_work, stp_work_fn);
+
+-static int __init early_parse_stp(char *p)
+-{
+- if (strncmp(p, "off", 3) == 0)
+- stp_online = 0;
+- else if (strncmp(p, "on", 2) == 0)
+- stp_online = 1;
+- return 0;
+-}
+-early_param("stp", early_parse_stp);
+-
+ /*
+ * Reset STP attachment.
+ */
+@@ -1665,7 +1641,7 @@ static ssize_t stp_online_store(struct sysdev_class *class,
+ * stp/online but attr_online already exists in this file ..
+ */
+ static struct sysdev_class_attribute attr_stp_online = {
+- .attr = { .name = "online", .mode = 0600 },
++ .attr = { .name = "online", .mode = 0400 },
+ .show = stp_online_show,
+ .store = stp_online_store,
+ };