aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/cio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/cio/cio.c')
-rw-r--r--drivers/s390/cio/cio.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c
index 0511fe31d049..40b2884126da 100644
--- a/drivers/s390/cio/cio.c
+++ b/drivers/s390/cio/cio.c
@@ -128,7 +128,7 @@ cio_tpi(void)
128 local_bh_disable(); 128 local_bh_disable();
129 irq_enter (); 129 irq_enter ();
130 spin_lock(sch->lock); 130 spin_lock(sch->lock);
131 memcpy (&sch->schib.scsw, &irb->scsw, sizeof (struct scsw)); 131 memcpy(&sch->schib.scsw, &irb->scsw, sizeof(union scsw));
132 if (sch->driver && sch->driver->irq) 132 if (sch->driver && sch->driver->irq)
133 sch->driver->irq(sch); 133 sch->driver->irq(sch);
134 spin_unlock(sch->lock); 134 spin_unlock(sch->lock);
@@ -202,7 +202,7 @@ cio_start_key (struct subchannel *sch, /* subchannel structure */
202 /* 202 /*
203 * initialize device status information 203 * initialize device status information
204 */ 204 */
205 sch->schib.scsw.actl |= SCSW_ACTL_START_PEND; 205 sch->schib.scsw.cmd.actl |= SCSW_ACTL_START_PEND;
206 return 0; 206 return 0;
207 case 1: /* status pending */ 207 case 1: /* status pending */
208 case 2: /* busy */ 208 case 2: /* busy */
@@ -237,7 +237,7 @@ cio_resume (struct subchannel *sch)
237 237
238 switch (ccode) { 238 switch (ccode) {
239 case 0: 239 case 0:
240 sch->schib.scsw.actl |= SCSW_ACTL_RESUME_PEND; 240 sch->schib.scsw.cmd.actl |= SCSW_ACTL_RESUME_PEND;
241 return 0; 241 return 0;
242 case 1: 242 case 1:
243 return -EBUSY; 243 return -EBUSY;
@@ -277,7 +277,7 @@ cio_halt(struct subchannel *sch)
277 277
278 switch (ccode) { 278 switch (ccode) {
279 case 0: 279 case 0:
280 sch->schib.scsw.actl |= SCSW_ACTL_HALT_PEND; 280 sch->schib.scsw.cmd.actl |= SCSW_ACTL_HALT_PEND;
281 return 0; 281 return 0;
282 case 1: /* status pending */ 282 case 1: /* status pending */
283 case 2: /* busy */ 283 case 2: /* busy */
@@ -312,7 +312,7 @@ cio_clear(struct subchannel *sch)
312 312
313 switch (ccode) { 313 switch (ccode) {
314 case 0: 314 case 0:
315 sch->schib.scsw.actl |= SCSW_ACTL_CLEAR_PEND; 315 sch->schib.scsw.cmd.actl |= SCSW_ACTL_CLEAR_PEND;
316 return 0; 316 return 0;
317 default: /* device not operational */ 317 default: /* device not operational */
318 return -ENODEV; 318 return -ENODEV;
@@ -458,7 +458,7 @@ int cio_disable_subchannel(struct subchannel *sch)
458 if (ccode == 3) /* Not operational. */ 458 if (ccode == 3) /* Not operational. */
459 return -ENODEV; 459 return -ENODEV;
460 460
461 if (sch->schib.scsw.actl != 0) 461 if (scsw_actl(&sch->schib.scsw) != 0)
462 /* 462 /*
463 * the disable function must not be called while there are 463 * the disable function must not be called while there are
464 * requests pending for completion ! 464 * requests pending for completion !
@@ -708,7 +708,7 @@ void wait_cons_dev(void)
708 if (!cio_tpi()) 708 if (!cio_tpi())
709 cpu_relax(); 709 cpu_relax();
710 spin_lock(console_subchannel.lock); 710 spin_lock(console_subchannel.lock);
711 } while (console_subchannel.schib.scsw.actl != 0); 711 } while (console_subchannel.schib.scsw.cmd.actl != 0);
712 /* 712 /*
713 * restore previous isc value 713 * restore previous isc value
714 */ 714 */