• Bjorn Helgaas's avatar
    PCI: Always check for non-CRS response before timeout · 9f982756
    Bjorn Helgaas authored
    While waiting for a device to become ready (i.e., to return a non-CRS
    completion to a read of its Vendor ID), if we got a valid response to the
    very last read before timing out, we printed a warning and gave up on the
    device even though it was actually ready.
    
    For a typical 60s timeout, we wait about 65s (it's not exact because of the
    exponential backoff), but we treated devices that became ready between 33s
    and 65s as though they failed.
    
    Move the Device ID read later so we check whether the device is ready
    before checking for a timeout.
    
    Thanks to Sinan Kaya <okaya@codeaurora.org>, reorder reads so we always
    check device presence after sleep, since it's pointless to sleep unless we
    recheck afterwards.
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    9f982756
probe.c 67.3 KB