]>
Commit | Line | Data |
---|---|---|
2cb7cef9 BS |
1 | From: Hannes Reinecke <hare@suse.de> |
2 | Subject: Disable ETR/STP on S/390 | |
3 | References: bnc#450468 | |
4 | ||
5 | STP/ETR support need an update to the in-kernel workqueue support | |
6 | to be avoid running into a deadlock. However, this update was not | |
7 | accepted for SLES11, so we should make sure to not enable ETR/STP | |
8 | support by accident. | |
9 | ||
10 | Signed-off-by: Hannes Reinecke <hare@suse.de> | |
11 | ||
12 | diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c | |
13 | index dbce49b..f171abf 100644 | |
14 | --- a/arch/s390/kernel/time.c | |
15 | +++ b/arch/s390/kernel/time.c | |
16 | @@ -383,20 +383,6 @@ static int etr_port0_online; | |
17 | static int etr_port1_online; | |
18 | static int etr_steai_available; | |
19 | ||
20 | -static int __init early_parse_etr(char *p) | |
21 | -{ | |
22 | - if (strncmp(p, "off", 3) == 0) | |
23 | - etr_port0_online = etr_port1_online = 0; | |
24 | - else if (strncmp(p, "port0", 5) == 0) | |
25 | - etr_port0_online = 1; | |
26 | - else if (strncmp(p, "port1", 5) == 0) | |
27 | - etr_port1_online = 1; | |
28 | - else if (strncmp(p, "on", 2) == 0) | |
29 | - etr_port0_online = etr_port1_online = 1; | |
30 | - return 0; | |
31 | -} | |
32 | -early_param("etr", early_parse_etr); | |
33 | - | |
34 | enum etr_event { | |
35 | ETR_EVENT_PORT0_CHANGE, | |
36 | ETR_EVENT_PORT1_CHANGE, | |
37 | @@ -1178,7 +1164,7 @@ static ssize_t etr_online_store(struct sys_device *dev, | |
38 | return count; | |
39 | } | |
40 | ||
41 | -static SYSDEV_ATTR(online, 0600, etr_online_show, etr_online_store); | |
42 | +static SYSDEV_ATTR(online, 0400, etr_online_show, etr_online_store); | |
43 | ||
44 | static ssize_t etr_stepping_control_show(struct sys_device *dev, | |
45 | struct sysdev_attribute *attr, | |
46 | @@ -1377,16 +1363,6 @@ static void stp_work_fn(struct work_struct *work); | |
47 | static DEFINE_MUTEX(stp_work_mutex); | |
48 | static DECLARE_WORK(stp_work, stp_work_fn); | |
49 | ||
50 | -static int __init early_parse_stp(char *p) | |
51 | -{ | |
52 | - if (strncmp(p, "off", 3) == 0) | |
53 | - stp_online = 0; | |
54 | - else if (strncmp(p, "on", 2) == 0) | |
55 | - stp_online = 1; | |
56 | - return 0; | |
57 | -} | |
58 | -early_param("stp", early_parse_stp); | |
59 | - | |
60 | /* | |
61 | * Reset STP attachment. | |
62 | */ | |
63 | @@ -1665,7 +1641,7 @@ static ssize_t stp_online_store(struct sysdev_class *class, | |
64 | * stp/online but attr_online already exists in this file .. | |
65 | */ | |
66 | static struct sysdev_class_attribute attr_stp_online = { | |
67 | - .attr = { .name = "online", .mode = 0600 }, | |
68 | + .attr = { .name = "online", .mode = 0400 }, | |
69 | .show = stp_online_show, | |
70 | .store = stp_online_store, | |
71 | }; |