mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Pete Zaitcev <zaitcev@redhat.com>
To: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Cc: zaitcev@redhat.com, linux-kernel@vger.kernel.org,
	spam99@2thebatcave.com, <km@westend.com>,
	david-b@pacbell.net
Subject: Re: uhci-hcd oops with 2.4.27/ intel D845GLVA
Date: Tue, 10 Aug 2004 13:54:09 -0700	[thread overview]
Message-ID: <20040810135409.44d31d1e@lembas.zaitcev.lan> (raw)
In-Reply-To: <mailman.1092163681.21436.linux-kernel2news@redhat.com>

On Tue, 10 Aug 2004 14:10:42 -0300
Marcelo Tosatti <marcelo.tosatti@cyclades.com> wrote:

> And I'm unable to find the message you are responding to, 
> can you please forward me it?

http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=2rhs2-6H8-11%40gated-at.bofh.it

The "uhci-hcd in 2.4.27" was launched by Nick, Kai simply reused that
header. I should note when I saw "uhci-hcd" I automatically ignored it,
because there's no uhci-hcd in 2.4.

> ehci_hcd 00:1d.7:  Bios handoff failed (104, 1010001)
> unable to handle kernel NULL pointer dereference at virtual address 00000048

This is a clue. I know that EHCI goes belly up if it fails to execute
the handoff.

The attached ought to fix Nick up (no way to tell about Kai because his
report had no data). It consists of two things. First, it fixes the
oops in the scan_async. Second, it prevents the oops from happening by
ignoring the handoff failure (as the old code did, in effect). Either
one should be sufficient, but this is why I use both. The if around
scan_async is the right fix, so it's there on merit. However, it yields
a non-working EHCI if your BIOS is buggy.

I know that David Brownlee disagrees with writing zero into the
configuration space, but it looks safer to me, because old code
did write that zero.

-- Pete

--- linux-2.4.27/drivers/usb/host/ehci-hcd.c	2004-08-10 13:43:36.691040600 -0700
+++ linux-2.4.21-17.EL-usb1/drivers/usb/host/ehci-hcd.c	2004-07-30 16:21:12.000000000 -0700
@@ -303,7 +302,8 @@
 		if (cap & (1 << 16)) {
 			ehci_err (ehci, "BIOS handoff failed (%d, %04x)\n",
 				where, cap);
-			return 1;
+			pci_write_config_dword (ehci->hcd.pdev, where, 0);
+			return 0;
 		} 
 		ehci_dbg (ehci, "BIOS handoff succeeded\n");
 	}
@@ -547,7 +547,8 @@
 
 	/* root hub is shut down separately (first, when possible) */
 	spin_lock_irq (&ehci->lock);
-	ehci_work (ehci, NULL);
+	if (ehci->async)
+		ehci_work (ehci, NULL);
 	spin_unlock_irq (&ehci->lock);
 	ehci_mem_cleanup (ehci);
 

  parent reply	other threads:[~2004-08-10 20:54 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-10 12:59 Kai Militzer
2004-08-10 17:10 ` Marcelo Tosatti
2004-08-10 17:10   ` Marcelo Tosatti
     [not found]   ` <mailman.1092163681.21436.linux-kernel2news@redhat.com>
2004-08-10 20:54     ` Pete Zaitcev [this message]
2004-08-11  4:37       ` David Brownell
2004-08-11  5:02         ` Pete Zaitcev
2004-08-11  7:16           ` David Brownell
2004-08-11 11:08       ` Nick Bartos
  -- strict thread matches above, loose matches on Subject: below --
2004-08-09 12:15 Nick Bartos

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=20040810135409.44d31d1e@lembas.zaitcev.lan \
    --to=zaitcev@redhat.com \
    --cc=david-b@pacbell.net \
    --cc=km@westend.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo.tosatti@cyclades.com \
    --cc=spam99@2thebatcave.com \
    /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®