patch-2.4.20 linux-2.4.20/drivers/net/smc-ultra32.c

Next file: linux-2.4.20/drivers/net/sun3lance.c
Previous file: linux-2.4.20/drivers/net/smc-ultra.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.19/drivers/net/smc-ultra32.c linux-2.4.20/drivers/net/smc-ultra32.c
@@ -320,9 +320,11 @@
 	/* Select correct 8KB Window. */
 	outb(ei_status.reg0 | ((ring_page & 0x60) >> 5), RamReg);
 
-#ifdef notdef
+#ifdef __BIG_ENDIAN
 	/* Officially this is what we are doing, but the readl() is faster */
+	/* unfortunately it isn't endian aware of the struct               */
 	isa_memcpy_fromio(hdr, hdr_start, sizeof(struct e8390_pkt_hdr));
+	hdr->count = le16_to_cpu(hdr->count);
 #else
 	((unsigned int*)hdr)[0] = isa_readl(hdr_start);
 #endif

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)