Fix regression in 8139cp driver, debugged by William J. Eaton (rhbz 851278)
This commit is contained in:
parent
418011b505
commit
140e24d99e
|
@ -0,0 +1,62 @@
|
|||
From b26623dab7eeb1e9f5898c7a49458789dd492f20 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?fran=C3=A7ois=20romieu?= <romieu@fr.zoreil.com>
|
||||
Date: Wed, 21 Nov 2012 10:07:29 +0000
|
||||
Subject: [PATCH] 8139cp: revert "set ring address before enabling receiver"
|
||||
|
||||
This patch reverts b01af4579ec41f48e9b9c774e70bd6474ad210db.
|
||||
|
||||
The original patch was tested with emulated hardware. Real
|
||||
hardware chokes.
|
||||
|
||||
Fixes https://bugzilla.kernel.org/show_bug.cgi?id=47041
|
||||
|
||||
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
|
||||
Acked-by: Jeff Garzik <jgarzik@redhat.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/ethernet/realtek/8139cp.c | 22 +++++++++++-----------
|
||||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c
|
||||
index 1c81825..b01f83a 100644
|
||||
--- a/drivers/net/ethernet/realtek/8139cp.c
|
||||
+++ b/drivers/net/ethernet/realtek/8139cp.c
|
||||
@@ -979,17 +979,6 @@ static void cp_init_hw (struct cp_private *cp)
|
||||
cpw32_f (MAC0 + 0, le32_to_cpu (*(__le32 *) (dev->dev_addr + 0)));
|
||||
cpw32_f (MAC0 + 4, le32_to_cpu (*(__le32 *) (dev->dev_addr + 4)));
|
||||
|
||||
- cpw32_f(HiTxRingAddr, 0);
|
||||
- cpw32_f(HiTxRingAddr + 4, 0);
|
||||
-
|
||||
- ring_dma = cp->ring_dma;
|
||||
- cpw32_f(RxRingAddr, ring_dma & 0xffffffff);
|
||||
- cpw32_f(RxRingAddr + 4, (ring_dma >> 16) >> 16);
|
||||
-
|
||||
- ring_dma += sizeof(struct cp_desc) * CP_RX_RING_SIZE;
|
||||
- cpw32_f(TxRingAddr, ring_dma & 0xffffffff);
|
||||
- cpw32_f(TxRingAddr + 4, (ring_dma >> 16) >> 16);
|
||||
-
|
||||
cp_start_hw(cp);
|
||||
cpw8(TxThresh, 0x06); /* XXX convert magic num to a constant */
|
||||
|
||||
@@ -1003,6 +992,17 @@ static void cp_init_hw (struct cp_private *cp)
|
||||
|
||||
cpw8(Config5, cpr8(Config5) & PMEStatus);
|
||||
|
||||
+ cpw32_f(HiTxRingAddr, 0);
|
||||
+ cpw32_f(HiTxRingAddr + 4, 0);
|
||||
+
|
||||
+ ring_dma = cp->ring_dma;
|
||||
+ cpw32_f(RxRingAddr, ring_dma & 0xffffffff);
|
||||
+ cpw32_f(RxRingAddr + 4, (ring_dma >> 16) >> 16);
|
||||
+
|
||||
+ ring_dma += sizeof(struct cp_desc) * CP_RX_RING_SIZE;
|
||||
+ cpw32_f(TxRingAddr, ring_dma & 0xffffffff);
|
||||
+ cpw32_f(TxRingAddr + 4, (ring_dma >> 16) >> 16);
|
||||
+
|
||||
cpw16(MultiIntr, 0);
|
||||
|
||||
cpw8_f(Cfg9346, Cfg9346_Lock);
|
||||
--
|
||||
1.8.0
|
||||
|
|
@ -795,6 +795,9 @@ Patch21230: SCSI-mvsas-Fix-oops-when-ata-commond-timeout.patch
|
|||
#rhbz 869383
|
||||
Patch21231: ACPI-video-Ignore-errors-after-_DOD-evaluation.patch
|
||||
|
||||
#rhbz 851278
|
||||
Patch21232: 8139cp-revert-set-ring-address-before-enabling-recei.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
%endif
|
||||
|
@ -1544,6 +1547,9 @@ ApplyPatch SCSI-mvsas-Fix-oops-when-ata-commond-timeout.patch
|
|||
#rhbz 869383
|
||||
ApplyPatch ACPI-video-Ignore-errors-after-_DOD-evaluation.patch
|
||||
|
||||
#rhbz 851278
|
||||
ApplyPatch 8139cp-revert-set-ring-address-before-enabling-recei.patch
|
||||
|
||||
# END OF PATCH APPLICATIONS
|
||||
|
||||
%endif
|
||||
|
@ -2408,6 +2414,7 @@ fi
|
|||
# '-'
|
||||
%changelog
|
||||
* Mon Nov 26 2012 Josh Boyer <jwboyer@redhat.com>
|
||||
- Fix regression in 8139cp driver, debugged by William J. Eaton (rhbz 851278)
|
||||
- Fix ACPI video after _DOD errors (rhbz 869383)
|
||||
- Fix ata command timeout oops in mvsas (rhbz 869629)
|
||||
- Enable CONFIG_UIO_PDRV on ppc64 (rhbz 878180)
|
||||
|
|
Loading…
Reference in New Issue