Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b8ed5dd5 authored by Stefan Haberland's avatar Stefan Haberland Committed by Martin Schwidefsky
Browse files

[S390] dasd: remove strings from s390dbf



Remove strings from s390 debugfeature entries that could lead to a
crash when the data is read from dbf because the strings do not exist
any more.

Signed-off-by: default avatarStefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent eb6e199b
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -994,10 +994,9 @@ static void dasd_handle_killed_request(struct ccw_device *cdev,
		return;
	cqr = (struct dasd_ccw_req *) intparm;
	if (cqr->status != DASD_CQR_IN_IO) {
		DBF_EVENT(DBF_DEBUG,
		DBF_EVENT_DEVID(DBF_DEBUG, cdev,
				"invalid status in handle_killed_request: "
			"bus_id %s, status %02x",
			dev_name(&cdev->dev), cqr->status);
				"%02x", cqr->status);
		return;
	}

@@ -1045,12 +1044,13 @@ void dasd_int_handler(struct ccw_device *cdev, unsigned long intparm,
		case -EIO:
			break;
		case -ETIMEDOUT:
			DBF_EVENT(DBF_WARNING, "%s(%s): request timed out\n",
			       __func__, dev_name(&cdev->dev));
			DBF_EVENT_DEVID(DBF_WARNING, cdev, "%s: "
					"request timed out\n", __func__);
			break;
		default:
			DBF_EVENT(DBF_WARNING, "%s(%s): unknown error %ld\n",
			       __func__, dev_name(&cdev->dev), PTR_ERR(irb));
			DBF_EVENT_DEVID(DBF_WARNING, cdev, "%s: "
					"unknown error %ld\n", __func__,
					PTR_ERR(irb));
		}
		dasd_handle_killed_request(cdev, intparm);
		return;
@@ -2303,9 +2303,9 @@ int dasd_generic_probe(struct ccw_device *cdev,

	ret = dasd_add_sysfs_files(cdev);
	if (ret) {
		DBF_EVENT(DBF_WARNING,
		       "dasd_generic_probe: could not add sysfs entries "
		       "for %s\n", dev_name(&cdev->dev));
		DBF_EVENT_DEVID(DBF_WARNING, cdev, "%s",
				"dasd_generic_probe: could not add "
				"sysfs entries");
		return ret;
	}
	cdev->handler = &dasd_int_handler;
+19 −25
Original line number Diff line number Diff line
@@ -93,9 +93,9 @@ dasd_eckd_probe (struct ccw_device *cdev)
	ret = ccw_device_set_options(cdev, CCWDEV_ALLOW_FORCE |
				     CCWDEV_DO_PATHGROUP | CCWDEV_DO_MULTIPATH);
	if (ret) {
		DBF_EVENT(DBF_WARNING,
		       "dasd_eckd_probe: could not set ccw-device options "
		       "for %s\n", dev_name(&cdev->dev));
		DBF_EVENT_DEVID(DBF_WARNING, cdev, "%s",
				"dasd_eckd_probe: could not set "
				"ccw-device options");
		return ret;
	}
	ret = dasd_generic_probe(cdev, &dasd_eckd_discipline);
@@ -889,16 +889,15 @@ static int dasd_eckd_read_conf(struct dasd_device *device)
			rc = dasd_eckd_read_conf_lpm(device, &conf_data,
						     &conf_len, lpm);
			if (rc && rc != -EOPNOTSUPP) {	/* -EOPNOTSUPP is ok */
				DBF_EVENT(DBF_WARNING,
				DBF_EVENT_DEVID(DBF_WARNING, device->cdev,
					  "Read configuration data returned "
					  "error %d for device: %s", rc,
					  dev_name(&device->cdev->dev));
					  "error %d", rc);
				return rc;
			}
			if (conf_data == NULL) {
				DBF_EVENT(DBF_WARNING, "No configuration "
					  "data retrieved for device: %s",
					  dev_name(&device->cdev->dev));
				DBF_EVENT_DEVID(DBF_WARNING, device->cdev, "%s",
						"No configuration data "
						"retrieved");
				continue;	/* no error */
			}
			/* save first valid configuration data */
@@ -945,9 +944,8 @@ static int dasd_eckd_read_features(struct dasd_device *device)
				    sizeof(struct dasd_rssd_features)),
				   device);
	if (IS_ERR(cqr)) {
		DBF_EVENT(DBF_WARNING, "Could not allocate initialization "
			  "request for device: %s",
			  dev_name(&device->cdev->dev));
		DBF_EVENT_DEVID(DBF_WARNING, device->cdev, "%s", "Could not "
				"allocate initialization request");
		return PTR_ERR(cqr);
	}
	cqr->startdev = device;
@@ -1076,10 +1074,8 @@ static int dasd_eckd_validate_server(struct dasd_device *device)
	/* may be requested feature is not available on server,
	 * therefore just report error and go ahead */
	private = (struct dasd_eckd_private *) device->private;
	DBF_EVENT(DBF_WARNING, "PSF-SSC on storage subsystem %s.%s.%04x "
		  "returned rc=%d for device: %s",
		  private->uid.vendor, private->uid.serial,
		  private->uid.ssid, rc, dev_name(&device->cdev->dev));
	DBF_EVENT_DEVID(DBF_WARNING, device->cdev, "PSF-SSC for SSID %04x "
			"returned rc=%d", private->uid.ssid, rc);
	/* RE-Read Configuration Data */
	return dasd_eckd_read_conf(device);
}
@@ -1137,9 +1133,9 @@ dasd_eckd_check_characteristics(struct dasd_device *device)
	if (private->uid.type == UA_BASE_DEVICE) {
		block = dasd_alloc_block();
		if (IS_ERR(block)) {
			DBF_EVENT(DBF_WARNING, "could not allocate dasd "
				  "block structure for device: %s",
				  dev_name(&device->cdev->dev));
			DBF_EVENT_DEVID(DBF_WARNING, device->cdev, "%s",
					"could not allocate dasd "
					"block structure");
			rc = PTR_ERR(block);
			goto out_err1;
		}
@@ -1167,9 +1163,8 @@ dasd_eckd_check_characteristics(struct dasd_device *device)
	rc = dasd_generic_read_dev_chars(device, DASD_ECKD_MAGIC,
					 &private->rdc_data, 64);
	if (rc) {
		DBF_EVENT(DBF_WARNING,
			  "Read device characteristics failed, rc=%d for "
			  "device: %s", rc, dev_name(&device->cdev->dev));
		DBF_EVENT_DEVID(DBF_WARNING, device->cdev,
				"Read device characteristic failed, rc=%d", rc);
		goto out_err3;
	}
	/* find the vaild cylinder size */
@@ -3300,9 +3295,8 @@ int dasd_eckd_restore_device(struct dasd_device *device)
	rc = dasd_generic_read_dev_chars(device, DASD_ECKD_MAGIC,
					 &temp_rdc_data, 64);
	if (rc) {
		DBF_EVENT(DBF_WARNING,
			  "Read device characteristics failed, rc=%d for "
			  "device: %s", rc, dev_name(&device->cdev->dev));
		DBF_EVENT_DEVID(DBF_WARNING, device->cdev,
				"Read device characteristic failed, rc=%d", rc);
		goto out_err;
	}
	spin_lock_irqsave(get_ccwdev_lock(device->cdev), flags);
+4 −6
Original line number Diff line number Diff line
@@ -140,9 +140,8 @@ dasd_fba_check_characteristics(struct dasd_device *device)
	}
	block = dasd_alloc_block();
	if (IS_ERR(block)) {
		DBF_EVENT(DBF_WARNING, "could not allocate dasd block "
			  "structure for device: %s",
			  dev_name(&device->cdev->dev));
		DBF_EVENT_DEVID(DBF_WARNING, cdev, "%s", "could not allocate "
				"dasd block structure");
		device->private = NULL;
		kfree(private);
		return PTR_ERR(block);
@@ -154,9 +153,8 @@ dasd_fba_check_characteristics(struct dasd_device *device)
	rc = dasd_generic_read_dev_chars(device, DASD_FBA_MAGIC,
					 &private->rdc_data, 32);
	if (rc) {
		DBF_EVENT(DBF_WARNING, "Read device characteristics returned "
			  "error %d for device: %s",
			  rc, dev_name(&device->cdev->dev));
		DBF_EVENT_DEVID(DBF_WARNING, cdev, "Read device "
				"characteristics returned error %d", rc);
		device->block = NULL;
		dasd_free_block(block);
		device->private = NULL;
+10 −0
Original line number Diff line number Diff line
@@ -108,6 +108,16 @@ do { \
			    d_data); \
} while(0)

#define DBF_EVENT_DEVID(d_level, d_cdev, d_str, d_data...)	\
do { \
	struct ccw_dev_id __dev_id;			\
	ccw_device_get_id(d_cdev, &__dev_id);		\
	debug_sprintf_event(dasd_debug_area,		\
			    d_level,					\
			    "0.%x.%04x " d_str "\n",			\
			    __dev_id.ssid, __dev_id.devno, d_data);	\
} while (0)

#define DBF_EXC(d_level, d_str, d_data...)\
do { \
	debug_sprintf_exception(dasd_debug_area, \