Commit-ID: 6714796edcce27f7a1845e2f79783cd51bb4799b Gitweb: https://git.kernel.org/tip/6714796edcce27f7a1845e2f79783cd51bb4799b Author: Wen Yaxng <[email protected]> AuthorDate: Wed, 8 Nov 2017 09:55:03 +0800 Committer: Thomas Gleixner <[email protected]> CommitDate: Sun, 12 Nov 2017 23:25:39 +0100
genirq/proc: Return proper error code when irq_set_affinity() fails write_irq_affinity() returns the number of written bytes, which means success, unconditionally whether the actual irq_set_affinity() call succeeded or not. Add proper error handling and pass the error code returned from irq_set_affinity() back to user space in case of failure. [ tglx: Fixed coding style and massaged changelog ] Signed-off-by: Wen Yang <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Jiang Biao <[email protected]> Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected] --- kernel/irq/proc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/irq/proc.c b/kernel/irq/proc.c index 6376b4a..29d6f52 100644 --- a/kernel/irq/proc.c +++ b/kernel/irq/proc.c @@ -154,8 +154,9 @@ static ssize_t write_irq_affinity(int type, struct file *file, */ err = irq_select_affinity_usr(irq) ? -EINVAL : count; } else { - irq_set_affinity(irq, new_value); - err = count; + err = irq_set_affinity(irq, new_value); + if (!err) + err = count; } free_cpumask:

