Joe Perches pointed out an error in patch 8. As I looked at the results
closer 3 out of 4 looked correct. This fixes the output for the last
case. Output is now the same on IA32 and PPC64 hardware.
--- linux-2.6.6-bk8/drivers/net/wake.pcnet32.c Wed May 26 12:29:10 2004
+++ linux-2.6.6-bk8/drivers/net/pcnet32.c Wed May 26 14:01:00 2004
@@ -1635,15 +1635,15 @@
for (i = 0 ; i < RX_RING_SIZE; i++)
printk("%s %08x %04x %08x %04x", i & 1 ? "" : "\n ",
le32_to_cpu(lp->rx_ring[i].base),
- le16_to_cpu(-lp->rx_ring[i].buf_length),
+ (-le16_to_cpu(lp->rx_ring[i].buf_length)) & 0xffff,
le32_to_cpu(lp->rx_ring[i].msg_length),
- le16_to_cpu((unsigned)lp->rx_ring[i].status));
+ le16_to_cpu(lp->rx_ring[i].status));
for (i = 0 ; i < TX_RING_SIZE; i++)
printk("%s %08x %04x %08x %04x", i & 1 ? "" : "\n ",
le32_to_cpu(lp->tx_ring[i].base),
- le16_to_cpu(-lp->tx_ring[i].length),
+ (-le16_to_cpu(lp->tx_ring[i].length)) & 0xffff,
le32_to_cpu(lp->tx_ring[i].misc),
- le16_to_cpu((unsigned)lp->tx_ring[i].status));
+ le16_to_cpu(lp->tx_ring[i].status));
printk("\n");
}
pcnet32_restart(dev, 0x0042);
--
Don Fry
brazilnut@xxxxxxxxxx
|