Commit 74eba308 authored by Horst Hummel's avatar Horst Hummel Committed by Linus Torvalds

[PATCH] s390: dasd driver

dasd driver changes:
 - Free memory returned by read_conf_data.
 - Add warning message if use_diag is specified with a non-CMS
   formatted device.
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 42e093a1
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Bugreports.to..: <Linux390@de.ibm.com> * Bugreports.to..: <Linux390@de.ibm.com>
* (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000
* *
* $Revision: 1.37 $ * $Revision: 1.38 $
*/ */
#include <linux/config.h> #include <linux/config.h>
...@@ -304,8 +304,11 @@ dasd_diag_check_device(struct dasd_device *device) ...@@ -304,8 +304,11 @@ dasd_diag_check_device(struct dasd_device *device)
(device->bp_block >> 10), (device->bp_block >> 10),
(device->blocks << device->s2b_shift) >> 1); (device->blocks << device->s2b_shift) >> 1);
rc = 0; rc = 0;
} else } else {
DEV_MESSAGE(KERN_WARNING, device, "%s",
"volume has incompatible disk layout");
rc = -EMEDIUMTYPE; rc = -EMEDIUMTYPE;
}
free_page((long) label); free_page((long) label);
return rc; return rc;
} }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* Bugreports.to..: <Linux390@de.ibm.com> * Bugreports.to..: <Linux390@de.ibm.com>
* (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000
* *
* $Revision: 1.59 $ * $Revision: 1.61 $
*/ */
#include <linux/config.h> #include <linux/config.h>
...@@ -505,11 +505,13 @@ dasd_eckd_check_characteristics(struct dasd_device *device) ...@@ -505,11 +505,13 @@ dasd_eckd_check_characteristics(struct dasd_device *device)
"sizes of configuration data mismatch" "sizes of configuration data mismatch"
"%d (read) vs %ld (expected)", "%d (read) vs %ld (expected)",
conf_len, sizeof (struct dasd_eckd_confdata)); conf_len, sizeof (struct dasd_eckd_confdata));
kfree(conf_data); /* allocated by read_conf_data() */
return 0; /* no errror */ return 0; /* no errror */
} }
memcpy(&private->conf_data, conf_data, memcpy(&private->conf_data, conf_data,
sizeof (struct dasd_eckd_confdata)); sizeof (struct dasd_eckd_confdata));
kfree(conf_data); /* allocated by read_conf_data() */
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment