diff options
Diffstat (limited to 'drivers/s390/cio/device_fsm.c')
-rw-r--r-- | drivers/s390/cio/device_fsm.c | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/drivers/s390/cio/device_fsm.c b/drivers/s390/cio/device_fsm.c index c1c89f4fd4e3..23d12b65e5fa 100644 --- a/drivers/s390/cio/device_fsm.c +++ b/drivers/s390/cio/device_fsm.c | |||
@@ -133,7 +133,7 @@ ccw_device_cancel_halt_clear(struct ccw_device *cdev) | |||
133 | int ret; | 133 | int ret; |
134 | 134 | ||
135 | sch = to_subchannel(cdev->dev.parent); | 135 | sch = to_subchannel(cdev->dev.parent); |
136 | ret = stsch(sch->irq, &sch->schib); | 136 | ret = stsch(sch->schid, &sch->schib); |
137 | if (ret || !sch->schib.pmcw.dnv) | 137 | if (ret || !sch->schib.pmcw.dnv) |
138 | return -ENODEV; | 138 | return -ENODEV; |
139 | if (!sch->schib.pmcw.ena || sch->schib.scsw.actl == 0) | 139 | if (!sch->schib.pmcw.ena || sch->schib.scsw.actl == 0) |
@@ -231,7 +231,7 @@ ccw_device_recog_done(struct ccw_device *cdev, int state) | |||
231 | * through ssch() and the path information is up to date. | 231 | * through ssch() and the path information is up to date. |
232 | */ | 232 | */ |
233 | old_lpm = sch->lpm; | 233 | old_lpm = sch->lpm; |
234 | stsch(sch->irq, &sch->schib); | 234 | stsch(sch->schid, &sch->schib); |
235 | sch->lpm = sch->schib.pmcw.pim & | 235 | sch->lpm = sch->schib.pmcw.pim & |
236 | sch->schib.pmcw.pam & | 236 | sch->schib.pmcw.pam & |
237 | sch->schib.pmcw.pom & | 237 | sch->schib.pmcw.pom & |
@@ -257,8 +257,9 @@ ccw_device_recog_done(struct ccw_device *cdev, int state) | |||
257 | switch (state) { | 257 | switch (state) { |
258 | case DEV_STATE_NOT_OPER: | 258 | case DEV_STATE_NOT_OPER: |
259 | CIO_DEBUG(KERN_WARNING, 2, | 259 | CIO_DEBUG(KERN_WARNING, 2, |
260 | "SenseID : unknown device %04x on subchannel %04x\n", | 260 | "SenseID : unknown device %04x on subchannel " |
261 | cdev->private->devno, sch->irq); | 261 | "0.%x.%04x\n", cdev->private->devno, |
262 | sch->schid.ssid, sch->schid.sch_no); | ||
262 | break; | 263 | break; |
263 | case DEV_STATE_OFFLINE: | 264 | case DEV_STATE_OFFLINE: |
264 | if (cdev->private->state == DEV_STATE_DISCONNECTED_SENSE_ID) { | 265 | if (cdev->private->state == DEV_STATE_DISCONNECTED_SENSE_ID) { |
@@ -282,16 +283,18 @@ ccw_device_recog_done(struct ccw_device *cdev, int state) | |||
282 | return; | 283 | return; |
283 | } | 284 | } |
284 | /* Issue device info message. */ | 285 | /* Issue device info message. */ |
285 | CIO_DEBUG(KERN_INFO, 2, "SenseID : device %04x reports: " | 286 | CIO_DEBUG(KERN_INFO, 2, "SenseID : device 0.%x.%04x reports: " |
286 | "CU Type/Mod = %04X/%02X, Dev Type/Mod = " | 287 | "CU Type/Mod = %04X/%02X, Dev Type/Mod = " |
287 | "%04X/%02X\n", cdev->private->devno, | 288 | "%04X/%02X\n", |
289 | cdev->private->ssid, cdev->private->devno, | ||
288 | cdev->id.cu_type, cdev->id.cu_model, | 290 | cdev->id.cu_type, cdev->id.cu_model, |
289 | cdev->id.dev_type, cdev->id.dev_model); | 291 | cdev->id.dev_type, cdev->id.dev_model); |
290 | break; | 292 | break; |
291 | case DEV_STATE_BOXED: | 293 | case DEV_STATE_BOXED: |
292 | CIO_DEBUG(KERN_WARNING, 2, | 294 | CIO_DEBUG(KERN_WARNING, 2, |
293 | "SenseID : boxed device %04x on subchannel %04x\n", | 295 | "SenseID : boxed device %04x on subchannel " |
294 | cdev->private->devno, sch->irq); | 296 | "0.%x.%04x\n", cdev->private->devno, |
297 | sch->schid.ssid, sch->schid.sch_no); | ||
295 | break; | 298 | break; |
296 | } | 299 | } |
297 | cdev->private->state = state; | 300 | cdev->private->state = state; |
@@ -359,7 +362,7 @@ ccw_device_done(struct ccw_device *cdev, int state) | |||
359 | if (state == DEV_STATE_BOXED) | 362 | if (state == DEV_STATE_BOXED) |
360 | CIO_DEBUG(KERN_WARNING, 2, | 363 | CIO_DEBUG(KERN_WARNING, 2, |
361 | "Boxed device %04x on subchannel %04x\n", | 364 | "Boxed device %04x on subchannel %04x\n", |
362 | cdev->private->devno, sch->irq); | 365 | cdev->private->devno, sch->schid.sch_no); |
363 | 366 | ||
364 | if (cdev->private->flags.donotify) { | 367 | if (cdev->private->flags.donotify) { |
365 | cdev->private->flags.donotify = 0; | 368 | cdev->private->flags.donotify = 0; |
@@ -592,7 +595,7 @@ ccw_device_offline(struct ccw_device *cdev) | |||
592 | struct subchannel *sch; | 595 | struct subchannel *sch; |
593 | 596 | ||
594 | sch = to_subchannel(cdev->dev.parent); | 597 | sch = to_subchannel(cdev->dev.parent); |
595 | if (stsch(sch->irq, &sch->schib) || !sch->schib.pmcw.dnv) | 598 | if (stsch(sch->schid, &sch->schib) || !sch->schib.pmcw.dnv) |
596 | return -ENODEV; | 599 | return -ENODEV; |
597 | if (cdev->private->state != DEV_STATE_ONLINE) { | 600 | if (cdev->private->state != DEV_STATE_ONLINE) { |
598 | if (sch->schib.scsw.actl != 0) | 601 | if (sch->schib.scsw.actl != 0) |
@@ -711,7 +714,7 @@ ccw_device_online_verify(struct ccw_device *cdev, enum dev_event dev_event) | |||
711 | * Since we might not just be coming from an interrupt from the | 714 | * Since we might not just be coming from an interrupt from the |
712 | * subchannel we have to update the schib. | 715 | * subchannel we have to update the schib. |
713 | */ | 716 | */ |
714 | stsch(sch->irq, &sch->schib); | 717 | stsch(sch->schid, &sch->schib); |
715 | 718 | ||
716 | if (sch->schib.scsw.actl != 0 || | 719 | if (sch->schib.scsw.actl != 0 || |
717 | (cdev->private->irb.scsw.stctl & SCSW_STCTL_STATUS_PEND)) { | 720 | (cdev->private->irb.scsw.stctl & SCSW_STCTL_STATUS_PEND)) { |
@@ -923,7 +926,7 @@ ccw_device_wait4io_irq(struct ccw_device *cdev, enum dev_event dev_event) | |||
923 | 926 | ||
924 | /* Iff device is idle, reset timeout. */ | 927 | /* Iff device is idle, reset timeout. */ |
925 | sch = to_subchannel(cdev->dev.parent); | 928 | sch = to_subchannel(cdev->dev.parent); |
926 | if (!stsch(sch->irq, &sch->schib)) | 929 | if (!stsch(sch->schid, &sch->schib)) |
927 | if (sch->schib.scsw.actl == 0) | 930 | if (sch->schib.scsw.actl == 0) |
928 | ccw_device_set_timeout(cdev, 0); | 931 | ccw_device_set_timeout(cdev, 0); |
929 | /* Call the handler. */ | 932 | /* Call the handler. */ |
@@ -1035,7 +1038,7 @@ device_trigger_reprobe(struct subchannel *sch) | |||
1035 | return; | 1038 | return; |
1036 | 1039 | ||
1037 | /* Update some values. */ | 1040 | /* Update some values. */ |
1038 | if (stsch(sch->irq, &sch->schib)) | 1041 | if (stsch(sch->schid, &sch->schib)) |
1039 | return; | 1042 | return; |
1040 | 1043 | ||
1041 | /* | 1044 | /* |