From: Jeff Garzik <jgarzik@pobox.com>
To: panagiotis.issaris@mech.kuleuven.ac.be
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Possible AMD8111e free irq issue
Date: Wed, 02 Mar 2005 01:22:06 -0500 [thread overview]
Message-ID: <42255B8E.3010507@pobox.com> (raw)
In-Reply-To: <20050228140742.A29902@lumumba.luc.ac.be>
Panagiotis Issaris wrote:
> Hi,
>
> It seems to me that if in the amd8111e_open() fuction dev->irq isn't
> zero and the irq request succeeds it might not get released anymore.
>
> Specifically, on failure of the amd8111e_restart() call the function
> returns -ENOMEM without releasing the irq. The amd8111e_restart()
> function can fail because of various pci_alloc_consistent() and
> dev_alloc_skb() calls in amd8111e_init_ring() which is being
> called by amd8111e_restart.
>
> 1374 if(dev->irq ==0 || request_irq(dev->irq, amd8111e_interrupt, SA_SHIRQ,
> 1375 dev->name, dev))
> 1376 return -EAGAIN;
>
> The patch applies to 2.6.11-rc5-bk2.
>
> If I'm right about the above, I'm not I'm not sure if the free_irq() should
> happen before or after releasing the spinlock.
>
> With friendly regards,
> Takis
>
> diff -uprN linux-2.6.11-rc5-bk2/drivers/net/amd8111e.c linux-2.6.11-rc5-bk2-pi/drivers/net/amd8111e.c
> --- linux-2.6.11-rc5-bk2/drivers/net/amd8111e.c 2005-02-28 13:44:46.000000000 +0100
> +++ linux-2.6.11-rc5-bk2-pi/drivers/net/amd8111e.c 2005-02-28 13:45:09.000000000 +0100
> @@ -1381,6 +1381,8 @@ static int amd8111e_open(struct net_devi
>
> if(amd8111e_restart(dev)){
> spin_unlock_irq(&lp->lock);
> + if (dev->irq)
> + free_irq(dev->irq, dev);
> return -ENOMEM;
Yes, this is a needed fix. Thanks.
Jeff
next prev parent reply other threads:[~2005-03-02 6:22 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-28 13:07 [PATCH] Possible AMD8111e free irq issue Panagiotis Issaris
2005-03-02 6:22 ` Jeff Garzik [this message]
2005-03-02 7:57 ` Panagiotis Issaris
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=42255B8E.3010507@pobox.com \
--to=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=panagiotis.issaris@mech.kuleuven.ac.be \
/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.