mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 09:02:00 +00:00
[S390] cio: Register/unregister subchannels only from kslowcrw.
Make sure all subchannel handling is done on the slow path workqueue so that we don't have races between an old subchannel unregistering and a new subchannel with the same name registering. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
06770a6e7d
commit
c5d4a9997b
@ -483,7 +483,7 @@ static DECLARE_WORK(css_reprobe_work, reprobe_all);
|
||||
void css_schedule_reprobe(void)
|
||||
{
|
||||
need_reprobe = 1;
|
||||
queue_work(ccw_device_work, &css_reprobe_work);
|
||||
queue_work(slow_path_wq, &css_reprobe_work);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_GPL(css_schedule_reprobe);
|
||||
|
@ -1034,7 +1034,7 @@ device_trigger_reprobe(struct subchannel *sch)
|
||||
if (sch->schib.pmcw.dev != cdev->private->dev_id.devno) {
|
||||
PREPARE_WORK(&cdev->private->kick_work,
|
||||
ccw_device_move_to_orphanage);
|
||||
queue_work(ccw_device_work, &cdev->private->kick_work);
|
||||
queue_work(slow_path_wq, &cdev->private->kick_work);
|
||||
} else
|
||||
ccw_device_start_id(cdev, 0);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user