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: