What about something like the below. I tested it, including the error
case by forcing an -EPROBE_DEFER. The new pci_unmap_io() is modeled
after pci_unmap_iospace(). Actually, I would prefer to use
pci_remap_iospace() and pci_unmap_iospace() but for now this API
doesn't allow overloading the memory type used for the mapping.
Thanks for providing this fix so quickly, Thomas. I can confirm that this patch -- tested on top of 54eda9df17f3215b9ed16629ee71ea07413efdaf ("Merge tag 'pci-v4.19-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci"). Disclaimer: I have zero familiarity with Linux' PCI code.
Tested-by: Jan KundrÃt <jan.kundrat@xxxxxxxxx>
Thanks for the testing. I'll wait for Russell to say if he is happy
(or not) with the addition of pci_unmap_io() in the ARM code, if that's
the case, I'll send a proper patch to fix the issue.