PATCH: fix sbni driver

Alan Cox (alan@lxorguk.ukuu.org.uk)
Mon, 14 Jul 2003 13:21:56 +0100


diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.22-pre5/drivers/net/wan/sbni.c linux.22-pre5-ac1/drivers/net/wan/sbni.c
--- linux.22-pre5/drivers/net/wan/sbni.c 2003-07-14 12:26:39.000000000 +0100
+++ linux.22-pre5-ac1/drivers/net/wan/sbni.c 2003-07-07 15:54:55.000000000 +0100
@@ -1552,13 +1552,13 @@
static u32
calc_crc32( u32 crc, u8 *p, u32 len )
{
- register u32 _crc __asm ( "ax" );
+ register u32 _crc;
_crc = crc;

__asm __volatile (
"xorl %%ebx, %%ebx\n"
- "movl %1, %%esi\n"
- "movl %2, %%ecx\n"
+ "movl %2, %%esi\n"
+ "movl %3, %%ecx\n"
"movl $crc32tab, %%edi\n"
"shrl $2, %%ecx\n"
"jz 1f\n"
@@ -1594,7 +1594,7 @@
"jnz 0b\n"

"1:\n"
- "movl %2, %%ecx\n"
+ "movl %3, %%ecx\n"
"andl $3, %%ecx\n"
"jz 2f\n"

@@ -1619,9 +1619,9 @@
"xorb 2(%%esi), %%bl\n"
"xorl (%%edi,%%ebx,4), %%eax\n"
"2:\n"
- :
- : "a" (_crc), "g" (p), "g" (len)
- : "ax", "bx", "cx", "dx", "si", "di"
+ : "=a" (_crc)
+ : "0" (_crc), "g" (p), "g" (len)
+ : "bx", "cx", "dx", "si", "di"
);

return _crc;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/