diff options
Diffstat (limited to 'drivers/s390/block/dasd_diag.c')
-rw-r--r-- | drivers/s390/block/dasd_diag.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/s390/block/dasd_diag.c b/drivers/s390/block/dasd_diag.c index 7478423b53bb..9aa608f528eb 100644 --- a/drivers/s390/block/dasd_diag.c +++ b/drivers/s390/block/dasd_diag.c | |||
@@ -6,7 +6,7 @@ | |||
6 | * Bugreports.to..: <Linux390@de.ibm.com> | 6 | * Bugreports.to..: <Linux390@de.ibm.com> |
7 | * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 | 7 | * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 |
8 | * | 8 | * |
9 | * $Revision: 1.49 $ | 9 | * $Revision: 1.50 $ |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <linux/config.h> | 12 | #include <linux/config.h> |
@@ -67,9 +67,9 @@ static const u8 DASD_DIAG_CMS1[] = { 0xc3, 0xd4, 0xe2, 0xf1 };/* EBCDIC CMS1 */ | |||
67 | static __inline__ int | 67 | static __inline__ int |
68 | dia250(void *iob, int cmd) | 68 | dia250(void *iob, int cmd) |
69 | { | 69 | { |
70 | typedef struct { | 70 | typedef union { |
71 | char _[max(sizeof (struct dasd_diag_init_io), | 71 | struct dasd_diag_init_io init_io; |
72 | sizeof (struct dasd_diag_rw_io))]; | 72 | struct dasd_diag_rw_io rw_io; |
73 | } addr_type; | 73 | } addr_type; |
74 | int rc; | 74 | int rc; |
75 | 75 | ||
@@ -190,7 +190,7 @@ dasd_start_diag(struct dasd_ccw_req * cqr) | |||
190 | private->iob.flags = DASD_DIAG_RWFLAG_ASYNC; | 190 | private->iob.flags = DASD_DIAG_RWFLAG_ASYNC; |
191 | private->iob.block_count = dreq->block_count; | 191 | private->iob.block_count = dreq->block_count; |
192 | private->iob.interrupt_params = (addr_t) cqr; | 192 | private->iob.interrupt_params = (addr_t) cqr; |
193 | private->iob.bio_list = __pa(dreq->bio); | 193 | private->iob.bio_list = dreq->bio; |
194 | private->iob.flaga = DASD_DIAG_FLAGA_DEFAULT; | 194 | private->iob.flaga = DASD_DIAG_FLAGA_DEFAULT; |
195 | 195 | ||
196 | cqr->startclk = get_clock(); | 196 | cqr->startclk = get_clock(); |
@@ -394,14 +394,14 @@ dasd_diag_check_device(struct dasd_device *device) | |||
394 | memset(&bio, 0, sizeof (struct dasd_diag_bio)); | 394 | memset(&bio, 0, sizeof (struct dasd_diag_bio)); |
395 | bio.type = MDSK_READ_REQ; | 395 | bio.type = MDSK_READ_REQ; |
396 | bio.block_number = private->pt_block + 1; | 396 | bio.block_number = private->pt_block + 1; |
397 | bio.buffer = __pa(label); | 397 | bio.buffer = label; |
398 | memset(&private->iob, 0, sizeof (struct dasd_diag_rw_io)); | 398 | memset(&private->iob, 0, sizeof (struct dasd_diag_rw_io)); |
399 | private->iob.dev_nr = rdc_data->dev_nr; | 399 | private->iob.dev_nr = rdc_data->dev_nr; |
400 | private->iob.key = 0; | 400 | private->iob.key = 0; |
401 | private->iob.flags = 0; /* do synchronous io */ | 401 | private->iob.flags = 0; /* do synchronous io */ |
402 | private->iob.block_count = 1; | 402 | private->iob.block_count = 1; |
403 | private->iob.interrupt_params = 0; | 403 | private->iob.interrupt_params = 0; |
404 | private->iob.bio_list = __pa(&bio); | 404 | private->iob.bio_list = &bio; |
405 | private->iob.flaga = DASD_DIAG_FLAGA_DEFAULT; | 405 | private->iob.flaga = DASD_DIAG_FLAGA_DEFAULT; |
406 | rc = dia250(&private->iob, RW_BIO); | 406 | rc = dia250(&private->iob, RW_BIO); |
407 | if (rc == 0 || rc == 3) | 407 | if (rc == 0 || rc == 3) |
@@ -529,7 +529,7 @@ dasd_diag_build_cp(struct dasd_device * device, struct request *req) | |||
529 | memset(dbio, 0, sizeof (struct dasd_diag_bio)); | 529 | memset(dbio, 0, sizeof (struct dasd_diag_bio)); |
530 | dbio->type = rw_cmd; | 530 | dbio->type = rw_cmd; |
531 | dbio->block_number = recid + 1; | 531 | dbio->block_number = recid + 1; |
532 | dbio->buffer = __pa(dst); | 532 | dbio->buffer = dst; |
533 | dbio++; | 533 | dbio++; |
534 | dst += blksize; | 534 | dst += blksize; |
535 | recid++; | 535 | recid++; |