fixes for several net/hamradio drivers

From: Thomas Sailer (sailer@ife.ee.ethz.ch)
Date: Mon Jul 03 2000 - 09:13:23 EST


This patch fixes a bug in the network driver
name handling of some net/hamradio drivers
introduced during the big network driver name
handling change.

Linus please apply to 2.4.x

Thanks to Thorsten Kranzkowski for notifying me.

Tom

--- drivers/net/hamradio/soundmodem/sm.c.orig Mon Jul 3 16:02:03 2000
+++ drivers/net/hamradio/soundmodem/sm.c Mon Jul 3 16:04:01 2000
@@ -46,6 +46,7 @@
  * removed some pre-2.2 kernel compatibility cruft
  * 0.10 10.08.1999 Check if parport can do SPP and is safe to access during interrupt contexts
  * 0.11 12.02.2000 adapted to softnet driver interface
+ * 0.12 03.07.2000 fix interface name handling
  */
 
 /*****************************************************************************/
@@ -65,7 +66,7 @@
 
 /*static*/ const char sm_drvname[] = "soundmodem";
 static const char sm_drvinfo[] = KERN_INFO "soundmodem: (C) 1996-2000 Thomas Sailer, HB9JNX/AE4WA\n"
-KERN_INFO "soundmodem: version 0.11 compiled " __TIME__ " " __DATE__ "\n";
+KERN_INFO "soundmodem: version 0.12 compiled " __TIME__ " " __DATE__ "\n";
 
 /* --------------------------------------------------------------------- */
 
@@ -648,8 +649,9 @@
          */
         for (i = 0; i < NR_PORTS; i++) {
                 struct net_device *dev = sm_device+i;
- sprintf(dev->name, "sm%d", i);
+ char ifname[IFNAMSIZ];
 
+ sprintf(ifname, "sm%d", i);
                 if (!mode[i])
                         set_hw = 0;
                 else {
@@ -671,7 +673,7 @@
                 }
                 if (!set_hw)
                         iobase[i] = irq[i] = 0;
- j = hdlcdrv_register_hdlcdrv(dev, &sm_ops, sizeof(struct sm_state), dev->name, iobase[i], irq[i], dma[i]);
+ j = hdlcdrv_register_hdlcdrv(dev, &sm_ops, sizeof(struct sm_state), ifname, iobase[i], irq[i], dma[i]);
                 if (!j) {
                         sm = (struct sm_state *)dev->priv;
                         sm->hdrv.ptt_out.dma2 = dma2[i];
--- drivers/net/hamradio/baycom_par.c.orig Mon Jul 3 16:00:47 2000
+++ drivers/net/hamradio/baycom_par.c Mon Jul 3 16:06:44 2000
@@ -63,6 +63,7 @@
  * 0.7 10.08.1999 Check if parport can do SPP and is safe to access during interrupt contexts
  * 0.8 12.02.2000 adapted to softnet driver interface
  * removed direct parport access, uses parport driver methods
+ * 0.9 03.07.2000 fix interface name handling
  */
 
 /*****************************************************************************/
@@ -101,7 +102,7 @@
 
 static const char bc_drvname[] = "baycom_par";
 static const char bc_drvinfo[] = KERN_INFO "baycom_par: (C) 1996-2000 Thomas Sailer, HB9JNX/AE4WA\n"
-KERN_INFO "baycom_par: version 0.8 compiled " __TIME__ " " __DATE__ "\n";
+KERN_INFO "baycom_par: version 0.9 compiled " __TIME__ " " __DATE__ "\n";
 
 /* --------------------------------------------------------------------- */
 
@@ -512,14 +513,15 @@
          */
         for (i = 0; i < NR_PORTS; i++) {
                 struct net_device *dev = baycom_device+i;
- sprintf(dev->name, "bcp%d", i);
+ char ifname[IFNAMSIZ];
 
+ sprintf(ifname, "bcp%d", i);
                 if (!mode[i])
                         set_hw = 0;
                 if (!set_hw)
                         iobase[i] = 0;
                 j = hdlcdrv_register_hdlcdrv(dev, &par96_ops, sizeof(struct baycom_state),
- dev->name, iobase[i], 0, 0);
+ ifname, iobase[i], 0, 0);
                 if (!j) {
                         bc = (struct baycom_state *)dev->priv;
                         if (set_hw && baycom_setmode(bc, mode[i]))
--- drivers/net/hamradio/baycom_ser_fdx.c.orig Mon Jul 3 16:00:47 2000
+++ drivers/net/hamradio/baycom_ser_fdx.c Mon Jul 3 16:06:15 2000
@@ -66,6 +66,7 @@
  * 0.7 03.08.1999 adapt to Linus' new __setup/__initcall
  * 0.8 10.08.1999 use module_init/module_exit
  * 0.9 12.02.2000 adapted to softnet driver interface
+ * 0.10 03.07.2000 fix interface name handling
  */
 
 /*****************************************************************************/
@@ -88,7 +89,7 @@
 
 static const char bc_drvname[] = "baycom_ser_fdx";
 static const char bc_drvinfo[] = KERN_INFO "baycom_ser_fdx: (C) 1996-2000 Thomas Sailer, HB9JNX/AE4WA\n"
-KERN_INFO "baycom_ser_fdx: version 0.9 compiled " __TIME__ " " __DATE__ "\n";
+KERN_INFO "baycom_ser_fdx: version 0.10 compiled " __TIME__ " " __DATE__ "\n";
 
 /* --------------------------------------------------------------------- */
 
@@ -628,14 +629,15 @@
          */
         for (i = 0; i < NR_PORTS; i++) {
                 struct net_device *dev = baycom_device+i;
- sprintf(dev->name, "bcsf%d", i);
+ char ifname[IFNAMSIZ];
 
+ sprintf(ifname, "bcsf%d", i);
                 if (!mode[i])
                         set_hw = 0;
                 if (!set_hw)
                         iobase[i] = irq[i] = 0;
                 j = hdlcdrv_register_hdlcdrv(dev, &ser12_ops, sizeof(struct baycom_state),
- dev->name, iobase[i], irq[i], 0);
+ ifname, iobase[i], irq[i], 0);
                 if (!j) {
                         bc = (struct baycom_state *)dev->priv;
                         if (set_hw && baycom_setmode(bc, mode[i]))
--- drivers/net/hamradio/baycom_ser_hdx.c.orig Mon Jul 3 16:00:47 2000
+++ drivers/net/hamradio/baycom_ser_hdx.c Mon Jul 3 16:05:34 2000
@@ -56,6 +56,7 @@
  * 0.7 03.08.1999 adapt to Linus' new __setup/__initcall
  * 0.8 10.08.1999 use module_init/module_exit
  * 0.9 12.02.2000 adapted to softnet driver interface
+ * 0.10 03.07.2000 fix interface name handling
  */
 
 /*****************************************************************************/
@@ -78,7 +79,7 @@
 
 static const char bc_drvname[] = "baycom_ser_hdx";
 static const char bc_drvinfo[] = KERN_INFO "baycom_ser_hdx: (C) 1996-2000 Thomas Sailer, HB9JNX/AE4WA\n"
-KERN_INFO "baycom_ser_hdx: version 0.9 compiled " __TIME__ " " __DATE__ "\n";
+KERN_INFO "baycom_ser_hdx: version 0.10 compiled " __TIME__ " " __DATE__ "\n";
 
 /* --------------------------------------------------------------------- */
 
@@ -668,14 +669,15 @@
          */
         for (i = 0; i < NR_PORTS; i++) {
                 struct net_device *dev = baycom_device+i;
- sprintf(dev->name, "bcsh%d", i);
+ char ifname[IFNAMSIZ];
 
+ sprintf(ifname, "bcsh%d", i);
                 if (!mode[i])
                         set_hw = 0;
                 if (!set_hw)
                         iobase[i] = irq[i] = 0;
                 j = hdlcdrv_register_hdlcdrv(dev, &ser12_ops, sizeof(struct baycom_state),
- dev->name, iobase[i], irq[i], 0);
+ ifname, iobase[i], irq[i], 0);
                 if (!j) {
                         bc = (struct baycom_state *)dev->priv;
                         if (set_hw && baycom_setmode(bc, mode[i]))

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



This archive was generated by hypermail 2b29 : Fri Jul 07 2000 - 21:00:12 EST