• Keith Busch's avatar
    PCI: portdrv: Initialize service drivers directly · 1eeee2fd
    Keith Busch authored
    [ Upstream commit c29de841 ]
    
    The PCI port driver saves the PCI state after initializing the device with
    the applicable service devices.  This was, however, before the service
    drivers were even registered because PCI probe happens before the
    device_initcall initialized those service drivers.  The config space state
    that the services set up were not being saved.  The end result would cause
    PCI devices to not react to events that the drivers think they did if the
    PCI state ever needed to be restored.
    
    Fix this by changing the service drivers from using the init calls to
    having the portdrv driver calling the services directly.  This will get the
    state saved as desired, while making the relationship between the port
    driver and the services under it more explicit in the code.
    Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: default avatarSinan Kaya <okaya@kernel.org>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    1eeee2fd
aer.c 41.6 KB