> after testing last patch, replacing request_irq() location is not a > good idea,it might produce a little time windows ,in which the interrupts > occurring inside will be omitted. > > the new patch adds a check point on interrupt handler in case field > 'pch_base_address' has not been initialed. What about using two for-loops in probe like this pseudo code? for (all_channels) do_initialization request_irq() for (all_channels) register_adapter This seems to me the correct order and most readable solution.