diff options
author | Eddie C. Dost <ecd@brainaid.de> | 2005-07-06 15:40:21 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-07-06 15:40:21 -0700 |
commit | 12cf649f417c68b6bdd2a3b4ed97113159c6029e (patch) | |
tree | d04afa3cd1947245780376bb21be15fda5b1237a | |
parent | 90cdba648c5edf0ccabdadfc6e61f40c04e8bb00 (diff) | |
download | linux-12cf649f417c68b6bdd2a3b4ed97113159c6029e.tar.gz linux-12cf649f417c68b6bdd2a3b4ed97113159c6029e.tar.bz2 linux-12cf649f417c68b6bdd2a3b4ed97113159c6029e.zip |
[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>
-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, int count, int *eof, void *data) { struct ino_bucket *bp = ivector_table + (long)data; - struct irqaction *ap = bp->irq_info; + struct irq_desc *desc = bp->irq_info; + struct irqaction *ap = desc->action; cpumask_t mask; int len; @@ -935,11 +936,13 @@ static int irq_affinity_read_proc (char *page, char **start, off_t off, static inline void set_intr_affinity(int irq, cpumask_t hw_aff) { struct ino_bucket *bp = ivector_table + irq; + struct irq_desc *desc = bp->irq_info; + struct irqaction *ap = desc->action; /* Users specify affinity in terms of hw cpu ids. * As soon as we do this, handler_irq() might see and take action. */ - put_smpaff_in_irqaction((struct irqaction *)bp->irq_info, hw_aff); + put_smpaff_in_irqaction(ap, hw_aff); /* Migration is simply done by the next cpu to service this * interrupt. |