linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mathias Nyman <mathias.nyman@linux.intel.com>
To: Damien Riegel <damien.riegel@gmail.com>,
	linux-usb@vger.kernel.org, linux-pci@vger.kernel.org
Subject: Re: double-freed irq when suspending with Thinkpad Thunderbolt Dock attached
Date: Thu, 16 Apr 2020 11:01:31 +0300	[thread overview]
Message-ID: <a7a935a2-3857-502e-5557-1fa8b2eae6fd@linux.intel.com> (raw)
In-Reply-To: <CAL4iiOe0NEMTRRQcUvy3-r8KXC3eFB7GozTGsNHKDiG6vmcKGA@mail.gmail.com>

On 9.4.2020 19.23, Damien Riegel wrote:
> Hi,
> 
> 
> I have a setup with a Thinkpad X1 Carbon Gen 6 with a Thinkpad
> Thunderbolt 3 Dock attached to it. The issue is not exhibited when the
> dock is not attached to the laptop.
> 
> Most of the time, it fails to resume from a suspend-to-disk. The system
> hangs and logs are not flushed to disk so I don't have more details.
> 
> But sometimes (maybe 1 out of 20 times), it manages to resume and there
> are double-freed irq errors, as shown in the following logs. As far as I
> am concerned, the laptop is running fine on resume, but maybe this can
> give a hint to where the issue causing the hang is.
> 
> I'm Ccing linux-usb and linux-pci as I couldn't tell which subsystem is
> responsible.
> 
> 
> Thanks,
> Damien

xhci driver resume tries to reset and reinitialize everything in this case,
shalting and resetting the host, and freeing irq and memory before
reallocating everything.
xhci driver resume doesn't notice the PCI device was already gone at this point,
and will double free the irq.

There is a patch in 5.7-rc1 that checks if xHC is accessible in resume, and should
prevent the double free.

72ae194704da xhci: bail out early if driver can't accress host in resume

Does it work for you?

-Mathias

      reply	other threads:[~2020-04-16  7:58 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-09 16:23 double-freed irq when suspending with Thinkpad Thunderbolt Dock attached Damien Riegel
2020-04-16  8:01 ` Mathias Nyman [this message]

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=a7a935a2-3857-502e-5557-1fa8b2eae6fd@linux.intel.com \
    --to=mathias.nyman@linux.intel.com \
    --cc=damien.riegel@gmail.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).