diff options
Diffstat (limited to 'drivers/isdn/hisax/isdnl3.c')
| -rw-r--r-- | drivers/isdn/hisax/isdnl3.c | 176 | 
1 files changed, 88 insertions, 88 deletions
diff --git a/drivers/isdn/hisax/isdnl3.c b/drivers/isdn/hisax/isdnl3.c index ad291f21b20..45b03840f71 100644 --- a/drivers/isdn/hisax/isdnl3.c +++ b/drivers/isdn/hisax/isdnl3.c @@ -3,7 +3,7 @@   * Author       Karsten Keil   *              based on the teles driver from Jan den Ouden   * Copyright    by Karsten Keil      <keil@isdn4linux.de> - *  + *   * This software may be used and distributed according to the terms   * of the GNU General Public License, incorporated herein by reference.   * @@ -27,12 +27,12 @@ static struct Fsm l3fsm;  enum {  	ST_L3_LC_REL,  	ST_L3_LC_ESTAB_WAIT, -	ST_L3_LC_REL_DELAY,  +	ST_L3_LC_REL_DELAY,  	ST_L3_LC_REL_WAIT,  	ST_L3_LC_ESTAB,  }; -#define L3_STATE_COUNT (ST_L3_LC_ESTAB+1) +#define L3_STATE_COUNT (ST_L3_LC_ESTAB + 1)  static char *strL3State[] =  { @@ -53,7 +53,7 @@ enum {  	EV_TIMEOUT,  }; -#define L3_EVENT_COUNT (EV_TIMEOUT+1) +#define L3_EVENT_COUNT (EV_TIMEOUT + 1)  static char *strL3Event[] =  { @@ -66,8 +66,8 @@ static char *strL3Event[] =  	"EV_TIMEOUT",  }; -static __attribute__((format(printf, 2, 3))) void -l3m_debug(struct FsmInst *fi, char *fmt, ...) +static __printf(2, 3) void +	l3m_debug(struct FsmInst *fi, char *fmt, ...)  {  	va_list args;  	struct PStack *st = fi->userdata; @@ -78,7 +78,7 @@ l3m_debug(struct FsmInst *fi, char *fmt, ...)  }  u_char * -findie(u_char * p, int size, u_char ie, int wanted_set) +findie(u_char *p, int size, u_char ie, int wanted_set)  {  	int l, codeset, maincodeset;  	u_char *pend = p + size; @@ -102,14 +102,14 @@ findie(u_char * p, int size, u_char ie, int wanted_set)  		else {  			if (codeset == wanted_set) {  				if (*p == ie) -                                  { /* improved length check (Werner Cornelius) */ -                                    if ((pend - p) < 2)  -                                      return(NULL);  -                                    if (*(p+1) > (pend - (p+2)))  -                                      return(NULL);  -                                    return (p); -                                  }            -                                   +				{ /* improved length check (Werner Cornelius) */ +					if ((pend - p) < 2) +						return (NULL); +					if (*(p + 1) > (pend - (p + 2))) +						return (NULL); +					return (p); +				} +  				if (*p > ie)  					return (NULL);  			} @@ -123,16 +123,16 @@ findie(u_char * p, int size, u_char ie, int wanted_set)  }  int -getcallref(u_char * p) +getcallref(u_char *p)  {  	int l, cr = 0;  	p++;			/* prot discr */  	if (*p & 0xfe)		/* wrong callref BRI only 1 octet*/ -		return(-2); +		return (-2);  	l = 0xf & *p++;		/* callref length */  	if (!l)			/* dummy CallRef */ -		return(-1); +		return (-1);  	cr = *p++;  	return (cr);  } @@ -153,7 +153,7 @@ void  newl3state(struct l3_process *pc, int state)  {  	if (pc->debug & L3_DEB_STATE) -		l3_debug(pc->st, "newstate cr %d %d --> %d",  +		l3_debug(pc->st, "newstate cr %d %d --> %d",  			 pc->callref & 0x7F,  			 pc->state, state);  	pc->state = state; @@ -228,8 +228,8 @@ no_l3_proto(struct PStack *st, int pr, void *arg)  static int  no_l3_proto_spec(struct PStack *st, isdn_ctrl *ic)  { -	printk(KERN_WARNING "HiSax: no specific protocol handler for proto %lu\n",ic->arg & 0xFF); -	return(-1); +	printk(KERN_WARNING "HiSax: no specific protocol handler for proto %lu\n", ic->arg & 0xFF); +	return (-1);  }  struct l3_process @@ -287,7 +287,7 @@ release_l3_process(struct l3_process *p)  			if (pp)  				pp->next = np->next;  			else if (!(p->st->l3.proc = np->next) && -				!test_bit(FLG_PTP, &p->st->l2.flag)) { +				 !test_bit(FLG_PTP, &p->st->l2.flag)) {  				if (p->debug)  					l3_debug(p->st, "release_l3_process: last process");  				if (skb_queue_empty(&p->st->l3.squeue)) { @@ -301,7 +301,7 @@ release_l3_process(struct l3_process *p)  					if (p->debug)  						l3_debug(p->st, "release_l3_process: not release link");  				} -			}  +			}  			kfree(p);  			return;  		} @@ -340,42 +340,42 @@ setstack_l3dc(struct PStack *st, struct Channel *chanp)  	st->l3.l3m.userdata = st;  	st->l3.l3m.userint = 0;  	st->l3.l3m.printdebug = l3m_debug; -        FsmInitTimer(&st->l3.l3m, &st->l3.l3m_timer); +	FsmInitTimer(&st->l3.l3m, &st->l3.l3m_timer);  	strcpy(st->l3.debug_id, "L3DC ");  	st->lli.l4l3_proto = no_l3_proto_spec; -#ifdef	CONFIG_HISAX_EURO +#ifdef CONFIG_HISAX_EURO  	if (st->protocol == ISDN_PTYPE_EURO) {  		setstack_dss1(st);  	} else  #endif -#ifdef  CONFIG_HISAX_NI1 -	if (st->protocol == ISDN_PTYPE_NI1) { -		setstack_ni1(st); -	} else +#ifdef CONFIG_HISAX_NI1 +		if (st->protocol == ISDN_PTYPE_NI1) { +			setstack_ni1(st); +		} else  #endif -#ifdef	CONFIG_HISAX_1TR6 -	if (st->protocol == ISDN_PTYPE_1TR6) { -		setstack_1tr6(st); -	} else +#ifdef CONFIG_HISAX_1TR6 +			if (st->protocol == ISDN_PTYPE_1TR6) { +				setstack_1tr6(st); +			} else  #endif -	if (st->protocol == ISDN_PTYPE_LEASED) { -		st->lli.l4l3 = no_l3_proto; -		st->l2.l2l3 = no_l3_proto; -                st->l3.l3ml3 = no_l3_proto; -		printk(KERN_INFO "HiSax: Leased line mode\n"); -	} else { -		st->lli.l4l3 = no_l3_proto; -		st->l2.l2l3 = no_l3_proto; -                st->l3.l3ml3 = no_l3_proto; -		sprintf(tmp, "protocol %s not supported", -			(st->protocol == ISDN_PTYPE_1TR6) ? "1tr6" : -			(st->protocol == ISDN_PTYPE_EURO) ? "euro" : -			(st->protocol == ISDN_PTYPE_NI1) ? "ni1" : -			"unknown"); -		printk(KERN_WARNING "HiSax: %s\n", tmp); -		st->protocol = -1; -	} +				if (st->protocol == ISDN_PTYPE_LEASED) { +					st->lli.l4l3 = no_l3_proto; +					st->l2.l2l3 = no_l3_proto; +					st->l3.l3ml3 = no_l3_proto; +					printk(KERN_INFO "HiSax: Leased line mode\n"); +				} else { +					st->lli.l4l3 = no_l3_proto; +					st->l2.l2l3 = no_l3_proto; +					st->l3.l3ml3 = no_l3_proto; +					sprintf(tmp, "protocol %s not supported", +						(st->protocol == ISDN_PTYPE_1TR6) ? "1tr6" : +						(st->protocol == ISDN_PTYPE_EURO) ? "euro" : +						(st->protocol == ISDN_PTYPE_NI1) ? "ni1" : +						"unknown"); +					printk(KERN_WARNING "HiSax: %s\n", tmp); +					st->protocol = -1; +				}  }  static void @@ -469,22 +469,22 @@ lc_connected(struct FsmInst *fi, int event, void *arg)  static void  lc_start_delay(struct FsmInst *fi, int event, void *arg)  { -       struct PStack *st = fi->userdata; +	struct PStack *st = fi->userdata; -       FsmChangeState(fi, ST_L3_LC_REL_DELAY); -       FsmAddTimer(&st->l3.l3m_timer, DREL_TIMER_VALUE, EV_TIMEOUT, NULL, 50); +	FsmChangeState(fi, ST_L3_LC_REL_DELAY); +	FsmAddTimer(&st->l3.l3m_timer, DREL_TIMER_VALUE, EV_TIMEOUT, NULL, 50);  }  static void  lc_start_delay_check(struct FsmInst *fi, int event, void *arg)  /* 20/09/00 - GE timer not user for NI-1 as layer 2 should stay up */  { -       struct PStack *st = fi->userdata; +	struct PStack *st = fi->userdata; -       FsmChangeState(fi, ST_L3_LC_REL_DELAY); -       /* 19/09/00 - GE timer not user for NI-1 */ -       if (st->protocol != ISDN_PTYPE_NI1)  -       		FsmAddTimer(&st->l3.l3m_timer, DREL_TIMER_VALUE, EV_TIMEOUT, NULL, 50); +	FsmChangeState(fi, ST_L3_LC_REL_DELAY); +	/* 19/09/00 - GE timer not user for NI-1 */ +	if (st->protocol != ISDN_PTYPE_NI1) +		FsmAddTimer(&st->l3.l3m_timer, DREL_TIMER_VALUE, EV_TIMEOUT, NULL, 50);  }  static void @@ -536,9 +536,9 @@ static struct FsmNode L3FnList[] __initdata =  	{ST_L3_LC_ESTAB_WAIT,	EV_RELEASE_IND,		lc_release_ind},  	{ST_L3_LC_ESTAB,	EV_RELEASE_IND,		lc_release_ind},  	{ST_L3_LC_ESTAB,	EV_RELEASE_REQ,		lc_start_delay_check}, -        {ST_L3_LC_REL_DELAY,    EV_RELEASE_IND,         lc_release_ind}, -        {ST_L3_LC_REL_DELAY,    EV_ESTABLISH_REQ,       lc_connected}, -        {ST_L3_LC_REL_DELAY,    EV_TIMEOUT,             lc_release_req}, +	{ST_L3_LC_REL_DELAY,    EV_RELEASE_IND,         lc_release_ind}, +	{ST_L3_LC_REL_DELAY,    EV_ESTABLISH_REQ,       lc_connected}, +	{ST_L3_LC_REL_DELAY,    EV_TIMEOUT,             lc_release_req},  	{ST_L3_LC_REL_WAIT,	EV_RELEASE_CNF,		lc_release_cnf},  	{ST_L3_LC_REL_WAIT,	EV_ESTABLISH_REQ,	lc_activate},  }; @@ -548,34 +548,34 @@ void  l3_msg(struct PStack *st, int pr, void *arg)  {  	switch (pr) { -		case (DL_DATA | REQUEST): -			if (st->l3.l3m.state == ST_L3_LC_ESTAB) { -				st->l3.l3l2(st, pr, arg); -			} else { -				struct sk_buff *skb = arg; - -				skb_queue_tail(&st->l3.squeue, skb); -				FsmEvent(&st->l3.l3m, EV_ESTABLISH_REQ, NULL);  -			} -			break; -		case (DL_ESTABLISH | REQUEST): +	case (DL_DATA | REQUEST): +		if (st->l3.l3m.state == ST_L3_LC_ESTAB) { +			st->l3.l3l2(st, pr, arg); +		} else { +			struct sk_buff *skb = arg; + +			skb_queue_tail(&st->l3.squeue, skb);  			FsmEvent(&st->l3.l3m, EV_ESTABLISH_REQ, NULL); -			break; -		case (DL_ESTABLISH | CONFIRM): -			FsmEvent(&st->l3.l3m, EV_ESTABLISH_CNF, NULL); -			break; -		case (DL_ESTABLISH | INDICATION): -			FsmEvent(&st->l3.l3m, EV_ESTABLISH_IND, NULL); -			break; -		case (DL_RELEASE | INDICATION): -			FsmEvent(&st->l3.l3m, EV_RELEASE_IND, NULL); -			break; -		case (DL_RELEASE | CONFIRM): -			FsmEvent(&st->l3.l3m, EV_RELEASE_CNF, NULL); -			break; -		case (DL_RELEASE | REQUEST): -			FsmEvent(&st->l3.l3m, EV_RELEASE_REQ, NULL); -			break; +		} +		break; +	case (DL_ESTABLISH | REQUEST): +		FsmEvent(&st->l3.l3m, EV_ESTABLISH_REQ, NULL); +		break; +	case (DL_ESTABLISH | CONFIRM): +		FsmEvent(&st->l3.l3m, EV_ESTABLISH_CNF, NULL); +		break; +	case (DL_ESTABLISH | INDICATION): +		FsmEvent(&st->l3.l3m, EV_ESTABLISH_IND, NULL); +		break; +	case (DL_RELEASE | INDICATION): +		FsmEvent(&st->l3.l3m, EV_RELEASE_IND, NULL); +		break; +	case (DL_RELEASE | CONFIRM): +		FsmEvent(&st->l3.l3m, EV_RELEASE_CNF, NULL); +		break; +	case (DL_RELEASE | REQUEST): +		FsmEvent(&st->l3.l3m, EV_RELEASE_REQ, NULL); +		break;  	}  }  | 
