All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2.6.9-rc4-bk3-netdev3 1/3] r8169: always clean Tx desc
@ 2004-10-18 23:08 Francois Romieu
  2004-10-18 23:09 ` [PATCH 2.6.9-rc4-bk3-netdev3 2/3] r8169: unneeded synchronize_irq() Francois Romieu
  2004-10-19 15:29 ` [PATCH 2.6.9-rc4-bk3-netdev3 1/3] r8169: always clean Tx desc Jeff Garzik
  0 siblings, 2 replies; 4+ messages in thread
From: Francois Romieu @ 2004-10-18 23:08 UTC (permalink / raw)
  To: jgarzik; +Cc: netdev

rtl8169_unmap_tx_skb() can not assume that a Tx ring descriptor belongs
to the host as it can be issued during rtl8169_tx_clear() as a part of
a recovery process (during Tx timeout for instance).

Simple fix: always clean the relevant descriptor entry.

Acked-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jon Mason <jdmason@us.ibm.com>

diff -puN drivers/net/r8169.c~r8169-225 drivers/net/r8169.c
--- linux-2.6.9/drivers/net/r8169.c~r8169-225	2004-10-18 22:13:54.000000000 +0200
+++ linux-2.6.9-fr/drivers/net/r8169.c	2004-10-18 23:31:21.000000000 +0200
@@ -1679,6 +1679,7 @@ static void rtl8169_unmap_tx_skb(struct 
 	unsigned int len = tx_skb->len;
 
 	pci_unmap_single(pdev, le64_to_cpu(desc->addr), len, PCI_DMA_TODEVICE);
+	desc->opts1 = 0x00;
 	desc->opts2 = 0x00;
 	desc->addr = 0x00;
 	tx_skb->len = 0;

_

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-10-19 15:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-18 23:08 [PATCH 2.6.9-rc4-bk3-netdev3 1/3] r8169: always clean Tx desc Francois Romieu
2004-10-18 23:09 ` [PATCH 2.6.9-rc4-bk3-netdev3 2/3] r8169: unneeded synchronize_irq() Francois Romieu
2004-10-18 23:11   ` [PATCH 2.6.9-rc4-bk3-netdev3 3/3] r8169: netconsole support Francois Romieu
2004-10-19 15:29 ` [PATCH 2.6.9-rc4-bk3-netdev3 1/3] r8169: always clean Tx desc Jeff Garzik

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.