diff mbox series

dmaengine: idxd: correct reserved token calculation

Message ID 158204471889.37789.7749177228265869168.stgit@djiang5-desk3.ch.intel.com (mailing list archive)
State Accepted
Headers show
Series dmaengine: idxd: correct reserved token calculation | expand

Commit Message

Dave Jiang Feb. 18, 2020, 4:51 p.m. UTC
The calcuation for limit of reserved token did not take into account the
change the user wanted vs the current group reserved token. This causes
changing of the reserved token to be possible only after we set the value
of the reserved token back to 0. Fix calculation so we can set a value that
is non zero for reserved token.

Fixes: c52ca478233c ("dmaengine: idxd: add configuration component of driver")

Reported-by: Jerry Chen <jerry.t.chen@intel.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
---
 drivers/dma/idxd/sysfs.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vinod Koul Feb. 19, 2020, 9:19 a.m. UTC | #1
On 18-02-20, 09:51, Dave Jiang wrote:
> The calcuation for limit of reserved token did not take into account the
> change the user wanted vs the current group reserved token. This causes
> changing of the reserved token to be possible only after we set the value
> of the reserved token back to 0. Fix calculation so we can set a value that
> is non zero for reserved token.
> 
> Fixes: c52ca478233c ("dmaengine: idxd: add configuration component of driver")
> 
You don't need empty line here

> Reported-by: Jerry Chen <jerry.t.chen@intel.com>
> Signed-off-by: Dave Jiang <dave.jiang@intel.com>

Applied after removing the empty line, thanks

> ---
>  drivers/dma/idxd/sysfs.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/dma/idxd/sysfs.c b/drivers/dma/idxd/sysfs.c
> index 298855ca934f..edbfe83325eb 100644
> --- a/drivers/dma/idxd/sysfs.c
> +++ b/drivers/dma/idxd/sysfs.c
> @@ -519,7 +519,7 @@ static ssize_t group_tokens_reserved_store(struct device *dev,
>  	if (val > idxd->max_tokens)
>  		return -EINVAL;
>  
> -	if (val > idxd->nr_tokens)
> +	if (val > idxd->nr_tokens + group->tokens_reserved)
>  		return -EINVAL;
>  
>  	group->tokens_reserved = val;
diff mbox series

Patch

diff --git a/drivers/dma/idxd/sysfs.c b/drivers/dma/idxd/sysfs.c
index 298855ca934f..edbfe83325eb 100644
--- a/drivers/dma/idxd/sysfs.c
+++ b/drivers/dma/idxd/sysfs.c
@@ -519,7 +519,7 @@  static ssize_t group_tokens_reserved_store(struct device *dev,
 	if (val > idxd->max_tokens)
 		return -EINVAL;
 
-	if (val > idxd->nr_tokens)
+	if (val > idxd->nr_tokens + group->tokens_reserved)
 		return -EINVAL;
 
 	group->tokens_reserved = val;