| .. | .. |
|---|
| 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) { |
|---|