From: Lukas Wunner <lukas@wunner.de>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Mathias Nyman <mathias.nyman@linux.intel.com>,
Mason <slash.tmp@free.fr>,
Felipe Balbi <felipe.balbi@linux.intel.com>,
linux-pci <linux-pci@vger.kernel.org>,
linux-usb <linux-usb@vger.kernel.org>,
Linux ARM <linux-arm-kernel@lists.infradead.org>,
Bjorn Helgaas <helgaas@kernel.org>,
Alan Stern <stern@rowland.harvard.edu>
Subject: Re: Possible regression between 4.9 and 4.13
Date: Tue, 29 Aug 2017 17:34:56 +0200 [thread overview]
Message-ID: <20170829153456.GA13712@wunner.de> (raw)
In-Reply-To: <20170829144725.GB22532@kroah.com>
On Tue, Aug 29, 2017 at 04:47:25PM +0200, Greg Kroah-Hartman wrote:
> On Tue, Aug 29, 2017 at 03:38:52PM +0200, Lukas Wunner wrote:
> > On Tue, Aug 29, 2017 at 04:28:53PM +0300, Mathias Nyman wrote:
> > > Then again it might be a bit too drastic to kill xhci just because
> > > we read 0xffffffff once from a mmio xhci register. Maybe we should
> > > return an error a couple times before actually tearing down xhci.
> > >
> > > This tight check was originally done to detect pci hotplug removed
> > > hosts as soon as possible.
> >
> > Just make pci_dev_is_disconnected() public to detect PCI hot removal.
> > We *know* when the device was hot removed, so I think there's no need
> > to guess that based on reading "all ones" from mmio (which may happen
> > for entirely legitimate reasons unrelated to hot removal).
>
> No, you don't always "know" when a device is removed, don't rely on it,
> not all platforms support that.
Please explain, which platforms don't support that? They wouldn't be
compliant with the spec it seems.
PCIe r3.1, section 6.7.3:
"A Downstream Port with hot-plug capabilities supports the
following hot-plug events:
Presence Detect Changed
A Downstream Port with hot-plug capabilities monitors the slot
it controls for the slot events listed above. [...]
If enabled through the associated enable field, slot events
must generate a software notification."
And pciehp sets the flag on all downstream devices that they're removed
once the software notification has been received and processed.
> Reading all ff shows the device is removed, that's all the PCI spec
> guarantees. What other legitimate reason could that happen for?
Is 0xffffffff not a valid value to be stored in and read from mmio space?
Best regards,
Lukas
WARNING: multiple messages have this Message-ID (diff)
From: lukas@wunner.de (Lukas Wunner)
To: linux-arm-kernel@lists.infradead.org
Subject: Possible regression between 4.9 and 4.13
Date: Tue, 29 Aug 2017 17:34:56 +0200 [thread overview]
Message-ID: <20170829153456.GA13712@wunner.de> (raw)
In-Reply-To: <20170829144725.GB22532@kroah.com>
On Tue, Aug 29, 2017 at 04:47:25PM +0200, Greg Kroah-Hartman wrote:
> On Tue, Aug 29, 2017 at 03:38:52PM +0200, Lukas Wunner wrote:
> > On Tue, Aug 29, 2017 at 04:28:53PM +0300, Mathias Nyman wrote:
> > > Then again it might be a bit too drastic to kill xhci just because
> > > we read 0xffffffff once from a mmio xhci register. Maybe we should
> > > return an error a couple times before actually tearing down xhci.
> > >
> > > This tight check was originally done to detect pci hotplug removed
> > > hosts as soon as possible.
> >
> > Just make pci_dev_is_disconnected() public to detect PCI hot removal.
> > We *know* when the device was hot removed, so I think there's no need
> > to guess that based on reading "all ones" from mmio (which may happen
> > for entirely legitimate reasons unrelated to hot removal).
>
> No, you don't always "know" when a device is removed, don't rely on it,
> not all platforms support that.
Please explain, which platforms don't support that? They wouldn't be
compliant with the spec it seems.
PCIe r3.1, section 6.7.3:
"A Downstream Port with hot-plug capabilities supports the
following hot-plug events:
Presence Detect Changed
A Downstream Port with hot-plug capabilities monitors the slot
it controls for the slot events listed above. [...]
If enabled through the associated enable field, slot events
must generate a software notification."
And pciehp sets the flag on all downstream devices that they're removed
once the software notification has been received and processed.
> Reading all ff shows the device is removed, that's all the PCI spec
> guarantees. What other legitimate reason could that happen for?
Is 0xffffffff not a valid value to be stored in and read from mmio space?
Best regards,
Lukas
next prev parent reply other threads:[~2017-08-29 15:34 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-22 17:34 Possible regression between 4.9 and 4.13 Mason
2017-08-22 17:34 ` Mason
2017-08-23 6:07 ` Felipe Balbi
2017-08-23 6:07 ` Felipe Balbi
2017-08-23 7:51 ` Mathias Nyman
2017-08-23 7:51 ` Mathias Nyman
2017-08-23 9:18 ` Mason
2017-08-23 9:18 ` Mason
2017-08-23 9:31 ` Mason
2017-08-23 9:31 ` Mason
2017-08-23 11:11 ` Mathias Nyman
2017-08-23 11:11 ` Mathias Nyman
2017-08-23 11:54 ` Mason
2017-08-23 11:54 ` Mason
2017-08-23 12:41 ` Mason
2017-08-23 12:41 ` Mason
2017-08-23 14:30 ` Mason
2017-08-23 14:30 ` Mason
2017-08-28 8:39 ` Mathias Nyman
2017-08-28 8:39 ` Mathias Nyman
2017-08-28 14:40 ` Mason
2017-08-28 14:40 ` Mason
2017-08-29 13:28 ` Mathias Nyman
2017-08-29 13:28 ` Mathias Nyman
2017-08-29 13:38 ` Lukas Wunner
2017-08-29 13:38 ` Lukas Wunner
2017-08-29 14:47 ` Greg Kroah-Hartman
2017-08-29 14:47 ` Greg Kroah-Hartman
2017-08-29 15:34 ` Lukas Wunner [this message]
2017-08-29 15:34 ` Lukas Wunner
2017-08-29 15:51 ` Greg Kroah-Hartman
2017-08-29 15:51 ` Greg Kroah-Hartman
2017-08-30 6:36 ` Lukas Wunner
2017-08-30 6:36 ` Lukas Wunner
2017-08-30 6:45 ` Greg Kroah-Hartman
2017-08-30 6:45 ` Greg Kroah-Hartman
2017-08-29 23:53 ` Lukas Wunner
2017-08-29 23:53 ` Lukas Wunner
2017-08-30 6:02 ` Greg Kroah-Hartman
2017-08-30 6:02 ` Greg Kroah-Hartman
2017-08-30 8:55 ` Mason
2017-08-30 8:55 ` Mason
2017-08-30 9:06 ` Greg Kroah-Hartman
2017-08-30 9:06 ` Greg Kroah-Hartman
2017-08-31 9:39 ` Mason
2017-08-31 9:39 ` Mason
2017-08-31 11:40 ` Mathias Nyman
2017-08-31 11:40 ` Mathias Nyman
2017-08-30 9:07 ` Ard Biesheuvel
2017-08-30 9:07 ` Ard Biesheuvel
2017-08-30 9:22 ` Greg Kroah-Hartman
2017-08-30 9:22 ` Greg Kroah-Hartman
2017-08-30 9:37 ` Mason
2017-08-30 9:37 ` Mason
2017-08-31 9:17 ` Mason
2017-08-31 9:17 ` Mason
2017-08-31 11:38 ` Mathias Nyman
2017-08-31 11:38 ` Mathias Nyman
2017-08-23 10:19 ` Mason
2017-08-23 10:19 ` Mason
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=20170829153456.GA13712@wunner.de \
--to=lukas@wunner.de \
--cc=felipe.balbi@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=helgaas@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=slash.tmp@free.fr \
--cc=stern@rowland.harvard.edu \
/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.