diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 21:20:35 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 21:20:35 +0200 | 
| commit | 7731b8bc94e599c9a79e428f3359ff2c34b7576a (patch) | |
| tree | 879f18ccbe274122f2d4f095b43cbc7f953e0ada /drivers/misc/cxl/sysfs.c | |
| parent | 48e315618dc4dc8904182cd221e3d395d5d97005 (diff) | |
| parent | 9ffc59d57228d74809700be6f7ecb1db10292f05 (diff) | |
Merge branch 'linus' into x86/urgent
Required to queue a dependent fix.
Diffstat (limited to 'drivers/misc/cxl/sysfs.c')
| -rw-r--r-- | drivers/misc/cxl/sysfs.c | 16 | 
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/misc/cxl/sysfs.c b/drivers/misc/cxl/sysfs.c index 4b5a4c5d3c01..629e2e156412 100644 --- a/drivers/misc/cxl/sysfs.c +++ b/drivers/misc/cxl/sysfs.c @@ -353,12 +353,20 @@ static ssize_t prefault_mode_store(struct device *device,  	struct cxl_afu *afu = to_cxl_afu(device);  	enum prefault_modes mode = -1; -	if (!strncmp(buf, "work_element_descriptor", 23)) -		mode = CXL_PREFAULT_WED; -	if (!strncmp(buf, "all", 3)) -		mode = CXL_PREFAULT_ALL;  	if (!strncmp(buf, "none", 4))  		mode = CXL_PREFAULT_NONE; +	else { +		if (!radix_enabled()) { + +			/* only allowed when not in radix mode */ +			if (!strncmp(buf, "work_element_descriptor", 23)) +				mode = CXL_PREFAULT_WED; +			if (!strncmp(buf, "all", 3)) +				mode = CXL_PREFAULT_ALL; +		} else { +			dev_err(device, "Cannot prefault with radix enabled\n"); +		} +	}  	if (mode == -1)  		return -EINVAL;  | 
