/* RETURN VALUES erp 'new' erp_head - pointer to new ERP  */
static struct dasd_ccw_req* dasd_3990_erp_com_rej(struct dasd_ccw_req *erp, char *sense)
/* RETURN VALUES erp 'new' erp_head - pointer to new ERP  */
static struct dasd_ccw_req* dasd_3990_erp_com_rej(struct dasd_ccw_req *erp, char *sense)
{
	struct dasd_device *device = erp->startdev;
	erp->function = dasd_3990_erp_com_rej;
	if (sense[2] & SNS2_ENV_DATA_PRESENT) {
		DBF_DEV_EVENT(DBF_WARNING, device, "%s",
			    "Command Reject - environmental data present");
		dasd_3990_handle_env_data(erp, sense);
		erp->retries = 5;
	} else {
		dev_err(&device->cdev->dev, "An error occurred in the DASD "
			"device driver, reason=%s\n", "09");
		erp = dasd_3990_erp_cleanup(erp, DASD_CQR_FAILED);
	}
	return erp;
}