All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ethan Zhao <xerces.zhao@gmail.com>
To: Lukas Wunner <lukas@wunner.de>
Cc: Ethan Zhao <haifeng.zhao@intel.com>,
	Bjorn Helgaas <bhelgaas@google.com>, Oliver <oohall@gmail.com>,
	ruscur@russell.cc,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Stuart Hayes <stuart.w.hayes@gmail.com>,
	Alexandru Gagniuc <mr.nuke.me@gmail.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	linux-pci <linux-pci@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"Raj, Ashok" <ashok.raj@linux.intel.com>,
	Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@intel.com>
Subject: Re: [PATCH v7 3/5] PCI: pciehp: check and wait port status out of DPC before handling DLLSC and PDC
Date: Wed, 7 Oct 2020 15:48:17 +0800	[thread overview]
Message-ID: <CAKF3qh1coHqCHqpa_f8Mh4Ere+_xE2qACoNSyo2wYiOboYiNjQ@mail.gmail.com> (raw)
In-Reply-To: <20201004191329.GA27962@wunner.de>

Lukas,

On Mon, Oct 5, 2020 at 3:13 AM Lukas Wunner <lukas@wunner.de> wrote:
>
> On Sat, Oct 03, 2020 at 03:55:12AM -0400, Ethan Zhao wrote:
> > When root port has DPC capability and it is enabled, then triggered by
> > errors, DPC DLLSC and PDC etc interrupts will be sent to DPC driver, pciehp
> > drivers almost at the same time.
>
> Do the DLLSC and PDC events occur as a result of handling the error
> or do they occur independently?
They could happen independently if links were recovered then the card
was removed.
They could happen as a result of handling the errors the same time.

So don't assume DLLSC and PDC all occur at the same time.

>
> If the latter, I don't see how we can tell whether the card in the
> slot is still the same.
If PDC happens, the card in the slot might not be the same.  so
hot-removal /hot -plugin handling follows the PDC event.
>
> If the former, holding the hotplug slot's reset_lock and doing something
> along the lines of pciehp_reset_slot() (or calling it directly) might
> solve the race.

DPC reset is done by hardware, only AER calls pciehp_reset_slot() as recovery
handling initiated by software.

Thanks,
Ethan
>
> Thanks,
>
> Lukas

  reply	other threads:[~2020-10-07  7:48 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-03  7:55 [PATCH v7 0/5] Fix DPC hotplug race and enhance error handling Ethan Zhao
2020-10-03  7:55 ` [PATCH v7 1/5] PCI/ERR: get device before call device driver to avoid NULL pointer dereference Ethan Zhao
2020-10-03  7:55 ` [PATCH v7 2/5] PCI/DPC: define a function to check and wait till port finish DPC handling Ethan Zhao
2020-10-03  7:55 ` [PATCH v7 3/5] PCI: pciehp: check and wait port status out of DPC before handling DLLSC and PDC Ethan Zhao
2020-10-04 19:13   ` Lukas Wunner
2020-10-07  7:48     ` Ethan Zhao [this message]
2020-10-03  7:55 ` [PATCH v7 4/5] PCI: only return true when dev io state is really changed Ethan Zhao
2020-10-03 16:44   ` Bjorn Helgaas
2020-10-07  7:50     ` Ethan Zhao
2020-10-03  7:55 ` [PATCH v7 5/5] PCI/ERR: don't mix io state not changed and no driver together Ethan Zhao
2020-10-04  4:57 ` [PATCH v7 0/5] Fix DPC hotplug race and enhance error handling Raj, Ashok
2020-10-07  7:33   ` Ethan Zhao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKF3qh1coHqCHqpa_f8Mh4Ere+_xE2qACoNSyo2wYiOboYiNjQ@mail.gmail.com \
    --to=xerces.zhao@gmail.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=ashok.raj@linux.intel.com \
    --cc=bhelgaas@google.com \
    --cc=haifeng.zhao@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=mika.westerberg@linux.intel.com \
    --cc=mr.nuke.me@gmail.com \
    --cc=oohall@gmail.com \
    --cc=ruscur@russell.cc \
    --cc=sathyanarayanan.kuppuswamy@intel.com \
    --cc=stuart.w.hayes@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.