Could you size this array by NR_UARTS (our worst case usage)
and place irq_no in struct irq_info?
Also you want to hold irq_info->lock when you set or clear irq_no.
Just to be on the safe side. I expect we can avoid clearing the irq_no
in the irq_lists and prevent a few more races from being a possibility.
Eric
--