summaryrefslogtreecommitdiffstats
path: root/drivers/net/wan
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-07-15 03:32:22 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-07-15 03:32:22 +0000
commitf1da2c3860e301527d56a1ef0b56c649ee7c4b1b (patch)
tree562b5d2e8b9cb62eb983d78ff6bcf9789e08fcf6 /drivers/net/wan
parent00f11569ac8ca73cbcdef8822de1583e79aee571 (diff)
Merge with Linux 2.4.0-test5-pre1. This works again on Origin UP.
The IP22 cache bugs which are plaguing some machines are still unfixed.
Diffstat (limited to 'drivers/net/wan')
-rw-r--r--drivers/net/wan/Makefile3
-rw-r--r--drivers/net/wan/cosa.c6
-rw-r--r--drivers/net/wan/cycx_main.c12
3 files changed, 9 insertions, 12 deletions
diff --git a/drivers/net/wan/Makefile b/drivers/net/wan/Makefile
index d45f0ccfd..371153a47 100644
--- a/drivers/net/wan/Makefile
+++ b/drivers/net/wan/Makefile
@@ -175,6 +175,7 @@ ifeq ($(CONFIG_SDLA),y)
else
ifeq ($(CONFIG_SDLA),m)
M_OBJS += sdla.o
+ endif
endif
ifeq ($(CONFIG_VENDOR_SANGOMA),y)
@@ -194,8 +195,6 @@ ifeq ($(CONFIG_VENDOR_SANGOMA),y)
endif
endif
-endif
-
ifeq ($(CONFIG_VENDOR_SANGOMA),m)
MX_OBJS += sdladrv.o
M_OBJS += wanpipe.o
diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c
index dc0b212f5..be015f195 100644
--- a/drivers/net/wan/cosa.c
+++ b/drivers/net/wan/cosa.c
@@ -93,6 +93,7 @@
#include <linux/ioport.h>
#include <linux/netdevice.h>
#include <linux/spinlock.h>
+#include <linux/smp_lock.h>
#undef COSA_SLOW_IO /* for testing purposes only */
#undef REALLY_SLOW_IO
@@ -977,13 +978,16 @@ static int cosa_open(struct inode *inode, struct file *file)
static int cosa_release(struct inode *inode, struct file *file)
{
struct channel_data *channel = (struct channel_data *)file->private_data;
- struct cosa_data *cosa = channel->cosa;
+ struct cosa_data *cosa;
unsigned long flags;
+ lock_kernel();
+ cosa = channel->cosa;
spin_lock_irqsave(&cosa->lock, flags);
cosa->usage--;
channel->usage--;
spin_unlock_irqrestore(&cosa->lock, flags);
+ unlock_kernel();
return 0;
}
diff --git a/drivers/net/wan/cycx_main.c b/drivers/net/wan/cycx_main.c
index eff2559d0..207c9e21c 100644
--- a/drivers/net/wan/cycx_main.c
+++ b/drivers/net/wan/cycx_main.c
@@ -13,6 +13,8 @@
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
* ============================================================================
+* 2000/07/13 acme remove useless #ifdef MODULE and crap
+* #if KERNEL_VERSION > blah
* 2000/07/06 acme __exit at cyclomx_cleanup
* 2000/04/02 acme dprintk and cycx_debug
* module_init/module_exit
@@ -50,22 +52,18 @@
unsigned int cycx_debug = 0;
-#ifdef MODULE
MODULE_AUTHOR("Arnaldo Carvalho de Melo");
MODULE_DESCRIPTION("Cyclom 2X Sync Card Driver.");
MODULE_PARM(debug, "i");
MODULE_PARM_DESC(debug, "cyclomx debug level");
-#endif
/* Defines & Macros */
#define DRV_VERSION 0 /* version number */
-#define DRV_RELEASE 8 /* release (minor version) number */
+#define DRV_RELEASE 9 /* release (minor version) number */
#define MAX_CARDS 1 /* max number of adapters */
-#ifndef CONFIG_CYCLOMX_CARDS /* configurable option */
#define CONFIG_CYCLOMX_CARDS 1
-#endif
/* Function Prototypes */
@@ -225,11 +223,7 @@ static int setup (wan_device_t *wandev, wandev_conf_t *conf)
card->hw.dpmsize = CYCX_WINDOWSIZE;
card->hw.fwid = CFID_X25_2X;
card->lock = SPIN_LOCK_UNLOCKED;
-#if LINUX_VERSION_CODE >= 0x020300
init_waitqueue_head(&card->wait_stats);
-#else
- card->wait_stats = NULL;
-#endif
err = cycx_setup(&card->hw, conf->data, conf->data_size);
if (err) {