diff options
author | Eddie C. Dost <ecd@brainaid.de> | 2005-07-06 18:40:21 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-07-06 18:40:21 -0400 |
commit | 12cf649f417c68b6bdd2a3b4ed97113159c6029e (patch) | |
tree | d04afa3cd1947245780376bb21be15fda5b1237a /arch/sparc64/kernel/irq.c | |
parent | 90cdba648c5edf0ccabdadfc6e61f40c04e8bb00 (diff) |
[SPARC64]: Fix set_intr_affinity()
Do not cat bucket->irq_info to struct irqaction * directly,
but go through struct irq_desc *.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/irq.c')
-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. |