Re: [PATCH] pci: add pci_dev_is_alive API

From: Lambert Wang
Date: Wed May 26 2021 - 23:52:47 EST


On Thu, May 27, 2021 at 2:18 AM Lukas Wunner <lukas@xxxxxxxxx> wrote:
>
> On Wed, May 26, 2021 at 02:12:38PM +0800, Lambert Wang wrote:
> > The user is our new PCI driver under development for WWAN devices .
> > Surprise removal could happen under multiple circumstances.
> > e.g. Exception, Link Failure, etc.
> >
> > We wanted this API to detect surprise removal or check device recovery
> > when AER and Hotplug are disabled.
>
> You may want to take a look at pci_dev_is_disconnected().
>
> Be aware of its limitations, which Bjorn has already pointed out
> and which are discussed in more detail under the following link
> in the "Surprise removal" section:
>
> https://lwn.net/Articles/767885/
>

Thanks for the suggestion and the article. Currently I prefer
pci_device_is_present() for my scenario.

e.g. pci_dev_is_disconnected() seems to use a cached value. If the
driver wants to check the device's absence
after it *senses* something abnormal, pci_device_is_present() is more suitable.

> Thanks,
>
> Lukas