summaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2021-08-04 00:32:06 +0200
committerVinod Koul <vkoul@kernel.org>2021-08-06 15:53:05 +0200
commit81c2f79c2104c5b48f01da674bc2f7d4bc600db4 (patch)
tree10bb62f8701a38e333e751dea6ed96625b053996 /drivers/dma
parentdmaengine: xilinx: Add empty device_config function (diff)
downloadlinux-81c2f79c2104c5b48f01da674bc2f7d4bc600db4.tar.xz
linux-81c2f79c2104c5b48f01da674bc2f7d4bc600db4.zip
dmaengine: idxd: add capability check for 'block on fault' attribute
The device general capability has a bit that indicate whether 'block on fault' is supported. Add check to wq sysfs knob to check if cap exists before allowing user to toggle. Signed-off-by: Dave Jiang <dave.jiang@intel.com> Link: https://lore.kernel.org/r/162802992615.3084999.12539468940404102898.stgit@djiang5-desk3.ch.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/idxd/sysfs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/dma/idxd/sysfs.c b/drivers/dma/idxd/sysfs.c
index 4c01587c9d4a..a88886d0f27b 100644
--- a/drivers/dma/idxd/sysfs.c
+++ b/drivers/dma/idxd/sysfs.c
@@ -642,6 +642,9 @@ static ssize_t wq_block_on_fault_store(struct device *dev,
bool bof;
int rc;
+ if (!idxd->hw.gen_cap.block_on_fault)
+ return -EOPNOTSUPP;
+
if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags))
return -EPERM;