Re: [PATCH RFC 0/3] genirq: Allow drivers to respect userspace IRQ affinities
Andrew Lunn <[email protected]>
| Newsgroups | dev.linux.lists.linux-rt-devel,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
> That raises the question why request_irq() is called on "link up" time, > while the low level vector allocation takes place during device probing. If the interface is admin down, the hardware should not be generating any interrupts. So there is no need to request them. > At least that seems to be the common pattern. Can someone tell me why > this is done this way? Shouldn't we call request_irq() at the same time? If you want to change anything, move the low level vector allocation into open(). But you need to be careful of EPROBE_DEFER. If the interrupt controller has not loaded yet, i _guess_ the low level vector allocation will return EPROBE_DEFER, and the MAC driver will try to probe again later. If you get EPROBE_DEFER in open(), there is nothing you can do about it. Andrew