diff options
| -rw-r--r-- | drivers/s390/char/monwriter.c | 2 | ||||
| -rw-r--r-- | drivers/s390/cio/cio.c | 13 |
2 files changed, 11 insertions, 4 deletions
diff --git a/drivers/s390/char/monwriter.c b/drivers/s390/char/monwriter.c index b9b0fc3f812b..cdb24f528112 100644 --- a/drivers/s390/char/monwriter.c +++ b/drivers/s390/char/monwriter.c | |||
| @@ -23,7 +23,7 @@ | |||
| 23 | #include <asm/appldata.h> | 23 | #include <asm/appldata.h> |
| 24 | #include <asm/monwriter.h> | 24 | #include <asm/monwriter.h> |
| 25 | 25 | ||
| 26 | #define MONWRITE_MAX_DATALEN 4024 | 26 | #define MONWRITE_MAX_DATALEN 4010 |
| 27 | 27 | ||
| 28 | static int mon_max_bufs = 255; | 28 | static int mon_max_bufs = 255; |
| 29 | static int mon_buf_count; | 29 | static int mon_buf_count; |
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index 3a403f195cf8..b471ac4a1bf6 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c | |||
| @@ -2,8 +2,7 @@ | |||
| 2 | * drivers/s390/cio/cio.c | 2 | * drivers/s390/cio/cio.c |
| 3 | * S/390 common I/O routines -- low level i/o calls | 3 | * S/390 common I/O routines -- low level i/o calls |
| 4 | * | 4 | * |
| 5 | * Copyright (C) 1999-2002 IBM Deutschland Entwicklung GmbH, | 5 | * Copyright (C) IBM Corp. 1999,2006 |
| 6 | * IBM Corporation | ||
| 7 | * Author(s): Ingo Adlung (adlung@de.ibm.com) | 6 | * Author(s): Ingo Adlung (adlung@de.ibm.com) |
| 8 | * Cornelia Huck (cornelia.huck@de.ibm.com) | 7 | * Cornelia Huck (cornelia.huck@de.ibm.com) |
| 9 | * Arnd Bergmann (arndb@de.ibm.com) | 8 | * Arnd Bergmann (arndb@de.ibm.com) |
| @@ -881,10 +880,18 @@ static void cio_reset_pgm_check_handler(void) | |||
| 881 | static int stsch_reset(struct subchannel_id schid, volatile struct schib *addr) | 880 | static int stsch_reset(struct subchannel_id schid, volatile struct schib *addr) |
| 882 | { | 881 | { |
| 883 | int rc; | 882 | int rc; |
| 883 | register struct subchannel_id reg1 asm ("1") = schid; | ||
| 884 | 884 | ||
| 885 | pgm_check_occured = 0; | 885 | pgm_check_occured = 0; |
| 886 | s390_reset_pgm_handler = cio_reset_pgm_check_handler; | 886 | s390_reset_pgm_handler = cio_reset_pgm_check_handler; |
| 887 | rc = stsch(schid, addr); | 887 | |
| 888 | asm volatile( | ||
| 889 | " stsch 0(%2)\n" | ||
| 890 | " ipm %0\n" | ||
| 891 | " srl %0,28" | ||
| 892 | : "=d" (rc) | ||
| 893 | : "d" (reg1), "a" (addr), "m" (*addr) : "memory", "cc"); | ||
| 894 | |||
| 888 | s390_reset_pgm_handler = NULL; | 895 | s390_reset_pgm_handler = NULL; |
| 889 | if (pgm_check_occured) | 896 | if (pgm_check_occured) |
| 890 | return -EIO; | 897 | return -EIO; |
