• Niklas Schnelle's avatar
    s390/pci: fix clp_get_state() handling of -ENODEV · ebd9cc65
    Niklas Schnelle authored
    With commit cc049eec
    
     ("s390/pci: simplify CLP List PCI handling")
    clp_get_state() was changed to make use of the new clp_find_pci() helper
    function to query a specific function. This however returns -ENODEV when
    the device is not found at all and this error was passed to the caller.
    It was missed however that the callers actually expect a success return
    from clp_get_state() if the device is gone.
    
    Fix this by handling the -ENODEV return of clp_find_pci() explicitly in
    clp_get_state() returning success and setting the state parameter to
    ZPCI_FN_STATE_RESERVED matching the design concept that a PCI function
    that disappeared must have been resverved elsewhere. For all other error
    returns continue to just pass them on to the caller.
    Reviewed-by: default avatarMatthew Rosato <mjrosato@linux.ibm.com>
    Fixes: cc049eec
    
     ("s390/pci: simplify CLP List PCI handling")
    Signed-off-by: default avatarNiklas Schnelle <schnelle@linux.ibm.com>
    Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    ebd9cc65
pci_clp.c 15.2 KB