From: Grant Grundler <grundler@parisc-linux.org>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Grant Grundler <grundler@parisc-linux.org>,
Andrew Morton <akpm@osdl.org>,
netdev@vger.kernel.org, Val Henson <val.henson@gmail.com>
Subject: Re: PATCH 2.6.17-rc5 tulip free_irq() called too late
Date: Thu, 8 Jun 2006 09:22:21 -0600 [thread overview]
Message-ID: <20060608152221.GC8246@colo.lackof.org> (raw)
In-Reply-To: <44883778.8000209@pobox.com>
On Thu, Jun 08, 2006 at 10:43:04AM -0400, Jeff Garzik wrote:
> (CC'ing our newly minted tulip maintainer, Val)
Excellent!
Has MAINTAINERS file been updated? :)
...
> NAK. This is a band-aid, and one that creates new problems even as it
> attempts to solve problems.
You failed to demonstrate that below. Any other objections?
> Calling free_irq() while the chip is still active is just a bad idea,
> because the chip could raise an interrupt, creating a
> screaming-interrupts situation. Consider especially the case of shared
> interrupts here, as a concrete example of how this won't work.
The chip IRQ gets turned off in tulip_down().
It won't be screaming for very long.
No one will hear it screaming and no one will care.
The decision to bring down the NIC was already made.
Secondly, if tulip has a problem with shared IRQs, it's already there.
We would have called free_irq() anyway - just a bit later.
In the shared IRQ case, I expect free_irq() to unlink this instance
of the tulip interrupt handler from the CPU vector list. If that
doesn't happen, I could consider that an arch specific bug,
not a tulip driver bug.
> Perhaps cp_close() in 8139cp.c could be an example of a good ordering?
> It stops the chip, syncs irqs, frees irq, then frees [thus unmapping]
> the rings.
Sorry, I don't see how it matters if we disable chip IRQ first
or unlink from CPU IRQ list first. Does it?
thanks,
grant
next prev parent reply other threads:[~2006-06-08 15:22 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-31 19:52 PATCH 2.6.17-rc5 tulip free_irq() called too late Grant Grundler
2006-06-08 14:43 ` Jeff Garzik
2006-06-08 15:22 ` Grant Grundler [this message]
2006-06-08 15:32 ` Grant Grundler
2006-06-08 15:38 ` Jeff Garzik
2006-06-08 15:47 ` Grant Grundler
2006-06-08 15:32 ` Jeff Garzik
2006-06-08 15:36 ` Grant Grundler
2006-06-08 17:01 ` Grant Grundler
2006-06-13 23:55 ` PATCHv3 " Grant Grundler
2006-06-14 0:06 ` Valerie Henson
2006-06-14 0:33 ` Jeff Garzik
2006-06-14 4:44 ` Grant Grundler
2006-06-14 13:05 ` Kyle McMartin
2006-06-14 14:54 ` Grant Grundler
2006-06-14 15:03 ` Jeff Garzik
2006-06-14 18:14 ` Grant Grundler
2006-06-14 19:51 ` Jeff Garzik
2006-06-14 22:25 ` Grant Grundler
2006-06-14 20:47 ` Francois Romieu
2006-06-14 22:30 ` Grant Grundler
2006-06-15 20:30 ` Francois Romieu
2006-06-16 5:47 ` Grant Grundler
2006-06-16 7:32 ` Jeff Garzik
2006-06-16 15:25 ` Grant Grundler
[not found] ` <20060616152400.GA7868@colo.lackof.org>
[not found] ` <4492CE98.50900@pobox.com>
2006-06-16 16:06 ` Grant Grundler
2006-06-16 16:16 ` Jeff Garzik
2006-06-22 0:43 ` Valerie Henson
2006-06-23 5:00 ` Grant Grundler
2006-06-26 22:31 ` [PATCH] Fix tulip shutdown DMA/irq race Valerie Henson
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=20060608152221.GC8246@colo.lackof.org \
--to=grundler@parisc-linux.org \
--cc=akpm@osdl.org \
--cc=jgarzik@pobox.com \
--cc=netdev@vger.kernel.org \
--cc=val.henson@gmail.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 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.