| To: | Stephen Hemminger <shemminger@xxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] (13/23) sk98: handle ring full correctly |
| From: | Tommy Christensen <tommy.christensen@xxxxxxxxx> |
| Date: | 12 Nov 2004 11:54:48 +0100 |
| Cc: | Jeff Garzik <jgarzik@xxxxxxxxx>, Michael Heyse <mhk@xxxxxxxxxxxxxxxxx>, Mirko Lindner <mlindner@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxx |
| In-reply-to: | <20041111160008.005fbca5@zqx3.pdx.osdl.net> |
| Organization: | |
| References: | <4192C60A.1050205@designassembly.de> <20041111154225.5cf85567@zqx3.pdx.osdl.net> <20041111160008.005fbca5@zqx3.pdx.osdl.net> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
On Fri, 2004-11-12 at 01:00, Stephen Hemminger wrote:
> This driver needs to manage it's transmit queue properly.
> The hard_start_xmit needs to return OK if send successfully
> and BUSY (1) if queue is full. In either case must free skb,
> existing code would leak if tx ring filled!
This isn't true. When returning NETDEV_TX_BUSY, the caller
will requeue or drop the skb. So
> + /* Transmit failed, out of resources */
> + if (rc < 0) {
> + dev_kfree_skb(skb);
> + return NETDEV_TX_BUSY;
> + } else {
> + dev->trans_start = jiffies;
> + return NETDEV_TX_OK;
> + }
it shouldn't be freed here.
-Tommy
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] (1/23) sk98: no explicit module ref counting needed, Mirko Lindner |
|---|---|
| Next by Date: | [PATCH] [Repost] IPSec: cleartext packets path for 2.6.9, Ilia Sotnikov/ASSTRA/BY |
| Previous by Thread: | [PATCH] (13/23) sk98: handle ring full correctly, Stephen Hemminger |
| Next by Thread: | [PATCH] (6/23) sk98: add netpoll console support, Stephen Hemminger |
| Indexes: | [Date] [Thread] [Top] [All Lists] |