[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#258430: s390-netdevice: IUCV support broken again: wrong device name



Package: s390-netdevice
Version: 0.0.6
Severity: important
Tags: patch

"type_text" (=="iucv") is not the right identifier for doing a modprobe
if the device is IUCV.  The iucv module provides the IUCV base
functions, but the netiucv module provides an interface suitable for 
treating like a NIC.  This is done to allow iucv to act as a general
inter-virtual-machine communications path, even in the absence of
TCP/IP.

A patch is attached to correct the issue.

Adam

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (700, 'testing')
Architecture: s390Locale: LANG=C, LC_CTYPE=C
Kernel: Linux 2.4.17

--- netdevice.c.orig	2004-07-09 12:31:44.000000000 -0400
+++ netdevice.c	2004-07-09 12:01:46.000000000 -0400
@@ -476,7 +476,7 @@
 static int setup (void)
 {
 	FILE *f;
-	char buf[256], buf1[256] = "", *ptr = NULL;
+	char buf[256], buf1[256] = "", buf2[256], *ptr = NULL;
 
 	if (mkdir ("/etc/modutils", 777) && errno != EEXIST)
 		return 1;
@@ -486,6 +486,7 @@
 		case TYPE_QETH:
 		case TYPE_CTC:
 		case TYPE_LCS:
+                        strncpy(buf2,type_text,sizeof(type_text));
 			if (strlen (chandev_parm))
 				ptr = chandev_parm;
 
@@ -521,6 +522,10 @@
 			break;
 
 		case TYPE_IUCV:
+                        strncpy(buf2,"netiucv",sizeof("netiucv"));
+			/* This is necessary because the "iucv" module */
+                        /*  provides the basic IUCV functions, but the */
+			/* "netiucv" module provides TCP/IP support.   */
 			f = fopen("/etc/modutils/netiucv", "a");
 			if (!f)
 				 return 1;
@@ -532,7 +537,7 @@
 			break;
 	}
 
-	snprintf (buf, sizeof (buf), "modprobe %s %s", type_text, buf1);
+	snprintf (buf, sizeof (buf), "modprobe %s %s", buf2, buf1);
 
 	di_exec_shell_log (buf);
 

Reply to: