diff options
| -rw-r--r-- | arch/sparc64/kernel/irq.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c index 74a2e0808cbc..daa2fb93052c 100644 --- a/arch/sparc64/kernel/irq.c +++ b/arch/sparc64/kernel/irq.c | |||
| @@ -917,7 +917,8 @@ static int irq_affinity_read_proc (char *page, char **start, off_t off, | |||
| 917 | int count, int *eof, void *data) | 917 | int count, int *eof, void *data) |
| 918 | { | 918 | { |
| 919 | struct ino_bucket *bp = ivector_table + (long)data; | 919 | struct ino_bucket *bp = ivector_table + (long)data; |
| 920 | struct irqaction *ap = bp->irq_info; | 920 | struct irq_desc *desc = bp->irq_info; |
| 921 | struct irqaction *ap = desc->action; | ||
| 921 | cpumask_t mask; | 922 | cpumask_t mask; |
| 922 | int len; | 923 | int len; |
| 923 | 924 | ||
| @@ -935,11 +936,13 @@ static int irq_affinity_read_proc (char *page, char **start, off_t off, | |||
| 935 | static inline void set_intr_affinity(int irq, cpumask_t hw_aff) | 936 | static inline void set_intr_affinity(int irq, cpumask_t hw_aff) |
| 936 | { | 937 | { |
| 937 | struct ino_bucket *bp = ivector_table + irq; | 938 | struct ino_bucket *bp = ivector_table + irq; |
| 939 | struct irq_desc *desc = bp->irq_info; | ||
| 940 | struct irqaction *ap = desc->action; | ||
| 938 | 941 | ||
| 939 | /* Users specify affinity in terms of hw cpu ids. | 942 | /* Users specify affinity in terms of hw cpu ids. |
| 940 | * As soon as we do this, handler_irq() might see and take action. | 943 | * As soon as we do this, handler_irq() might see and take action. |
| 941 | */ | 944 | */ |
| 942 | put_smpaff_in_irqaction((struct irqaction *)bp->irq_info, hw_aff); | 945 | put_smpaff_in_irqaction(ap, hw_aff); |
| 943 | 946 | ||
| 944 | /* Migration is simply done by the next cpu to service this | 947 | /* Migration is simply done by the next cpu to service this |
| 945 | * interrupt. | 948 | * interrupt. |
