dmaengine: idxd: add capability check for 'block on fault' attribute
authorDave Jiang <dave.jiang@intel.com>
Tue, 3 Aug 2021 22:32:06 +0000 (15:32 -0700)
committerVinod Koul <vkoul@kernel.org>
Fri, 6 Aug 2021 13:53:05 +0000 (19:23 +0530)
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>
drivers/dma/idxd/sysfs.c

index 4c01587c9d4a6104cd7607b7475379b2eace4dce..a88886d0f27bca0e336c129e0cb0888ec54e084c 100644 (file)
@@ -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;