netdev.vger.kernel.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).