linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dave Airlie <airlied@gmail.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>,
	Jesse Barnes <jbarnes@virtuousgeek.org>,
	Keith Packard <keithp@keithp.com>
Subject: Re: "do_IRQ: 0.89 No irq handler for vector (irq -1)"
Date: Fri, 8 Oct 2010 21:46:50 +1000	[thread overview]
Message-ID: <AANLkTim=kmzwV+S-aP3+B1CNkS_XrvHuEewpmYZZtcA9@mail.gmail.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1010080941160.7653@localhost6.localdomain6>

On Fri, Oct 8, 2010 at 5:52 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> On Thu, 7 Oct 2010, Thomas Gleixner wrote:
>  Oct  7 23:21:24 ionos kernel: Console: switching to colour VGA+ 80x25
>> Oct  7 23:21:31 ionos kernel: drm: unregistered panic notifier
>> Oct  7 23:21:31 ionos kernel: vga_switcheroo: disabled
>> Oct  7 23:21:31 ionos kernel: [drm:drm_mm_takedown] *ERROR* Memory manager not clean. Delaying takedown
>>
>> That one scares me :)
>>
>> Oct  7 23:21:32 ionos kernel: BUG: unable to handle kernel paging request at 00000037362e313a
>>
>> We are again dereferencing a user space address.
>
> Further debugging shows that the interrupt is torn down and the
> vectors are cleared. On modprobe the irq is set up again and a
> different vector is assigned.
>
> The interrupt which comes in is going to the old vector. So something
> is stale in the card.

Okay I've traced it with the hints Thomas gave me,

What happens is we have never called pci_disable_device on video
devices for various reasons, like shutting down VGA devices could be
hostile,

however on rmmod of the driver the PCI layer sets the device power
state to PCI_UNKNOWN, when we next load the driver we call
pci_enable_device
which sees the enable cnt is 1, so never calls
pci_set_power_state(PCI_D0), the MSI code won't actually write MSI
msgs unless it knows we are in D0.

Not sure how best to fix, I can workaround by calling
pci_set_power_state(PCI_D0) in the drm drivers, but I sorta thing the
PCI layer should take care of this.

Dave.

  reply	other threads:[~2010-10-08 11:46 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-07  8:55 "do_IRQ: 0.89 No irq handler for vector (irq -1)" Dave Airlie
2010-10-07  9:05 ` Dave Airlie
2010-10-07 20:38 ` Thomas Gleixner
2010-10-07 21:35   ` Thomas Gleixner
2010-10-08  7:52     ` Thomas Gleixner
2010-10-08 11:46       ` Dave Airlie [this message]
2010-10-11 22:48         ` Jesse Barnes
2010-10-11 23:40           ` Jesse Barnes
2010-10-12 19:01             ` Rafael J. Wysocki
2010-10-12 19:49               ` Jesse Barnes
2010-11-16 19:46                 ` Florian Mickler
2010-11-16 20:11                   ` Jesse Barnes
2010-11-16 20:47                     ` Florian Mickler
2010-10-13 21:20               ` Jesse Barnes
2010-10-13 21:48                 ` Rafael J. Wysocki
2010-10-08 11:53     ` Chris Wilson
2010-10-08 12:15       ` Thomas Gleixner
2010-10-08 12:30         ` Chris Wilson
2010-10-10 17:46 ` Maciej Rutecki

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='AANLkTim=kmzwV+S-aP3+B1CNkS_XrvHuEewpmYZZtcA9@mail.gmail.com' \
    --to=airlied@gmail.com \
    --cc=jbarnes@virtuousgeek.org \
    --cc=keithp@keithp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    /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).