[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#269560: kernel-2.4.27 bug in r8169 driver



On Thu, Sep 02, 2004 at 01:10:22PM +0700, 輊帆斌 wrote:
> Package: kernel-image-2.4.27-1-686
> Version: 2.4.27-1
> 
> I got a kernel execption when I modprobe r8169 and then ifup
> eth0 on mobo GA-7N400Pro2. Then only reset button can help.
> On the same hardware and situation with 2.4.26-1-686
> kernel-image system fails after many transmitted packets.
> And when I use 2.6.7-1-686 kernel-image there are no
> problem.

Does the attached patch help this problem?

-- 
Horms
# origin: jgarzik (BitKeeper)
# cset: 1.1832.54.1 (2.6) key=4134259d358_N6mo2eVuJ5f4H6h-2w
# inclusion: upstream
# descrition: [netdrvr 8139cp,r8169] fix dma_addr_t sizeof test
# revision date: Mon, 17 Jan 2005 16:37:10 +0900
#
# S rset: ChangeSet|1.1832.1.28..1.1832.54.1
# R rset: drivers/net/8139cp.c|1.66..1.67
# I rset: drivers/net/r8169.c|1.61..1.62
#
# Key:
# S: Skipped  ChangeSet file only
# O: Original Followed by Updated
# U: Updated  Included with updated range of versions
# I: Included Included verbatim
# E: Excluded Excluded on request from user
# D: Deleted  Manually deleted by subsequent user edit
# R: Revised  Manually revised by subsequent user edit
#
#
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/08/31 03:15:41-04:00 jgarzik@pobox.com 
#   [netdrvr 8139cp,r8169] fix dma_addr_t sizeof test
# 
# drivers/net/r8169.c
#   2004/08/31 03:15:35-04:00 jgarzik@pobox.com +1 -1
#   [netdrvr 8139cp,r8169] fix dma_addr_t sizeof test
# 
# drivers/net/8139cp.c
#   2004/08/31 03:15:35-04:00 jgarzik@pobox.com +1 -1
#   [netdrvr 8139cp,r8169] fix dma_addr_t sizeof test
# 
#
===== drivers/net/8139cp.c 1.66 vs 1.67 =====
--- 1.66/drivers/net/8139cp.c	2004-06-05 00:49:59 +09:00
+++ edited/drivers/net/8139cp.c	2004-08-31 16:15:35 +09:00
@@ -1699,7 +1699,7 @@
 	}
 
 	/* Configure DMA attributes. */
-	if ((sizeof(dma_addr_t) > 32) &&
+	if ((sizeof(dma_addr_t) > 4) &&
 	    !pci_set_dma_mask(pdev, 0xffffffffffffffffULL)) {
 		pci_using_dac = 1;
 	} else {
 	}
 
===== drivers/net/r8169.c 1.61 vs 1.62 =====
--- 1.61/drivers/net/r8169.c	2004-07-03 03:51:44 +09:00
+++ 1.62/drivers/net/r8169.c	2004-08-31 16:15:35 +09:00
@@ -983,7 +983,7 @@
 
 	tp->cp_cmd = PCIMulRW | RxChkSum;
 
-	if ((sizeof(dma_addr_t) > 32) &&
+	if ((sizeof(dma_addr_t) > 4) &&
 	    !pci_set_dma_mask(pdev, DMA_64BIT_MASK))
 		tp->cp_cmd |= PCIDAC;
 	else {

Reply to: