• B
    ide: remove IRQF_DISABLED from IRQ flags for IDE IRQ handler · 7b5da4be
    Bartlomiej Zolnierkiewicz 提交于
    IRQF_DISABLED is not needed because the first thing that ide_intr()
    (IDE IRQ handler) does is calling spin_lock_irqsave() which disables
    local IRQs (IRQ unmasking is later handled by drive->unmask).
    
    kernel/irq/handle.c:
    
    irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action)
    ...
    	if (!(action->flags & IRQF_DISABLED))
    		local_irq_enable_in_hardirq();
    
    	do {
    		ret = action->handler(irq, action->dev_id);
    		if (ret == IRQ_HANDLED)
    			status |= action->flags;
    		retval |= ret;
    		action = action->next;
    	} while (action);
    ...
    
    drivers/ide/ide-io.c:
    
    irqreturn_t ide_intr (int irq, void *dev_id)
    ...
    	spin_lock_irqsave(&ide_lock, flags);
    ...
    	spin_unlock(&ide_lock);
    ...
    	if (drive->unmask)
    		local_irq_enable_in_hardirq();
    ...
    Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    7b5da4be
ide-probe.c 35.6 KB