* Bugreports.to..: <Linux390@de.ibm.com>
* (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000
*
- * $Revision: 1.57 $
+ * $Revision: 1.61 $
*/
#include <linux/config.h>
{ CCW_DEVICE_DEVTYPE (0x3990, 0, 0x3380, 0), driver_info: 0x4},
{ CCW_DEVICE_DEVTYPE (0x2105, 0, 0x3380, 0), driver_info: 0x5},
{ CCW_DEVICE_DEVTYPE (0x9343, 0, 0x9345, 0), driver_info: 0x6},
+ { CCW_DEVICE_DEVTYPE (0x2107, 0, 0x3390, 0), driver_info: 0x7},
+ { CCW_DEVICE_DEVTYPE (0x2107, 0, 0x3380, 0), driver_info: 0x8},
+ { CCW_DEVICE_DEVTYPE (0x1750, 0, 0x3390, 0), driver_info: 0x9},
+ { CCW_DEVICE_DEVTYPE (0x1750, 0, 0x3380, 0), driver_info: 0xa},
{ /* end of list */ },
};
data->attributes.mode = 0x3; /* ECKD */
- if (private->rdc_data.cu_type == 0x2105
+ if ((private->rdc_data.cu_type == 0x2105 ||
+ private->rdc_data.cu_type == 0x2107 ||
+ private->rdc_data.cu_type == 0x1750)
&& !(private->uses_cdl && trk < 2))
- data->ga_extended |= 0x40;
+ data->ga_extended |= 0x40; /* Regular Data Format Mode */
geo.cyl = private->rdc_data.no_cyl;
geo.head = private->rdc_data.trk_per_cyl;
"sizes of configuration data mismatch"
"%d (read) vs %ld (expected)",
conf_len, sizeof (struct dasd_eckd_confdata));
+
+ kfree(conf_data); /* allocated by read_conf_data() */
return 0; /* no errror */
}
memcpy(&private->conf_data, conf_data,
sizeof (struct dasd_eckd_confdata));
-
+ kfree(conf_data); /* allocated by read_conf_data() */
return 0;
}
switch (cdev->id.cu_type) {
case 0x3990:
case 0x2105:
+ case 0x2107:
+ case 0x1750:
return dasd_3990_erp_examine(cqr, irb);
case 0x9343:
return dasd_9343_erp_examine(cqr, irb);
switch (cdev->id.cu_type) {
case 0x3990:
case 0x2105:
+ case 0x2107:
+ case 0x1750:
return dasd_3990_erp_action;
case 0x9343:
/* Return dasd_9343_erp_action; */