提交 12cf649f 编写于 作者: E Eddie C. Dost 提交者: David S. Miller

[SPARC64]: Fix set_intr_affinity()

Do not cat bucket->irq_info to struct irqaction * directly,
but go through struct irq_desc *.
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 90cdba64
......@@ -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.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册