All of lore.kernel.org
 help / color / mirror / Atom feed
From: "David S. Miller" <davem@davemloft.net>
To: gregkh@suse.de
Cc: stern@rowland.harvard.edu, linux-kernel@vger.kernel.org
Subject: post-2.6.14 USB change breaks sparc64 boot
Date: Thu, 03 Nov 2005 09:33:28 -0800 (PST)	[thread overview]
Message-ID: <20051103.093328.74747521.davem@davemloft.net> (raw)


This change:

diff-tree 478a3bab8c87a9ba4a4ba338314e32bb0c378e62 (from 46f116eab81b21c6ae8c4f169498c632b1f94bf1)
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Wed Oct 19 12:52:02 2005 -0400

    [PATCH] USB: Always do usb-handoff
    
    This revised patch (as586b) makes usb-handoff permanently true and no
    longer a kernel boot parameter.  It also removes the piix3_usb quirk code;
    that was nothing more than an early version of the USB handoff code
    (written at a time when Intel's PIIX3 was about the only motherboard with
    USB support).  And it adds identifiers for the three PCI USB controller
    classes to pci_ids.h.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

breaks sparc64 bootup badly on machines with USB host controllers.

The reason is that this fixup is run as a PCI header fixup, but at
that time it is not yet legal to do ioremap() on the PCI device's
resources.  This USB fixup does ioremap() calls so that it can program
a few of the host controller registers during bootup.  It fails
spectacularly since the PCI device resource values haven't been been
adjusted by the sparc64 PCI layer yet.

The platform layer first needs a chance to fixup the pdev->resource[]
values to the format the ioremap() expects, and this is done after the
PCI header fixups are executed.  On platforms where this matters, such
adjustments are made immediately after the pci_scan_bus() invocation.

So ioremap() calls during pci_scan_bus() are pretty much not allowed.

Perhaps pci_fixup_final would be a more appropriate time to run this
USB host controller fixup?  One downside to this is that such calls
would not be invoked for hot-plugged USB host controller devices.

             reply	other threads:[~2005-11-03 17:35 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-03 17:33 David S. Miller [this message]
2005-11-03 17:46 ` post-2.6.14 USB change breaks sparc64 boot Maciej W. Rozycki
2005-11-03 18:54   ` Alan Stern
2005-11-03 19:24     ` Maciej W. Rozycki
2005-11-03 19:46       ` Alan Stern
2005-11-04 17:40   ` David S. Miller
2005-11-04 17:49     ` Greg KH
2005-11-04 18:47       ` Alan Stern
2005-11-03 23:26 ` 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=20051103.093328.74747521.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --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.