When in 16 bit mode, SMC_outl incorrectly simulates the situation and plus in 32 bit mode SMC_outw is missing...
Signed-off-by: Bora Sahin <[EMAIL PROTECTED]> Index: linux-2.6.18-rc4/drivers/net/smc911x.h =================================================================== --- linux-2.6.18-rc4.orig/drivers/net/smc911x.h 2006-08-06 21:20:11.000000000 +0300 +++ linux-2.6.18-rc4/drivers/net/smc911x.h 2006-08-24 12:23:10.000000000 +0300 @@ -51,8 +51,8 @@ #define SMC_outw(v, a, r) writew(v, (a) + (r)) #define SMC_outl(v, a, r) \ do{ \ - writel(v & 0xFFFF, (a) + (r)); \ - writel(v >> 16, (a) + (r) + 2); \ + writew(v & 0xFFFF, (a) + (r)); \ + writew(v >> 16, (a) + (r) + 2); \ } while (0) #define SMC_insl(a, r, p, l) readsw((short*)((a) + (r)), p, l*2) #define SMC_outsl(a, r, p, l) writesw((short*)((a) + (r)), p, l*2) @@ -62,6 +62,7 @@ #define SMC_inw(a, r) readw((a) + (r)) #define SMC_inl(a, r) readl((a) + (r)) #define SMC_outb(v, a, r) writeb(v, (a) + (r)) +#define SMC_outw(v, a, r) writew(v, (a) + (r)) #define SMC_outl(v, a, r) writel(v, (a) + (r)) #define SMC_insl(a, r, p, l) readsl((int*)((a) + (r)), p, l) #define SMC_outsl(a, r, p, l) writesl((int*)((a) + (r)), p, l) - 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