netdev
[Top] [All Lists]

Re: [BUG 2.6.0-test11] pcnet32 oops

To: Rask Ingemann Lambertsen <rask@xxxxxxxxxx>
Subject: Re: [BUG 2.6.0-test11] pcnet32 oops
From: "David S. Miller" <davem@xxxxxxxxxx>
Date: Wed, 10 Dec 2003 00:32:34 -0800
Cc: jt@xxxxxxxxxx, jt@xxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, tsbogend@xxxxxxxxxxxxxxxx, jgarzik@xxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <20031209151459.A1345@sygehus.dk>
References: <20031205234510.GA2319@bougret.hpl.hp.com> <20031205165900.2920ea6a.davem@redhat.com> <20031209151459.A1345@sygehus.dk>
Sender: netdev-bounce@xxxxxxxxxxx
Sorry, forgot to mention this in the previous email.

The way to fix this properly in the pcnet32 driver itself would
be to pass a stack local "struct sk_buff_head" list down into
these deep routines while we have the locks held.

Instead of freeing the TX skbs, we add them all to this list.

At the top level, the code drops the spinlock and enables cpu irqs,
then it frees up any SKBs that were put on that list.

<Prev in Thread] Current Thread [Next in Thread>