aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2006-06-20 04:20:30 -0400
committerDavid S. Miller <davem@davemloft.net>2006-06-20 04:20:30 -0400
commit6a76267f0e52d920e6bb6da75541e6116d7304da (patch)
tree82b40f6c49fad8746f534d047b309c628d4f708c /arch
parentfd0504c3217d6d1bc8f33f53fb536299cae8feda (diff)
[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')
-rw-r--r--arch/sparc64/kernel/irq.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
index 0fb1738a4f3f..ad134bbc151c 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)
633 if (!action_mask) 633 if (!action_mask)
634 break; 634 break;
635 } 635 }
636 if (bp->pil != 0) {
637 if (tlb_type == hypervisor) {
638 unsigned int ino = __irq_ino(bp);
639 int err;
640 636
641 err = sun4v_intr_setstate(ino, HV_INTR_STATE_IDLE); 637 if (tlb_type == hypervisor) {
642 if (err != HV_EOK) 638 unsigned int ino = __irq_ino(bp);
643 printk("sun4v_intr_setstate(%x): " 639 int err;
644 "err(%d)\n", ino, err);
645 } else {
646 upa_writel(ICLR_IDLE, bp->iclr);
647 }
648 640
649 /* Test and add entropy */ 641 err = sun4v_intr_setstate(ino, HV_INTR_STATE_IDLE);
650 if (random & SA_SAMPLE_RANDOM) 642 if (err != HV_EOK)
651 add_interrupt_randomness(bp->pil); 643 printk("sun4v_intr_setstate(%x): "
644 "err(%d)\n", ino, err);
645 } else {
646 upa_writel(ICLR_IDLE, bp->iclr);
652 } 647 }
648
649 /* Test and add entropy */
650 if (random & SA_SAMPLE_RANDOM)
651 add_interrupt_randomness(bp->pil);
653out: 652out:
654 bp->flags &= ~IBF_INPROGRESS; 653 bp->flags &= ~IBF_INPROGRESS;
655} 654}