Skip to contentSkip to conversation

Fix the Granch driver

PATCH In review Vojtech Pavlik 1 participant 1 message Sep 13, 2001 Network drivers

lore
Share & tools
lore
#0 lore raw

PATCH 4/11 Fix the Granch driver

Hi!

This patch constraints __asm__ usage in the Granch SBNI driver only to i386, which is what the assembly parts are for. It also first casts a pointer to long, to make sure it fits and avoid a warning. It also fixes a wrongly typed __setup() function.

drivers/net/wan/sbni.c +6 -3
diff -urN linux-x86_64/drivers/net/wan/sbni.c linux/drivers/net/wan/sbni.c
@@ -155,7 +155,9 @@
 static int  emancipate( struct net_device * );
 #endif
 
+#ifdef __i386__
 #define ASM_CRC 1
+#endif
 
 static const char  version[] =
 	"Granch SBNI12 driver ver 5.0.1  Jun 22 2001  Denis I.Timofeev.\n";
@@ -361,7 +363,7 @@
 	/* store MAC address (generate if that isn't known) */
 	*(u16 *)dev->dev_addr = htons( 0x00ff );
 	*(u32 *)(dev->dev_addr + 2) = htonl( 0x01000000 |
-		( (mac[num]  ?  mac[num]  :  (u32)dev->priv) & 0x00ffffff) );
+		( (mac[num]  ?  mac[num]  :  (u32)((long)dev->priv)) & 0x00ffffff) );
 
 	/* store link settings (speed, receive level ) */
 	nl->maxframe  = DEFAULT_FRAME_LEN;
@@ -1517,7 +1519,7 @@
 
 #else	/* MODULE */
 
-void __init
+static int __init
 sbni_setup( char  *p )
 {
 	int  n, parm;
@@ -1528,7 +1530,7 @@
 	for( n = 0, parm = 0;  *p  &&  n < 8; ) {
 		(*dest[ parm ])[ n ] = simple_strtol( p, &p, 0 );
 		if( !*p  ||  *p == ')' )
-			return;
+			return 1;
 		if( *p == ';' )
 			++p, ++n, parm = 0;
 		else if( *p++ != ',' )
@@ -1539,6 +1541,7 @@
 	}
 bad_param:
 	printk( KERN_ERR "Error in sbni kernel parameter!\n" );
+	return 0;
 }
 
 __setup( "sbni=", sbni_setup );
Signature · 2 lines
Vojtech Pavlik
SuSE Labs