patch-2.4.4 linux/drivers/isdn/isdn_common.c
Next file: linux/drivers/isdn/isdn_net.c
Previous file: linux/drivers/isdn/icn/icn.h
Back to the patch index
Back to the overall index
- Lines: 109
- Date:
Wed Apr 18 11:49:14 2001
- Orig file:
v2.4.3/linux/drivers/isdn/isdn_common.c
- Orig date:
Fri Mar 2 11:12:10 2001
diff -u --recursive --new-file v2.4.3/linux/drivers/isdn/isdn_common.c linux/drivers/isdn/isdn_common.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_common.c,v 1.114.6.8 2001/02/16 16:43:22 kai Exp $
+/* $Id: isdn_common.c,v 1.114.6.10 2001/04/08 19:14:00 kai Exp $
* Linux ISDN subsystem, common used functions (linklevel).
*
@@ -51,7 +51,7 @@
isdn_dev *dev;
-static char *isdn_revision = "$Revision: 1.114.6.8 $";
+static char *isdn_revision = "$Revision: 1.114.6.10 $";
extern char *isdn_net_revision;
extern char *isdn_tty_revision;
@@ -260,7 +260,6 @@
static int isdn_timer_cnt1 = 0;
static int isdn_timer_cnt2 = 0;
static int isdn_timer_cnt3 = 0;
-static int isdn_timer_cnt4 = 0;
static void
isdn_timer_funct(ulong dummy)
@@ -284,16 +283,11 @@
isdn_timer_cnt2 = 0;
if (tf & ISDN_TIMER_NETHANGUP)
isdn_net_autohup();
- if (++isdn_timer_cnt3 > ISDN_TIMER_RINGING) {
+ if (++isdn_timer_cnt3 >= ISDN_TIMER_RINGING) {
isdn_timer_cnt3 = 0;
if (tf & ISDN_TIMER_MODEMRING)
isdn_tty_modem_ring();
}
- if (++isdn_timer_cnt4 > ISDN_TIMER_KEEPINT) {
- isdn_timer_cnt4 = 0;
- if (tf & ISDN_TIMER_KEEPALIVE)
- isdn_net_slarp_out();
- }
if (tf & ISDN_TIMER_CARRIER)
isdn_tty_carrier_timeout();
}
@@ -312,7 +306,7 @@
void
isdn_timer_ctrl(int tf, int onoff)
{
- int flags;
+ int flags, old_tflags;
save_flags(flags);
cli();
@@ -321,11 +315,12 @@
isdn_timer_cnt1 = 0;
isdn_timer_cnt2 = 0;
}
+ old_tflags = dev->tflags;
if (onoff)
dev->tflags |= tf;
else
dev->tflags &= ~tf;
- if (dev->tflags)
+ if (dev->tflags && !old_tflags)
mod_timer(&dev->timer, jiffies+ISDN_TIMER_RES);
restore_flags(flags);
}
@@ -1026,7 +1021,7 @@
retval = -ENODEV;
goto out;
}
- if (minor < ISDN_MINOR_CTRL) {
+ if (minor <= ISDN_MINOR_BMAX) {
printk(KERN_WARNING "isdn_read minor %d obsolete!\n", minor);
drvidx = isdn_minor2drv(minor);
if (drvidx < 0) {
@@ -1119,7 +1114,7 @@
return -ENODEV;
lock_kernel();
- if (minor < ISDN_MINOR_CTRL) {
+ if (minor <= ISDN_MINOR_BMAX) {
printk(KERN_WARNING "isdn_write minor %d obsolete!\n", minor);
drvidx = isdn_minor2drv(minor);
if (drvidx < 0) {
@@ -1272,7 +1267,7 @@
}
if (!dev->drivers)
return -ENODEV;
- if (minor < ISDN_MINOR_CTRL) {
+ if (minor <= ISDN_MINOR_BMAX) {
drvidx = isdn_minor2drv(minor);
if (drvidx < 0)
return -ENODEV;
@@ -1687,7 +1682,7 @@
}
if (!dev->channels)
goto out;
- if (minor < ISDN_MINOR_CTRL) {
+ if (minor <= ISDN_MINOR_BMAX) {
printk(KERN_WARNING "isdn_open minor %d obsolete!\n", minor);
drvidx = isdn_minor2drv(minor);
if (drvidx < 0)
@@ -1747,7 +1742,7 @@
goto out;
}
isdn_unlock_drivers();
- if (minor < ISDN_MINOR_CTRL)
+ if (minor <= ISDN_MINOR_BMAX)
goto out;
if (minor <= ISDN_MINOR_CTRLMAX) {
if (dev->profd == current)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)