Hi, all.
I'm trying kernel 2.4.0-test13-pre2. But it has a problem in
CONFIG_ATM.

In net/Config.in, we seletct CONFIG_ATM by bool, CONFIG_ATM_LANE
and CONFIG_ATM_MPOA by tristate. But net/atm/common.c calls two
function i.e. atm_lane_init and atm_mpoa_init, there also in
net/atm/{lane_mpoa_init.c,mpoa_caches.c}. When CONFIG_ATM_LANE or
CONFIG_ATM_MPOA is defined as module, the two functions are
unreferenced. So, I will put a simple patch. But I feel its patch
redundancy against two *.c files.

Regards
Daiki Matsuda

--- linux/net/atm/common.c.old  Fri Dec 15 23:48:51 2000
+++ linux/net/atm/common.c      Sat Dec 16 00:07:29 2000
@@ -607,8 +607,10 @@
 #if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE)
                 case ATMLEC_CTRL:
                         if (!capable(CAP_NET_ADMIN)) return -EPERM;
+#ifndef CONFIG_ATM_LANE_MODULE
                         if (atm_lane_ops.lecd_attach == NULL)
                                 atm_lane_init();
+#endif
                         if (atm_lane_ops.lecd_attach == NULL) /* try again */
                                 return -ENOSYS;
                         error = atm_lane_ops.lecd_attach(vcc, (int)arg);
@@ -624,8 +626,10 @@
 #if defined(CONFIG_ATM_MPOA) || defined(CONFIG_ATM_MPOA_MODULE)
                case ATMMPC_CTRL:
                        if (!capable(CAP_NET_ADMIN)) return -EPERM;
+#ifndef CONFIG_ATM_MPOA_MODULE
                         if (atm_mpoa_ops.mpoad_attach == NULL)
                                 atm_mpoa_init();
+#endif
                         if (atm_mpoa_ops.mpoad_attach == NULL) /* try again */
                                 return -ENOSYS;
                         error = atm_mpoa_ops.mpoad_attach(vcc, (int)arg);

Reply via email to