mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
To: "Adam J. Richter" <adam@yggdrasil.com>
Cc: alan@lxorguk.ukuu.org.uk, greg@kroah.com, jgarzik@pobox.com,
	jung-ik.lee@intel.com, linux-kernel@vger.kernel.org
Subject: Re: Patch: 2.5.45 PCI Fixups for PCI HotPlug
Date: Tue, 5 Nov 2002 16:01:42 +0300	[thread overview]
Message-ID: <20021105160142.A2247@jurassic.park.msu.ru> (raw)
In-Reply-To: <200211042029.MAA09749@adam.yggdrasil.com>; from adam@yggdrasil.com on Mon, Nov 04, 2002 at 12:29:37PM -0800

On Mon, Nov 04, 2002 at 12:29:37PM -0800, Adam J. Richter wrote:
> 	What are you advocating?  Do you want all quirk routines
> marked __devinit?  Wouldn't you agree at least that if we can
> establish that device *cannot* be hot plugged, that its quirk routine
> can be __init?

You cannot mark individual quirk routines differently as long as they
belong in the same quirk list. If the list is __devinitdata and some
of routines in it are __init, you'll have an oops in the hotplug path.

What we need is an additional quirk list, say, "hotplug_pci_fixups"
and a global flag "init_gone" (probably free_initmem() should set it).
Then we'll have

void pci_fixup_device(int pass, struct pci_dev *dev)
{
-	pci_do_fixups(dev, pass, pcibios_fixups);
-	pci_do_fixups(dev, pass, pci_fixups);
+	if (!init_gone) {
+		pci_do_fixups(dev, pass, pcibios_fixups);
+		pci_do_fixups(dev, pass, pci_fixups);
+	}
+	pci_do_fixups(dev, pass, hotplug_pci_fixups);
}

Perhaps arch specific "hotplug_pcibios_fixups" is also needed, as archs
may work around the same pci bug differently.

What should go into the new list is another story. Obviously the fixups for
host bridges must be __init, as well as some south bridges that look like
pci devices but actually aren't.

Ivan.

  parent reply	other threads:[~2002-11-05 11:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-04 20:29 Adam J. Richter
2002-11-04 20:44 ` Jeff Garzik
2002-11-05 13:01 ` Ivan Kokshaysky [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-11-06  0:14 Adam J. Richter
2002-11-05 13:17 Adam J. Richter
2002-11-05 15:28 ` Ivan Kokshaysky
2002-11-04 18:23 Adam J. Richter
2002-11-04 19:05 ` Alan Cox
2002-11-04 18:06 Lee, Jung-Ik
2002-11-03 12:31 Adam J. Richter
2002-11-03  0:56 Lee, Jung-Ik
2002-11-03  7:58 ` Greg KH

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=20021105160142.A2247@jurassic.park.msu.ru \
    --to=ink@jurassic.park.msu.ru \
    --cc=adam@yggdrasil.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=greg@kroah.com \
    --cc=jgarzik@pobox.com \
    --cc=jung-ik.lee@intel.com \
    --cc=linux-kernel@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

all inboxes | Powered by JetHome®