diff options
| author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2003-05-25 23:35:14 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-05-25 23:35:14 -0700 |
| commit | 9b2a15ef23641346266fc710f86a70663c49e02a (patch) | |
| tree | 01c7bbbcd7e56732e66e0371299adcfc004da28e | |
| parent | 92d5d7b5a86152df50576dd60a85af074de70d99 (diff) | |
[PATCH] s390: block device drivers.
s390 block device driver fixes:
- dasd: Don't continue on error in dasd_increase_state. Use hex_ascii view
for the dasd debug area. Fix typo.
- xpram: Fix setup of devfs_name.
| -rw-r--r-- | drivers/s390/block/dasd.c | 19 | ||||
| -rw-r--r-- | drivers/s390/block/xpram.c | 3 |
2 files changed, 14 insertions, 8 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index ea2372c92201..b474974c35fc 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c @@ -7,7 +7,7 @@ * Bugreports.to..: <Linux390@de.ibm.com> * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999-2001 * - * $Revision: 1.94 $ + * $Revision: 1.99 $ */ #include <linux/config.h> @@ -297,19 +297,23 @@ dasd_increase_state(struct dasd_device *device) device->target >= DASD_STATE_KNOWN) rc = dasd_state_new_to_known(device); - if (device->state == DASD_STATE_KNOWN && + if (!rc && + device->state == DASD_STATE_KNOWN && device->target >= DASD_STATE_BASIC) rc = dasd_state_known_to_basic(device); - if (device->state == DASD_STATE_BASIC && + if (!rc && + device->state == DASD_STATE_BASIC && device->target >= DASD_STATE_ACCEPT) rc = dasd_state_basic_to_accept(device); - if (device->state == DASD_STATE_ACCEPT && + if (!rc && + device->state == DASD_STATE_ACCEPT && device->target >= DASD_STATE_READY) rc = dasd_state_accept_to_ready(device); - if (device->state == DASD_STATE_READY && + if (!rc && + device->state == DASD_STATE_READY && device->target >= DASD_STATE_ONLINE) rc = dasd_state_ready_to_online(device); @@ -729,6 +733,7 @@ dasd_term_IO(struct dasd_ccw_req * cqr) DBF_DEV_EVENT(DBF_ERR, device, "%s", "I/O error, retry"); break; + case -EINVAL: case -EBUSY: DBF_DEV_EVENT(DBF_ERR, device, "%s", "device busy, retry later"); @@ -1727,7 +1732,7 @@ static int dasd_release(struct inode *inp, struct file *filp) { struct gendisk *disk = inp->i_bdev->bd_disk; - struct dasd_device *device = isk->private_data; + struct dasd_device *device = disk->private_data; if (device->state < DASD_STATE_ACCEPT) { DBF_DEV_EVENT(DBF_ERR, device, " %s", @@ -2051,7 +2056,7 @@ dasd_init(void) rc = -ENOMEM; goto failed; } - debug_register_view(dasd_debug_area, &debug_sprintf_view); + debug_register_view(dasd_debug_area, &debug_hex_ascii_view); debug_set_level(dasd_debug_area, DBF_ERR); DBF_EVENT(DBF_EMERG, "%s", "debug area created"); diff --git a/drivers/s390/block/xpram.c b/drivers/s390/block/xpram.c index d6b1b542fe81..fbb02dd40042 100644 --- a/drivers/s390/block/xpram.c +++ b/drivers/s390/block/xpram.c @@ -36,6 +36,7 @@ #include <linux/hdreg.h> /* HDIO_GETGEO */ #include <linux/device.h> #include <linux/bio.h> +#include <linux/devfs_fs_kernel.h> #include <asm/uaccess.h> #define XPRAM_NAME "xpram" @@ -459,7 +460,7 @@ static int __init xpram_setup_blkdev(void) disk->private_data = &xpram_devices[i]; disk->queue = &xpram_queue; sprintf(disk->disk_name, "slram%d", i); - sprintf(disk->disk_name, "slram/%d", i); + sprintf(disk->devfs_name, "slram/%d", i); set_capacity(disk, xpram_sizes[i] << 1); add_disk(disk); } |
