mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 11:19:37 +00:00
[S390] cio: allow offline processing for disconnected devices
When disconnected ccw devices are removed, the device has to be set offline, otherwise there will be side effects including a reference count imbalance. This patch modifies ccw_device_offline to work for devices in disconnecte/not operational state. ccw_device_offline is called by cio for devices which are online during device removal. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
c91ebe4961
commit
b301ea8c81
1 changed files with 7 additions and 0 deletions
|
@ -658,6 +658,13 @@ ccw_device_offline(struct ccw_device *cdev)
|
|||
{
|
||||
struct subchannel *sch;
|
||||
|
||||
/* Allow ccw_device_offline while disconnected. */
|
||||
if (cdev->private->state == DEV_STATE_DISCONNECTED ||
|
||||
cdev->private->state == DEV_STATE_NOT_OPER) {
|
||||
cdev->private->flags.donotify = 0;
|
||||
ccw_device_done(cdev, DEV_STATE_NOT_OPER);
|
||||
return 0;
|
||||
}
|
||||
if (ccw_device_is_orphan(cdev)) {
|
||||
ccw_device_done(cdev, DEV_STATE_OFFLINE);
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue