• Niklas Schnelle's avatar
    s390/pci: improve DMA translation init and exit · 1f3f7681
    Niklas Schnelle authored
    Currently zpci_dma_init_device()/zpci_dma_exit_device() is called as
    part of zpci_enable_device()/zpci_disable_device() and errors for
    zpci_dma_exit_device() are always ignored even if we could abort.
    
    Improve upon this by moving zpci_dma_exit_device() out of
    zpci_disable_device() and check for errors whenever we have a way to
    abort the current operation. Note that for example in
    zpci_event_hard_deconfigured() the device is expected to be gone so we
    really can't abort and proceed even in case of error.
    
    Similarly move the cc == 3 special case out of zpci_unregister_ioat()
    and into the callers allowing to abort when finding an already disabled
    devices precludes proceeding with the operation.
    
    While we are at it log IOAT register/unregister errors in the s390
    debugfs log,
    Reviewed-by: default avatarMatthew Rosato <mjrosato@linux.ibm.com>
    Signed-off-by: default avatarNiklas Schnelle <schnelle@linux.ibm.com>
    Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    1f3f7681
pci_dma.c 16.9 KB