aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64
diff options
context:
space:
mode:
authorEddie C. Dost <ecd@brainaid.de>2005-07-06 18:40:21 -0400
committerDavid S. Miller <davem@davemloft.net>2005-07-06 18:40:21 -0400
commit12cf649f417c68b6bdd2a3b4ed97113159c6029e (patch)
treed04afa3cd1947245780376bb21be15fda5b1237a /arch/sparc64
parent90cdba648c5edf0ccabdadfc6e61f40c04e8bb00 (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')
-rw-r--r--arch/sparc64/kernel/irq.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
index 74a2e0808cb..daa2fb93052 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,
935static inline void set_intr_affinity(int irq, cpumask_t hw_aff) 936static 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.