public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paul Fulghum <paulkf@microgate.com>
To: Laurent Riffard <laurent.riffard@free.fr>
Cc: Alan Stern <stern@rowland.harvard.edu>,
	USB development list <linux-usb-devel@lists.sourceforge.net>,
	Kernel development list <linux-kernel@vger.kernel.org>,
	Greg KH <greg@kroah.com>
Subject: Re: 2.6.9-rc4-mm1 : oops when rmmod uhci_hcd  [was: 2.6.9-rc3-mm2 : oops...]
Date: Fri, 15 Oct 2004 10:22:03 -0500	[thread overview]
Message-ID: <1097853723.5829.17.camel@deimos.microgate.com> (raw)
In-Reply-To: <416F09EF.6040605@free.fr>

On Thu, 2004-10-14 at 18:21, Laurent Riffard wrote:
> Alan Stern wrote:
> > Yes, try that.  At least if the problem still occurs, it will be
> > easier to track down.
> > 
> > Alan Stern
> > 
> 
> I just tried kernel 2.6.9-rc4 : it woks fine, there is no oops when 
> I rmmod uhci_hcd.

Alan:

This looks like it is related to the generic-irq-subsystem patches.
Specifically, adding and removing proc entries for each interrupt.

Laurent's configuration has two controllers sharing the same interrupt.
The hcd->description for both controllers are identical: "uhci_hcd"

This string is used when requesting the irq (hcd-pci.c).
request_irq() creates a /proc/irq/nn/uhci_hcd entry.
The IRQ action->dir (one for each device) is a pointer to this entry.
There does not appear to be a check for name collision
when creating this entry. So two identical entries are created,
one for each device. The proc entries are added to the head of
a list so the second entry is 1st in the list.

When unloading the module, the proc entry is removed when free_irq()
is called. Removal of the proc entry is based on name matching
starting at the head of the list so the 2nd entry is found 1st.
It looks like the proc entry of the second device is removed
when calling free_irq() for the first device. When the
second device is removed, the action->dir has already
been freed causing the oops.

Comments?

-- 
Paul Fulghum
paulkf@microgate.com


  reply	other threads:[~2004-10-15 15:28 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-12 19:40 2.6.9-rc4-mm1 : oops when rmmod uhci_hcd [was: 2.6.9-rc3-mm2 : oops...] Laurent Riffard
2004-10-13 15:41 ` Alan Stern
2004-10-14 20:23   ` Laurent Riffard
2004-10-14 21:03     ` Alan Stern
2004-10-14 23:21       ` Laurent Riffard
2004-10-15 15:22         ` Paul Fulghum [this message]
2004-10-15 16:18           ` Alan Stern
2004-10-15 16:48             ` Paul Fulghum
2004-10-15 17:21               ` Alan Stern
2004-10-15 17:36                 ` Paul Fulghum
2004-10-15 20:42                   ` Lee Revell
2004-10-15 21:14                     ` Paul Fulghum
2004-10-16 16:07                       ` [patch, 2.6.9-rc4-mm1] fix rmmod uhci_hcd oops Ingo Molnar
2004-10-17 19:47                         ` Laurent Riffard
2004-10-15 17:22               ` [linux-usb-devel] Re: 2.6.9-rc4-mm1 : oops when rmmod uhci_hcd [was: 2.6.9-rc3-mm2 : oops...] David Brownell

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=1097853723.5829.17.camel@deimos.microgate.com \
    --to=paulkf@microgate.com \
    --cc=greg@kroah.com \
    --cc=laurent.riffard@free.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox