diff options
author | David S. Miller <davem@davemloft.net> | 2006-06-20 01:20:30 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-06-20 01:20:30 -0700 |
commit | 6a76267f0e52d920e6bb6da75541e6116d7304da (patch) | |
tree | 82b40f6c49fad8746f534d047b309c628d4f708c /arch/sparc64 | |
parent | fd0504c3217d6d1bc8f33f53fb536299cae8feda (diff) | |
download | op-kernel-dev-6a76267f0e52d920e6bb6da75541e6116d7304da.zip op-kernel-dev-6a76267f0e52d920e6bb6da75541e6116d7304da.tar.gz |
[SPARC64]: bp->pil can never be zero
Only pil0_dummy_bucket had a pil of zero and we just killed that
off, so we can delete all special case code that used bp->pil==0
as a way to identify a dummy bucket.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64')
-rw-r--r-- | arch/sparc64/kernel/irq.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c index 0fb1738..ad134bb 100644 --- a/arch/sparc64/kernel/irq.c +++ b/arch/sparc64/kernel/irq.c @@ -633,23 +633,22 @@ static void process_bucket(struct ino_bucket *bp, struct pt_regs *regs) if (!action_mask) break; } - if (bp->pil != 0) { - if (tlb_type == hypervisor) { - unsigned int ino = __irq_ino(bp); - int err; - err = sun4v_intr_setstate(ino, HV_INTR_STATE_IDLE); - if (err != HV_EOK) - printk("sun4v_intr_setstate(%x): " - "err(%d)\n", ino, err); - } else { - upa_writel(ICLR_IDLE, bp->iclr); - } + if (tlb_type == hypervisor) { + unsigned int ino = __irq_ino(bp); + int err; - /* Test and add entropy */ - if (random & SA_SAMPLE_RANDOM) - add_interrupt_randomness(bp->pil); + err = sun4v_intr_setstate(ino, HV_INTR_STATE_IDLE); + if (err != HV_EOK) + printk("sun4v_intr_setstate(%x): " + "err(%d)\n", ino, err); + } else { + upa_writel(ICLR_IDLE, bp->iclr); } + + /* Test and add entropy */ + if (random & SA_SAMPLE_RANDOM) + add_interrupt_randomness(bp->pil); out: bp->flags &= ~IBF_INPROGRESS; } |