mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
zdev: Fix blocking chzdev call/udev rules with cmb_enable
Changing the cmb_enable attribute of a CCW device can cause a blocked chzdev process or udev rule. This problem occurs when the device is offline, cmb_enable is 0, and chzdev is used to set cmb_enable=1 and online=1 at the same time. The following call will block: chzdev 190d -a cmb_enable=1 online=1 The following call will generate a udev rule that will block subsequent calls to 'udevadm settle': chzdev 190d -p online=1 cmb_enable=1 Fix this by ensuring that cmb_enable is only set when the CCW device is not online. Reported-by: André Wild <wild@linux.vnet.ibm.com> Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
committed by
Jan Höppner
parent
156450f359
commit
d82f5e1f49
@@ -73,6 +73,7 @@ struct attrib ccw_attr_cmb_enable = {
|
||||
" 1: Data collection is enabled (rewrite 1 to reset data)\n",
|
||||
.rewrite = 1,
|
||||
.defval = "0",
|
||||
.order_cmp = ccw_offline_only_order_cmp,
|
||||
.accept = ACCEPT_ARRAY(ACCEPT_RANGE(0, 1)),
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user