summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/s390/block/dasd_diag.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/s390/block/dasd_diag.c')
-rw-r--r--kernel/drivers/s390/block/dasd_diag.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/kernel/drivers/s390/block/dasd_diag.c b/kernel/drivers/s390/block/dasd_diag.c
index c062f1620..277b5c8c8 100644
--- a/kernel/drivers/s390/block/dasd_diag.c
+++ b/kernel/drivers/s390/block/dasd_diag.c
@@ -21,6 +21,7 @@
#include <asm/dasd.h>
#include <asm/debug.h>
+#include <asm/diag.h>
#include <asm/ebcdic.h>
#include <asm/io.h>
#include <asm/irq.h>
@@ -66,7 +67,7 @@ static const u8 DASD_DIAG_CMS1[] = { 0xc3, 0xd4, 0xe2, 0xf1 };/* EBCDIC CMS1 */
* and function code cmd.
* In case of an exception return 3. Otherwise return result of bitwise OR of
* resulting condition code and DIAG return code. */
-static inline int dia250(void *iob, int cmd)
+static inline int __dia250(void *iob, int cmd)
{
register unsigned long reg2 asm ("2") = (unsigned long) iob;
typedef union {
@@ -89,6 +90,12 @@ static inline int dia250(void *iob, int cmd)
return rc;
}
+static inline int dia250(void *iob, int cmd)
+{
+ diag_stat_inc(DIAG_STAT_X250);
+ return __dia250(iob, cmd);
+}
+
/* Initialize block I/O to DIAG device using the specified blocksize and
* block offset. On success, return zero and set end_block to contain the
* number of blocks on the device minus the specified offset. Return non-zero