.. | .. |
---|
1385 | 1385 | enum io_sch_action { |
---|
1386 | 1386 | IO_SCH_UNREG, |
---|
1387 | 1387 | IO_SCH_ORPH_UNREG, |
---|
| 1388 | + IO_SCH_UNREG_CDEV, |
---|
1388 | 1389 | IO_SCH_ATTACH, |
---|
1389 | 1390 | IO_SCH_UNREG_ATTACH, |
---|
1390 | 1391 | IO_SCH_ORPH_ATTACH, |
---|
.. | .. |
---|
1417 | 1418 | } |
---|
1418 | 1419 | if ((sch->schib.pmcw.pam & sch->opm) == 0) { |
---|
1419 | 1420 | if (ccw_device_notify(cdev, CIO_NO_PATH) != NOTIFY_OK) |
---|
1420 | | - return IO_SCH_UNREG; |
---|
| 1421 | + return IO_SCH_UNREG_CDEV; |
---|
1421 | 1422 | return IO_SCH_DISC; |
---|
1422 | 1423 | } |
---|
1423 | 1424 | if (device_is_disconnected(cdev)) |
---|
.. | .. |
---|
1479 | 1480 | case IO_SCH_ORPH_ATTACH: |
---|
1480 | 1481 | ccw_device_set_disconnected(cdev); |
---|
1481 | 1482 | break; |
---|
| 1483 | + case IO_SCH_UNREG_CDEV: |
---|
1482 | 1484 | case IO_SCH_UNREG_ATTACH: |
---|
1483 | 1485 | case IO_SCH_UNREG: |
---|
1484 | 1486 | if (!cdev) |
---|
.. | .. |
---|
1512 | 1514 | if (rc) |
---|
1513 | 1515 | goto out; |
---|
1514 | 1516 | break; |
---|
| 1517 | + case IO_SCH_UNREG_CDEV: |
---|
1515 | 1518 | case IO_SCH_UNREG_ATTACH: |
---|
1516 | 1519 | spin_lock_irqsave(sch->lock, flags); |
---|
1517 | 1520 | if (cdev->private->flags.resuming) { |
---|