[PATCH] pcnet_cs: add odd location support for write_asic function
From: Ken Kawasaki <hidden>
Date: 2009-07-11 00:02:35
From: Ken Kawasaki <hidden>
Date: 2009-07-11 00:02:35
Currently, no one passes odd location to the write_asic function. But this patch add odd location support for future usage of this feature. Signed-off-by: Ken Kawasaki <redacted> ---
--- linux-2.6.31-rc1/drivers/net/pcmcia/pcnet_cs.c.orig 2009-06-27 10:15:47.000000000 +0900
+++ linux-2.6.31-rc1/drivers/net/pcmcia/pcnet_cs.c 2009-07-04 10:32:44.000000000 +0900@@ -886,9 +886,10 @@ static void write_asic(unsigned int ioad outb_p(EE_ASIC|EE_CS|EE_DI|dataval, ee_addr); } // sync - outb(EE_ASIC|EE_CS, ee_addr); - outb(EE_ASIC|EE_CS|EE_CK, ee_addr); - outb(EE_ASIC|EE_CS, ee_addr); + dataval = (location & 1) ? EE_DO : 0; + outb(EE_ASIC|EE_CS|dataval, ee_addr); + outb(EE_ASIC|EE_CS|dataval|EE_CK, ee_addr); + outb(EE_ASIC|EE_CS|dataval, ee_addr); for (i = 15; i >= 0; i--) { dataval = (asic_data & (1 << i)) ? EE_ADOT : 0;