> > Is that a hardware requirement, that interrupts only work when the interface is > > running? Interrupts are not normally conditional like this, at least when the SoC > > provides the GPIO controller. > > Should we handle the interrupts when interface is not running? You are adding a generic GPIO controller. It could in theory be used for anything. GPIO controlled LEDs, buttons, bit-banging MDIO/SPI/I2C, etc. I would not artificially limit interrupts to just when the interface is up, unless you need to. You should also take a look at the SFP code. When does it enable interrupts? When the SFP device is created, or when phylink_start() is called? SoC GPIO controllers work all the time, so it could be the SFP code just assumes interrupts work as soon as the GPIO is available. With the interface down, try disconnecting/connecting the fibre and see if /sys/kernel/debug/sfpX/state shows it sees LOS change. Andrew