On Tue, 28 Feb 2006, Olaf Hering wrote:
On Mon, Feb 27, Jesse Brandeburg wrote:
http://ozlabs.org/pipermail/linuxppc-dev/2006-February/021308.html
Olaf I reproduced this problem on a 630 and this patch fixes it for me,
please verify. Due to the new load ucode command the cb list must be
allocated before calling e100_init_hw. Ignore the crazy paths on the
files. (patch -p1 should take care of)
Yes, this patch helps. Thanks.
Ooch, I realized this morning I made a memory leak, here is the repaired
version of the patch:
BTW do you notice the system seeming to stall while this ethtool test is
running?
e100: fix eeh on pseries during ethtool -t
Olaf Hering reported a problem on pseries with e100 where ethtool -t would
cause a bus error, and the e100 driver would stop working. Due to the new
load ucode command the cb list must be allocated before calling
e100_init_hw, so we just let e100_up take care of it.
Signed-off-by: Jesse Brandeburg <[EMAIL PROTECTED]>
CC: Olaf Hering <[EMAIL PROTECTED]>
---
drivers/net/e100.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index 24253c8..f57a85f 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -2154,6 +2154,9 @@ static int e100_loopback_test(struct nic
msleep(10);
+ pci_dma_sync_single_for_cpu(nic->pdev, nic->rx_to_clean->dma_addr,
+ RFD_BUF_LEN, PCI_DMA_FROMDEVICE);
+
if(memcmp(nic->rx_to_clean->skb->data + sizeof(struct rfd),
skb->data, ETH_DATA_LEN))
err = -EAGAIN;
@@ -2161,8 +2164,8 @@ static int e100_loopback_test(struct nic
err_loopback_none:
mdio_write(nic->netdev, nic->mii.phy_id, MII_BMCR, 0);
nic->loopback = lb_none;
- e100_hw_init(nic);
e100_clean_cbs(nic);
+ e100_hw_reset(nic);
err_clean_rx:
e100_rx_clean_list(nic);
return err;
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html