summaryrefslogtreecommitdiffstats
path: root/drivers/net/wan
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-08-28 22:00:09 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-08-28 22:00:09 +0000
commit1a1d77dd589de5a567fa95e36aa6999c704ceca4 (patch)
tree141e31f89f18b9fe0831f31852e0435ceaccafc5 /drivers/net/wan
parentfb9c690a18b3d66925a65b17441c37fa14d4370b (diff)
Merge with 2.4.0-test7.
Diffstat (limited to 'drivers/net/wan')
-rw-r--r--drivers/net/wan/Config.in159
-rw-r--r--drivers/net/wan/Makefile297
-rw-r--r--drivers/net/wan/cycx_main.c2
-rw-r--r--drivers/net/wan/hostess_sv11.c1
-rw-r--r--drivers/net/wan/sbni.c1
-rw-r--r--drivers/net/wan/sealevel.c1
-rw-r--r--drivers/net/wan/syncppp.c2
7 files changed, 142 insertions, 321 deletions
diff --git a/drivers/net/wan/Config.in b/drivers/net/wan/Config.in
index 4621d3981..4c8517081 100644
--- a/drivers/net/wan/Config.in
+++ b/drivers/net/wan/Config.in
@@ -7,86 +7,87 @@ comment 'Wan interfaces'
bool 'Wan interfaces support' CONFIG_WAN
if [ "$CONFIG_WAN" = "y" ]; then
+# There is no way to detect a comtrol sv11 - force it modular for now.
- # There is no way to detect a comtrol sv11 - force it modular for now.
-
- dep_tristate 'Comtrol Hostess SV-11 support' CONFIG_HOSTESS_SV11 m
-
- # The COSA/SRP driver has not been tested as non-modular yet.
-
- dep_tristate 'COSA/SRP sync serial boards support' CONFIG_COSA m
-
- #
- # COMX drivers
- #
-
- tristate 'MultiGate (COMX) synchronous serial boards support' CONFIG_COMX
-
- #
- # Lan Media's board. Currently 1000, 1200, 5200, 5245
- #
- tristate 'LanMedia Corp. SSI/V.35, T1/E1, HSSI, T3 boards' CONFIG_LANMEDIA
-
- if [ "$CONFIG_COMX" != "n" ]; then
- dep_tristate ' Support for COMX/CMX/HiCOMX boards' CONFIG_COMX_HW_COMX $CONFIG_COMX
- dep_tristate ' Support for LoCOMX board' CONFIG_COMX_HW_LOCOMX $CONFIG_COMX
- dep_tristate ' Support for MixCOM board' CONFIG_COMX_HW_MIXCOM $CONFIG_COMX
- dep_tristate ' Support for HDLC and syncPPP protocols on MultiGate boards' CONFIG_COMX_PROTO_PPP $CONFIG_COMX
- if [ "$CONFIG_LAPB" = "y" ]; then
- dep_tristate ' Support for LAPB protocol on MultiGate boards' CONFIG_COMX_PROTO_LAPB $CONFIG_COMX
- fi
- if [ "$CONFIG_LAPB" = "m" ]; then
- dep_tristate ' Support for LAPB protocol on MultiGate boards' CONFIG_COMX_PROTO_LAPB $CONFIG_LAPB
- fi
- dep_tristate ' Support for Frame Relay on MultiGate boards' CONFIG_COMX_PROTO_FR $CONFIG_COMX
- fi
-
- # There is no way to detect a Sealevel board. Force it modular
-
- dep_tristate 'Sealevel Systems 4021 support' CONFIG_SEALEVEL_4021 m
-
- dep_tristate 'SyncLink HDLC/SYNCPPP support' CONFIG_SYNCLINK_SYNCPPP m
-
- tristate 'Frame relay DLCI support' CONFIG_DLCI
- if [ "$CONFIG_DLCI" != "n" ]; then
- int 'Max open DLCI' CONFIG_DLCI_COUNT 24
- int 'Max DLCI per device' CONFIG_DLCI_MAX 8
- dep_tristate ' SDLA (Sangoma S502/S508) support' CONFIG_SDLA $CONFIG_DLCI
- fi
-
- # Wan router core.
-
- if [ "$CONFIG_WAN_ROUTER" != "n" ]; then
- bool 'WAN router drivers' CONFIG_WAN_ROUTER_DRIVERS
- if [ "$CONFIG_WAN_ROUTER_DRIVERS" = "y" ]; then
- dep_tristate ' Sangoma WANPIPE(tm) multiprotocol cards' CONFIG_VENDOR_SANGOMA $CONFIG_WAN_ROUTER_DRIVERS
- if [ "$CONFIG_VENDOR_SANGOMA" != "n" ]; then
- int ' Maximum number of cards' CONFIG_WANPIPE_CARDS 1
- bool ' WANPIPE Cisco HDLC support' CONFIG_WANPIPE_CHDLC
- if [ "$CONFIG_OBSOLETE" = "y" ]; then
- bool ' WANPIPE Frame Relay support' CONFIG_WANPIPE_FR
- bool ' WANPIPE X.25 support' CONFIG_WANPIPE_X25
- fi
- bool ' WANPIPE PPP support' CONFIG_WANPIPE_PPP
- fi
- if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
- dep_tristate ' Cyclom 2X(tm) cards (EXPERIMENTAL)' CONFIG_CYCLADES_SYNC $CONFIG_WAN_ROUTER_DRIVERS
- if [ "$CONFIG_CYCLADES_SYNC" != "n" ]; then
- bool ' Cyclom 2X X.25 support' CONFIG_CYCLOMX_X25
- fi
- fi
- fi
- fi
-
- # X.25 network drivers
-
- dep_tristate 'LAPB over Ethernet driver' CONFIG_LAPBETHER $CONFIG_LAPB $CONFIG_X25
- dep_tristate 'X.25 async driver' CONFIG_X25_ASY $CONFIG_LAPB $CONFIG_X25
-
- if [ "$CONFIG_X86" = "y" ]; then
- tristate 'SBNI12-xx support' CONFIG_SBNI
- fi
+ dep_tristate ' Comtrol Hostess SV-11 support' CONFIG_HOSTESS_SV11 m
+
+# The COSA/SRP driver has not been tested as non-modular yet.
+
+ dep_tristate ' COSA/SRP sync serial boards support' CONFIG_COSA m
+
+#
+# COMX drivers
+#
+
+ tristate ' MultiGate (COMX) synchronous serial boards support' CONFIG_COMX
+ if [ "$CONFIG_COMX" != "n" ]; then
+ dep_tristate ' Support for COMX/CMX/HiCOMX boards' CONFIG_COMX_HW_COMX $CONFIG_COMX
+ dep_tristate ' Support for LoCOMX board' CONFIG_COMX_HW_LOCOMX $CONFIG_COMX
+ dep_tristate ' Support for MixCOM board' CONFIG_COMX_HW_MIXCOM $CONFIG_COMX
+ dep_tristate ' Support for HDLC and syncPPP protocols on MultiGate boards' CONFIG_COMX_PROTO_PPP $CONFIG_COMX
+ if [ "$CONFIG_LAPB" = "y" ]; then
+ dep_tristate ' Support for LAPB protocol on MultiGate boards' CONFIG_COMX_PROTO_LAPB $CONFIG_COMX
+ fi
+ if [ "$CONFIG_LAPB" = "m" ]; then
+ dep_tristate ' Support for LAPB protocol on MultiGate boards' CONFIG_COMX_PROTO_LAPB $CONFIG_LAPB
+ fi
+ dep_tristate ' Support for Frame Relay on MultiGate boards' CONFIG_COMX_PROTO_FR $CONFIG_COMX
+ fi
+
+#
+# Lan Media's board. Currently 1000, 1200, 5200, 5245
+#
+
+ tristate ' LanMedia Corp. SSI/V.35, T1/E1, HSSI, T3 boards' CONFIG_LANMEDIA
+
+# There is no way to detect a Sealevel board. Force it modular
+
+ dep_tristate ' Sealevel Systems 4021 support' CONFIG_SEALEVEL_4021 m
+
+ dep_tristate ' SyncLink HDLC/SYNCPPP support' CONFIG_SYNCLINK_SYNCPPP m
+
+ tristate ' Frame relay DLCI support' CONFIG_DLCI
+ if [ "$CONFIG_DLCI" != "n" ]; then
+ int ' Max open DLCI' CONFIG_DLCI_COUNT 24
+ int ' Max DLCI per device' CONFIG_DLCI_MAX 8
+ dep_tristate ' SDLA (Sangoma S502/S508) support' CONFIG_SDLA $CONFIG_DLCI
+ fi
+
+# Wan router core.
+
+ if [ "$CONFIG_WAN_ROUTER" != "n" ]; then
+ bool ' WAN router drivers' CONFIG_WAN_ROUTER_DRIVERS
+ if [ "$CONFIG_WAN_ROUTER_DRIVERS" = "y" ]; then
+ dep_tristate ' Sangoma WANPIPE(tm) multiprotocol cards' CONFIG_VENDOR_SANGOMA $CONFIG_WAN_ROUTER_DRIVERS
+ if [ "$CONFIG_VENDOR_SANGOMA" != "n" ]; then
+ int ' Maximum number of cards' CONFIG_WANPIPE_CARDS 1
+ bool ' WANPIPE Cisco HDLC support' CONFIG_WANPIPE_CHDLC
+ if [ "$CONFIG_OBSOLETE" = "y" ]; then
+ bool ' WANPIPE Frame Relay support (OBSOLETE)' CONFIG_WANPIPE_FR
+ bool ' WANPIPE X.25 support (OBSOLETE)' CONFIG_WANPIPE_X25
+ fi
+ bool ' WANPIPE PPP support' CONFIG_WANPIPE_PPP
+ fi
+ if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+ dep_tristate ' Cyclom 2X(tm) cards (EXPERIMENTAL)' CONFIG_CYCLADES_SYNC $CONFIG_WAN_ROUTER_DRIVERS
+ if [ "$CONFIG_CYCLADES_SYNC" != "n" ]; then
+ bool ' Cyclom 2X X.25 support' CONFIG_CYCLOMX_X25
+ fi
+ fi
+ fi
+ fi
+
+
+# X.25 network drivers
+
+ if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+ dep_tristate ' LAPB over Ethernet driver (EXPERIMENTAL)' CONFIG_LAPBETHER $CONFIG_LAPB $CONFIG_X25
+ dep_tristate ' X.25 async driver (EXPERIMENTAL)' CONFIG_X25_ASY $CONFIG_LAPB $CONFIG_X25
+ fi
+
+ if [ "$CONFIG_X86" = "y" ]; then
+ tristate ' SBNI12-xx support' CONFIG_SBNI
+ fi
fi
endmenu
-
diff --git a/drivers/net/wan/Makefile b/drivers/net/wan/Makefile
index f7f3fe58a..5b13578e7 100644
--- a/drivers/net/wan/Makefile
+++ b/drivers/net/wan/Makefile
@@ -1,269 +1,86 @@
-# File: drivers/net/wan/Makefile
#
# Makefile for the Linux network (wan) device drivers.
#
-# Note! Dependencies are done automagically by 'make dep', which also
-# removes any old dependencies. DON'T put your own dependencies here
-# unless it's something special (ie not a .c file).
-#
-# Note 2! The CFLAGS definition is now inherited from the
-# parent makefile.
+# 3 Aug 2000, Christoph Hellwig <hch@caldera.de>
+# Rewritten to use lists instead of if-statements.
#
SUB_DIRS :=
MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS) lmc
-L_TARGET := wan.a
-L_OBJS :=
-M_OBJS :=
-
-# Need these to keep track of whether the 82530 or SYNCPPP
-# modules should really go in the kernel or a module.
-CONFIG_85230_BUILTIN :=
-CONFIG_85230_MODULE :=
-CONFIG_SYNCPPP_BUILTIN :=
-CONFIG_SYNCPPP_MODULE :=
-
-ifeq ($(CONFIG_HOSTESS_SV11),y)
-L_OBJS += hostess_sv11.o
-CONFIG_85230_BUILTIN = y
-CONFIG_SYNCPPP_BUILTIN = y
-else
- ifeq ($(CONFIG_HOSTESS_SV11),m)
- CONFIG_85230_MODULE = y
- CONFIG_SYNCPPP_MODULE = y
- M_OBJS += hostess_sv11.o
- endif
-endif
-
-ifeq ($(CONFIG_SEALEVEL_4021),y)
-L_OBJS += sealevel.o
-CONFIG_85230_BUILTIN = y
-CONFIG_SYNCPPP_BUILTIN = y
-else
- ifeq ($(CONFIG_SEALEVEL_4021),m)
- CONFIG_85230_MODULE = y
- CONFIG_SYNCPPP_MODULE = y
- M_OBJS += sealevel.o
- endif
-endif
-
-ifeq ($(CONFIG_SYNCLINK_SYNCPPP),y)
-CONFIG_SYNCPPP_BUILTIN = y
-else
- ifeq ($(CONFIG_SYNCLINK_SYNCPPP),m)
- CONFIG_SYNCPPP_MODULE = y
- endif
-endif
-
-ifeq ($(CONFIG_COMX),y)
-LX_OBJS += comx.o
-else
- ifeq ($(CONFIG_COMX),m)
- MX_OBJS += comx.o
- endif
-endif
-
-ifeq ($(CONFIG_COMX_HW_COMX),y)
-L_OBJS += comx-hw-comx.o
-else
- ifeq ($(CONFIG_COMX_HW_COMX),m)
- M_OBJS += comx-hw-comx.o
- endif
-endif
-
-ifeq ($(CONFIG_COMX_HW_LOCOMX),y)
-L_OBJS += comx-hw-locomx.o
-CONFIG_85230_BUILTIN=y
-CONFIG_SYNCPPP_BUILTIN = y
-else
- ifeq ($(CONFIG_COMX_HW_LOCOMX),m)
- M_OBJS += comx-hw-locomx.o
- CONFIG_85230_MODULE=y
- CONFIG_SYNCPPP_MODULE = y
- endif
-endif
+O_TARGET := wan.o
-ifeq ($(CONFIG_COMX_HW_MIXCOM),y)
-L_OBJS += comx-hw-mixcom.o
-else
- ifeq ($(CONFIG_COMX_HW_MIXCOM),m)
- M_OBJS += comx-hw-mixcom.o
- endif
-endif
+export-objs = z85230.o syncppp.o comx.o sdladrv.o cycx_drv.o
+list-multi = wanpipe.o cyclomx.o
-ifeq ($(CONFIG_COMX_PROTO_PPP),y)
-L_OBJS += comx-proto-ppp.o
-CONFIG_SYNCPPP_BUILTIN = y
-else
- ifeq ($(CONFIG_COMX_PROTO_PPP),m)
- M_OBJS += comx-proto-ppp.o
- CONFIG_SYNCPPP_MODULE = y
- endif
-endif
+wanpipe-objs = sdlamain.o $(wanpipe-y)
+wanpipe-$(CONFIG_WANPIPE_X25) += sdla_x25.o
+wanpipe-$(CONFIG_WANPIPE_FR) += sdla_fr.o
+wanpipe-$(CONFIG_WANPIPE_CHDLC) += sdla_chdlc.o
+wanpipe-$(CONFIG_WANPIPE_PPP) += sdla_ppp.o
-ifeq ($(CONFIG_COMX_PROTO_LAPB),y)
-L_OBJS += comx-proto-lapb.o
-else
- ifeq ($(CONFIG_COMX_PROTO_LAPB),m)
- M_OBJS += comx-proto-lapb.o
- endif
-endif
+cyclomx-objs = cycx_main.o $(cyclomx-y)
+cyclomx-$(CONFIG_CYCLOMX_X25) += cycx_x25.o
-ifeq ($(CONFIG_COMX_PROTO_FR),y)
-L_OBJS += comx-proto-fr.o
-else
- ifeq ($(CONFIG_COMX_PROTO_FR),m)
- M_OBJS += comx-proto-fr.o
- endif
-endif
-ifeq ($(CONFIG_COSA),y)
-L_OBJS += cosa.o
-CONFIG_SYNCPPP_BUILTIN = y
-else
- ifeq ($(CONFIG_COSA),m)
- CONFIG_SYNCPPP_MODULE = y
- M_OBJS += cosa.o
- endif
-endif
+obj-$(CONFIG_HOSTESS_SV11) += z85230.o syncppp.o hostess_sv11.o
+obj-$(CONFIG_SEALEVEL_4021) += z85230.o syncppp.o sealevel.o
+obj-$(CONFIG_COMX) += comx.o
+obj-$(CONFIG_COMX_HW_COMX) += comx-hw-comx.o
+obj-$(CONFIG_COMX_HW_LOCOMX) += z85230.o syncppp.o comx-hw-locomx.o
+obj-$(CONFIG_COMX_HW_MIXCOM) += comx-hw-mixcom.o
+obj-$(CONFIG_COMX_PROTO_PPP) += syncppp.o comx-proto-ppp.o
+obj-$(CONFIG_COMX_PROTO_LAPB) += comx-proto-lapb.o
+obj-$(CONFIG_COMX_PROTO_FR) += comx-proto-fr.o
+obj-$(CONFIG_COSA) += syncppp.o cosa.o
+obj-$(CONFIG_LANMEDIA) += syncppp.o
ifeq ($(CONFIG_LANMEDIA),y)
SUB_DIRS += lmc
MOD_IN_SUB_DIRS += lmc
- L_OBJS += lmc/lmc.o
- CONFIG_SYNCPPP_BUILTIN = y
+ obj-y += lmc/lmc.o
else
ifeq ($(CONFIG_LANMEDIA),m)
- CONFIG_SYNCPPP_MODULE = y
MOD_IN_SUB_DIRS += lmc
endif
endif
-
-# If anything built-in uses syncppp, then build it into the kernel also.
-# If not, but a module uses it, build as a module.
-
-ifdef CONFIG_SYNCPPP_BUILTIN
-LX_OBJS += syncppp.o
-else
- ifdef CONFIG_SYNCPPP_MODULE
- MX_OBJS += syncppp.o
- endif
-endif
-
-# If anything built-in uses Z85230, then build it into the kernel also.
-# If not, but a module uses it, build as a module.
-
-ifdef CONFIG_85230_BUILTIN
-LX_OBJS += z85230.o
-else
- ifdef CONFIG_85230_MODULE
- MX_OBJS += z85230.o
- endif
-endif
-
-ifeq ($(CONFIG_DLCI),y)
-L_OBJS += dlci.o
-else
- ifeq ($(CONFIG_DLCI),m)
- M_OBJS += dlci.o
- endif
-endif
-
-ifeq ($(CONFIG_SDLA),y)
- L_OBJS += sdla.o
-else
- ifeq ($(CONFIG_SDLA),m)
- M_OBJS += sdla.o
- endif
-endif
-
-ifeq ($(CONFIG_VENDOR_SANGOMA),y)
- LX_OBJS += sdladrv.o
- L_OBJS += sdlamain.o
- ifeq ($(CONFIG_WANPIPE_X25),y)
- L_OBJS += sdla_x25.o
- endif
- ifeq ($(CONFIG_WANPIPE_CHDLC),y)
- L_OBJS += sdla_chdlc.o
- endif
- ifeq ($(CONFIG_WANPIPE_FR),y)
- L_OBJS += sdla_fr.o
- endif
- ifeq ($(CONFIG_WANPIPE_PPP),y)
- L_OBJS += sdla_ppp.o
- endif
-endif
-
-ifeq ($(CONFIG_VENDOR_SANGOMA),m)
- MX_OBJS += sdladrv.o
- M_OBJS += wanpipe.o
- WANPIPE_OBJS = sdlamain.o
- ifeq ($(CONFIG_WANPIPE_X25),y)
- WANPIPE_OBJS += sdla_x25.o
- endif
- ifeq ($(CONFIG_WANPIPE_FR),y)
- WANPIPE_OBJS += sdla_fr.o
- endif
- ifeq ($(CONFIG_WANPIPE_CHDLC),y)
- WANPIPE_OBJS += sdla_chdlc.o
- endif
- ifeq ($(CONFIG_WANPIPE_PPP),y)
- WANPIPE_OBJS += sdla_ppp.o
- endif
-endif
-
-ifeq ($(CONFIG_CYCLADES_SYNC),y)
- LX_OBJS += cycx_drv.o
- L_OBJS += cycx_main.o
- ifeq ($(CONFIG_CYCLOMX_X25),y)
- L_OBJS += cycx_x25.o
- endif
-endif
-
-ifeq ($(CONFIG_CYCLADES_SYNC),m)
- MX_OBJS += cycx_drv.o
- M_OBJS += cyclomx.o
- CYCLOMX_OBJS = cycx_main.o
- ifeq ($(CONFIG_CYCLOMX_X25),y)
- CYCLOMX_OBJS += cycx_x25.o
- endif
-endif
-
-ifeq ($(CONFIG_X25_ASY),y)
-L_OBJS += x25_asy.o
-else
- ifeq ($(CONFIG_X25_ASY),m)
- M_OBJS += x25_asy.o
- endif
-endif
-
-ifeq ($(CONFIG_LAPBETHER),y)
-L_OBJS += lapbether.o
-else
- ifeq ($(CONFIG_LAPBETHER),m)
- M_OBJS += lapbether.o
- endif
-endif
-
-ifeq ($(CONFIG_SBNI),y)
-L_OBJS += sbni.o
-else
- ifeq ($(CONFIG_SBNI),m)
- M_OBJS += sbni.o
- endif
-endif
+obj-$(CONFIG_DLCI) += dlci.o
+obj-$(CONFIG_SDLA) += sdla.o
+obj-$(CONFIG_VENDOR_SANGOMA) += sdladrv.o wanpipe.o
+obj-$(CONFIG_CYCLADES_SYNC) += cycx_drv.o cyclomx.o
+obj-$(CONFIG_LAPBETHER) += lapbether.o
+obj-$(CONFIG_SBNI) += sbni.o
+
+
+# Extract lists of the multi-part drivers.
+# The 'int-*' lists are the intermediate files used to build the multi's.
+multi-y := $(filter $(list-multi), $(obj-y))
+multi-m := $(filter $(list-multi), $(obj-m))
+int-y := $(sort $(foreach m, $(multi-y), $($(basename $(m))-objs)))
+int-m := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs)))
+
+# Files that are both resident and modular: remove from modular.
+obj-m := $(filter-out $(obj-y), $(obj-m))
+int-m := $(filter-out $(int-y), $(int-m))
+
+# Take multi-part drivers out of obj-y and put components in.
+obj-y := $(filter-out $(list-multi), $(obj-y)) $(int-y)
+
+# Translate to Rules.make lists.
+O_OBJS := $(filter-out $(export-objs), $(obj-y))
+OX_OBJS := $(filter $(export-objs), $(obj-y))
+M_OBJS := $(sort $(filter-out $(export-objs), $(obj-m)))
+MX_OBJS := $(sort $(filter $(export-objs), $(obj-m)))
+MI_OBJS := $(sort $(filter-out $(export-objs), $(int-m)))
+MIX_OBJS := $(sort $(filter $(export-objs), $(int-m)))
include $(TOPDIR)/Rules.make
-clean:
- rm -f core *.o *.a *.s
-
-wanpipe.o: $(WANPIPE_OBJS)
- $(LD) -r -o $@ $(WANPIPE_OBJS)
+wanpipe.o: $(wanpipe-objs)
+ $(LD) -r -o $@ $(wanpipe-objs)
-cyclomx.o: $(CYCLOMX_OBJS)
- $(LD) -r -o $@ $(CYCLOMX_OBJS)
+cyclomx.o: $(cyclomx-objs)
+ $(LD) -r -o $@ $(cyclomx-objs)
diff --git a/drivers/net/wan/cycx_main.c b/drivers/net/wan/cycx_main.c
index 207c9e21c..0426143af 100644
--- a/drivers/net/wan/cycx_main.c
+++ b/drivers/net/wan/cycx_main.c
@@ -101,7 +101,7 @@ static cycx_t *card_array = NULL; /* adapter data space */
* < 0 error.
* Context: process
*/
-static int __init cyclomx_init (void)
+int __init cyclomx_init (void)
{
int cnt, err = 0;
diff --git a/drivers/net/wan/hostess_sv11.c b/drivers/net/wan/hostess_sv11.c
index 09d6c9556..4c7bf4bf4 100644
--- a/drivers/net/wan/hostess_sv11.c
+++ b/drivers/net/wan/hostess_sv11.c
@@ -305,6 +305,7 @@ static struct sv11_device *sv11_init(int iobase, int irq)
if(z8530_init(dev)!=0)
{
printk(KERN_ERR "Z8530 series device not found.\n");
+ restore_flags(flags);
goto dmafail2;
}
z8530_channel_load(&dev->chanB, z8530_dead_port);
diff --git a/drivers/net/wan/sbni.c b/drivers/net/wan/sbni.c
index 37ef27487..b4073b00f 100644
--- a/drivers/net/wan/sbni.c
+++ b/drivers/net/wan/sbni.c
@@ -448,6 +448,7 @@ static int __init sbni_probe1(struct net_device *dev, int ioaddr)
if(dev->priv == NULL)
{
DP( printk("%s: cannot allocate memory\n", dev->name); )
+ free_irq(dev->irq, dev);
return -ENOMEM;
}
diff --git a/drivers/net/wan/sealevel.c b/drivers/net/wan/sealevel.c
index f1a895e36..2128a386e 100644
--- a/drivers/net/wan/sealevel.c
+++ b/drivers/net/wan/sealevel.c
@@ -323,6 +323,7 @@ static struct slvl_board *slvl_init(int iobase, int irq, int txdma, int rxdma, i
if(z8530_init(dev)!=0)
{
printk(KERN_ERR "Z8530 series device not found.\n");
+ restore_flags(flags);
goto dmafail2;
}
if(dev->type==Z85C30)
diff --git a/drivers/net/wan/syncppp.c b/drivers/net/wan/syncppp.c
index 096d8164a..8a62cc8ed 100644
--- a/drivers/net/wan/syncppp.c
+++ b/drivers/net/wan/syncppp.c
@@ -866,7 +866,7 @@ EXPORT_SYMBOL(sppp_close);
*
* Close down any existing synchronous session and commence
* from scratch. In the PPP case this means negotiating LCP/IPCP
- * and friends, while for Cisco HDLC we simply need to staet sending
+ * and friends, while for Cisco HDLC we simply need to start sending
* keepalives
*/