/* This function may be called - with care - from IRQ context.  */
void disable_irq(unsigned int irq)
/* This function may be called - with care - from IRQ context.  */
void disable_irq(unsigned int irq)
{
	struct irq_desc *desc = irq_to_desc(irq);
	if (!desc)
		return;
	disable_irq_nosync(irq);
	if (desc->action)
		synchronize_irq(irq);
}