diff options
Diffstat (limited to 'kernel/irq/proc.c')
| -rw-r--r-- | kernel/irq/proc.c | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/kernel/irq/proc.c b/kernel/irq/proc.c index b4f1674fca7..50b81b98046 100644 --- a/kernel/irq/proc.c +++ b/kernel/irq/proc.c @@ -19,7 +19,15 @@ static struct proc_dir_entry *root_irq_dir;  static int irq_affinity_read_proc(char *page, char **start, off_t off,  				  int count, int *eof, void *data)  { -	int len = cpumask_scnprintf(page, count, irq_desc[(long)data].affinity); +	struct irq_desc *desc = irq_desc + (long)data; +	cpumask_t *mask = &desc->affinity; +	int len; + +#ifdef CONFIG_GENERIC_PENDING_IRQ +	if (desc->status & IRQ_MOVE_PENDING) +		mask = &desc->pending_mask; +#endif +	len = cpumask_scnprintf(page, count, *mask);  	if (count - len < 2)  		return -EINVAL;  |