diff options
Diffstat (limited to 'drivers/isdn/hysdn/hycapi.c')
| -rw-r--r-- | drivers/isdn/hysdn/hycapi.c | 376 | 
1 files changed, 188 insertions, 188 deletions
diff --git a/drivers/isdn/hysdn/hycapi.c b/drivers/isdn/hysdn/hycapi.c index 6299b06ae00..00aad10507d 100644 --- a/drivers/isdn/hysdn/hycapi.c +++ b/drivers/isdn/hysdn/hycapi.c @@ -31,9 +31,9 @@  #include "hysdn_defs.h"  #include <linux/kernelcapi.h> -static char hycapi_revision[]="$Revision: 1.8.6.4 $"; +static char hycapi_revision[] = "$Revision: 1.8.6.4 $"; -unsigned int hycapi_enable = 0xffffffff;  +unsigned int hycapi_enable = 0xffffffff;  module_param(hycapi_enable, uint, 0);  typedef struct _hycapi_appl { @@ -48,18 +48,18 @@ static u16 hycapi_send_message(struct capi_ctr *ctrl, struct sk_buff *skb);  static inline int _hycapi_appCheck(int app_id, int ctrl_no)  { -	if((ctrl_no <= 0) || (ctrl_no > CAPI_MAXCONTR) || (app_id <= 0) || +	if ((ctrl_no <= 0) || (ctrl_no > CAPI_MAXCONTR) || (app_id <= 0) ||  	   (app_id > CAPI_MAXAPPL))  	{  		printk(KERN_ERR "HYCAPI: Invalid request app_id %d for controller %d", app_id, ctrl_no);  		return -1;  	} -	return ((hycapi_applications[app_id-1].ctrl_mask & (1 << (ctrl_no-1))) != 0); +	return ((hycapi_applications[app_id - 1].ctrl_mask & (1 << (ctrl_no-1))) != 0);  }  /******************************  Kernel-Capi callback reset_ctr -******************************/      +******************************/  static void  hycapi_reset_ctr(struct capi_ctr *ctrl) @@ -75,7 +75,7 @@ hycapi_reset_ctr(struct capi_ctr *ctrl)  /******************************  Kernel-Capi callback remove_ctr -******************************/      +******************************/  static void  hycapi_remove_ctr(struct capi_ctr *ctrl) @@ -85,25 +85,25 @@ hycapi_remove_ctr(struct capi_ctr *ctrl)  	hysdn_card *card = NULL;  #ifdef HYCAPI_PRINTFNAMES  	printk(KERN_NOTICE "HYCAPI hycapi_remove_ctr\n"); -#endif  +#endif  	cinfo = (hycapictrl_info *)(ctrl->driverdata); -	if(!cinfo) { +	if (!cinfo) {  		printk(KERN_ERR "No hycapictrl_info set!");  		return; -	}     +	}  	card = cinfo->card;  	capi_ctr_suspend_output(ctrl); -	for(i=0; i<CAPI_MAXAPPL;i++) { -		if(hycapi_applications[i].listen_req[ctrl->cnr-1]) { -			kfree_skb(hycapi_applications[i].listen_req[ctrl->cnr-1]); -			hycapi_applications[i].listen_req[ctrl->cnr-1] = NULL; +	for (i = 0; i < CAPI_MAXAPPL; i++) { +		if (hycapi_applications[i].listen_req[ctrl->cnr - 1]) { +			kfree_skb(hycapi_applications[i].listen_req[ctrl->cnr - 1]); +			hycapi_applications[i].listen_req[ctrl->cnr - 1] = NULL;  		}  	}  	detach_capi_ctr(ctrl);  	ctrl->driverdata = NULL;  	kfree(card->hyctrlinfo); -		 +  	card->hyctrlinfo = NULL;  } @@ -121,7 +121,7 @@ hycapi_sendmsg_internal(struct capi_ctr *ctrl, struct sk_buff *skb)  	spin_lock_irq(&cinfo->lock);  #ifdef HYCAPI_PRINTFNAMES -	printk(KERN_NOTICE "hycapi_send_message\n");     +	printk(KERN_NOTICE "hycapi_send_message\n");  #endif  	cinfo->skbs[cinfo->in_idx++] = skb;	/* add to buffer list */  	if (cinfo->in_idx >= HYSDN_MAX_CAPI_SKB) @@ -130,7 +130,7 @@ hycapi_sendmsg_internal(struct capi_ctr *ctrl, struct sk_buff *skb)  	if (cinfo->sk_count >= HYSDN_MAX_CAPI_SKB) {  		/* inform upper layers we're full */  		printk(KERN_ERR "HYSDN Card%d: CAPI-buffer overrun!\n", -		       card->myid);	 +		       card->myid);  		capi_ctr_suspend_output(ctrl);  	}  	cinfo->tx_skb = skb; @@ -147,7 +147,7 @@ re-register any applications in the private list.  ************************************************************/ -static void  +static void  hycapi_register_internal(struct capi_ctr *ctrl, __u16 appl,  			 capi_register_params *rp)  { @@ -161,9 +161,9 @@ hycapi_register_internal(struct capi_ctr *ctrl, __u16 appl,  	__u16 MessageBufferSize = 0;  	int slen = strlen(ExtFeatureDefaults);  #ifdef HYCAPI_PRINTFNAMES -	printk(KERN_NOTICE "hycapi_register_appl\n");  +	printk(KERN_NOTICE "hycapi_register_appl\n");  #endif -	MessageBufferSize = rp->level3cnt * rp->datablkcnt * rp->datablklen;  +	MessageBufferSize = rp->level3cnt * rp->datablkcnt * rp->datablklen;  	len = CAPI_MSG_BASELEN + 8 + slen + 1;  	if (!(skb = alloc_skb(len, GFP_ATOMIC))) { @@ -171,18 +171,18 @@ hycapi_register_internal(struct capi_ctr *ctrl, __u16 appl,  		       card->myid);  		return;  	} -	memcpy(skb_put(skb,sizeof(__u16)), &len, sizeof(__u16)); -	memcpy(skb_put(skb,sizeof(__u16)), &appl, sizeof(__u16)); -	memcpy(skb_put(skb,sizeof(__u8)), &_command, sizeof(_command)); -	memcpy(skb_put(skb,sizeof(__u8)), &_subcommand, sizeof(_subcommand)); -	memcpy(skb_put(skb,sizeof(__u16)), &MessageNumber, sizeof(__u16)); -	memcpy(skb_put(skb,sizeof(__u16)), &MessageBufferSize, sizeof(__u16));  -	memcpy(skb_put(skb,sizeof(__u16)), &(rp->level3cnt), sizeof(__u16)); -	memcpy(skb_put(skb,sizeof(__u16)), &(rp->datablkcnt), sizeof(__u16)); -	memcpy(skb_put(skb,sizeof(__u16)), &(rp->datablklen), sizeof(__u16)); -	memcpy(skb_put(skb,slen), ExtFeatureDefaults, slen); -	hycapi_applications[appl-1].ctrl_mask |= (1 << (ctrl->cnr-1));     -	hycapi_send_message(ctrl, skb);     +	memcpy(skb_put(skb, sizeof(__u16)), &len, sizeof(__u16)); +	memcpy(skb_put(skb, sizeof(__u16)), &appl, sizeof(__u16)); +	memcpy(skb_put(skb, sizeof(__u8)), &_command, sizeof(_command)); +	memcpy(skb_put(skb, sizeof(__u8)), &_subcommand, sizeof(_subcommand)); +	memcpy(skb_put(skb, sizeof(__u16)), &MessageNumber, sizeof(__u16)); +	memcpy(skb_put(skb, sizeof(__u16)), &MessageBufferSize, sizeof(__u16)); +	memcpy(skb_put(skb, sizeof(__u16)), &(rp->level3cnt), sizeof(__u16)); +	memcpy(skb_put(skb, sizeof(__u16)), &(rp->datablkcnt), sizeof(__u16)); +	memcpy(skb_put(skb, sizeof(__u16)), &(rp->datablklen), sizeof(__u16)); +	memcpy(skb_put(skb, slen), ExtFeatureDefaults, slen); +	hycapi_applications[appl - 1].ctrl_mask |= (1 << (ctrl->cnr - 1)); +	hycapi_send_message(ctrl, skb);  }  /************************************************************ @@ -200,12 +200,12 @@ static void hycapi_restart_internal(struct capi_ctr *ctrl)  #ifdef HYCAPI_PRINTFNAMES  	printk(KERN_WARNING "HYSDN: hycapi_restart_internal");  #endif -	for(i=0; i<CAPI_MAXAPPL; i++) { -		if(_hycapi_appCheck(i+1, ctrl->cnr) == 1) { -			hycapi_register_internal(ctrl, i+1,  +	for (i = 0; i < CAPI_MAXAPPL; i++) { +		if (_hycapi_appCheck(i + 1, ctrl->cnr) == 1) { +			hycapi_register_internal(ctrl, i + 1,  						 &hycapi_applications[i].rp); -			if(hycapi_applications[i].listen_req[ctrl->cnr-1]) { -				skb = skb_copy(hycapi_applications[i].listen_req[ctrl->cnr-1], GFP_ATOMIC); +			if (hycapi_applications[i].listen_req[ctrl->cnr - 1]) { +				skb = skb_copy(hycapi_applications[i].listen_req[ctrl->cnr - 1], GFP_ATOMIC);  				hycapi_sendmsg_internal(ctrl, skb);  			}  		} @@ -220,35 +220,35 @@ The application is recorded in the internal list.  *************************************************************/  static void -hycapi_register_appl(struct capi_ctr *ctrl, __u16 appl,  +hycapi_register_appl(struct capi_ctr *ctrl, __u16 appl,  		     capi_register_params *rp)  {  	int MaxLogicalConnections = 0, MaxBDataBlocks = 0, MaxBDataLen = 0;  	hycapictrl_info *cinfo = (hycapictrl_info *)(ctrl->driverdata);  	hysdn_card *card = cinfo->card;  	int chk = _hycapi_appCheck(appl, ctrl->cnr); -	if(chk < 0) { +	if (chk < 0) {  		return;  	} -	if(chk == 1) { +	if (chk == 1) {  		printk(KERN_INFO "HYSDN: apl %d already registered\n", appl);  		return;  	}  	MaxBDataBlocks = rp->datablkcnt > CAPI_MAXDATAWINDOW ? CAPI_MAXDATAWINDOW : rp->datablkcnt;  	rp->datablkcnt = MaxBDataBlocks; -	MaxBDataLen = rp->datablklen < 1024 ? 1024 : rp->datablklen ; +	MaxBDataLen = rp->datablklen < 1024 ? 1024 : rp->datablklen;  	rp->datablklen = MaxBDataLen; -	 +  	MaxLogicalConnections = rp->level3cnt;  	if (MaxLogicalConnections < 0) { -		MaxLogicalConnections = card->bchans * -MaxLogicalConnections;  +		MaxLogicalConnections = card->bchans * -MaxLogicalConnections;  	}  	if (MaxLogicalConnections == 0) {  		MaxLogicalConnections = card->bchans;  	} -	 +  	rp->level3cnt = MaxLogicalConnections; -	memcpy(&hycapi_applications[appl-1].rp,  +	memcpy(&hycapi_applications[appl - 1].rp,  	       rp, sizeof(capi_register_params));  } @@ -279,19 +279,19 @@ static void hycapi_release_internal(struct capi_ctr *ctrl, __u16 appl)  		       card->myid);  		return;  	} -	memcpy(skb_put(skb,sizeof(__u16)), &len, sizeof(__u16)); -	memcpy(skb_put(skb,sizeof(__u16)), &appl, sizeof(__u16)); -	memcpy(skb_put(skb,sizeof(__u8)), &_command, sizeof(_command)); -	memcpy(skb_put(skb,sizeof(__u8)), &_subcommand, sizeof(_subcommand)); -	memcpy(skb_put(skb,sizeof(__u16)), &MessageNumber, sizeof(__u16));     -	hycapi_send_message(ctrl, skb);     -	hycapi_applications[appl-1].ctrl_mask &= ~(1 << (ctrl->cnr-1));     +	memcpy(skb_put(skb, sizeof(__u16)), &len, sizeof(__u16)); +	memcpy(skb_put(skb, sizeof(__u16)), &appl, sizeof(__u16)); +	memcpy(skb_put(skb, sizeof(__u8)), &_command, sizeof(_command)); +	memcpy(skb_put(skb, sizeof(__u8)), &_subcommand, sizeof(_subcommand)); +	memcpy(skb_put(skb, sizeof(__u16)), &MessageNumber, sizeof(__u16)); +	hycapi_send_message(ctrl, skb); +	hycapi_applications[appl - 1].ctrl_mask &= ~(1 << (ctrl->cnr - 1));  }  /******************************************************************  hycapi_release_appl -Release the application from the internal list an remove it's  +Release the application from the internal list an remove it's  registration at controller-level  ******************************************************************/ @@ -301,15 +301,15 @@ hycapi_release_appl(struct capi_ctr *ctrl, __u16 appl)  	int chk;  	chk = _hycapi_appCheck(appl, ctrl->cnr); -	if(chk<0) { +	if (chk < 0) {  		printk(KERN_ERR "HYCAPI: Releasing invalid appl %d on controller %d\n", appl, ctrl->cnr);  		return;  	} -	if(hycapi_applications[appl-1].listen_req[ctrl->cnr-1]) { -		kfree_skb(hycapi_applications[appl-1].listen_req[ctrl->cnr-1]); -		hycapi_applications[appl-1].listen_req[ctrl->cnr-1] = NULL; +	if (hycapi_applications[appl - 1].listen_req[ctrl->cnr - 1]) { +		kfree_skb(hycapi_applications[appl - 1].listen_req[ctrl->cnr - 1]); +		hycapi_applications[appl - 1].listen_req[ctrl->cnr - 1] = NULL;  	} -	if(chk == 1) +	if (chk == 1)  	{  		hycapi_release_internal(ctrl, appl);  	} @@ -327,7 +327,7 @@ int hycapi_capi_release(hysdn_card *card)  #ifdef HYCAPI_PRINTFNAMES  	printk(KERN_NOTICE "hycapi_capi_release\n");  #endif -	if(cinfo) { +	if (cinfo) {  		ctrl = &cinfo->capi_ctrl;  		hycapi_remove_ctr(ctrl);  	} @@ -347,7 +347,7 @@ int hycapi_capi_stop(hysdn_card *card)  #ifdef HYCAPI_PRINTFNAMES  	printk(KERN_NOTICE "hycapi_capi_stop\n");  #endif -	if(cinfo) { +	if (cinfo) {  		ctrl = &cinfo->capi_ctrl;  /*		ctrl->suspend_output(ctrl); */  		capi_ctr_down(ctrl); @@ -377,59 +377,59 @@ static u16 hycapi_send_message(struct capi_ctr *ctrl, struct sk_buff *skb)  	u16 retval = CAPI_NOERROR;  	appl_id = CAPIMSG_APPID(skb->data); -	switch(_hycapi_appCheck(appl_id, ctrl->cnr)) +	switch (_hycapi_appCheck(appl_id, ctrl->cnr))  	{ -		case 0: +	case 0:  /*			printk(KERN_INFO "Need to register\n"); */ -			hycapi_register_internal(ctrl,  -						 appl_id, -						 &(hycapi_applications[appl_id-1].rp)); -			break; -		case 1: -			break; -		default: -			printk(KERN_ERR "HYCAPI: Controller mixup!\n"); -			retval = CAPI_ILLAPPNR; -			goto out; +		hycapi_register_internal(ctrl, +					 appl_id, +					 &(hycapi_applications[appl_id - 1].rp)); +		break; +	case 1: +		break; +	default: +		printk(KERN_ERR "HYCAPI: Controller mixup!\n"); +		retval = CAPI_ILLAPPNR; +		goto out;  	} -	switch(CAPIMSG_CMD(skb->data)) {		 -		case CAPI_DISCONNECT_B3_RESP: -			capilib_free_ncci(&cinfo->ncci_head, appl_id,  -					  CAPIMSG_NCCI(skb->data)); -			break; -		case CAPI_DATA_B3_REQ: -			_len = CAPIMSG_LEN(skb->data); -			if (_len > 22) { -				_len2 = _len - 22; -				skb_copy_from_linear_data(skb, msghead, 22); -				skb_copy_to_linear_data_offset(skb, _len2, -							       msghead, 22); -				skb_pull(skb, _len2); -				CAPIMSG_SETLEN(skb->data, 22); -				retval = capilib_data_b3_req(&cinfo->ncci_head, -							     CAPIMSG_APPID(skb->data), -							     CAPIMSG_NCCI(skb->data), -							     CAPIMSG_MSGID(skb->data)); -			} -			break; -		case CAPI_LISTEN_REQ: -			if(hycapi_applications[appl_id-1].listen_req[ctrl->cnr-1]) -			{ -				kfree_skb(hycapi_applications[appl_id-1].listen_req[ctrl->cnr-1]); -				hycapi_applications[appl_id-1].listen_req[ctrl->cnr-1] = NULL; -			} -			if (!(hycapi_applications[appl_id-1].listen_req[ctrl->cnr-1] = skb_copy(skb, GFP_ATOMIC)))  -			{ -				printk(KERN_ERR "HYSDN: memory squeeze in private_listen\n"); -			}  -			break; -		default: -			break; +	switch (CAPIMSG_CMD(skb->data)) { +	case CAPI_DISCONNECT_B3_RESP: +		capilib_free_ncci(&cinfo->ncci_head, appl_id, +				  CAPIMSG_NCCI(skb->data)); +		break; +	case CAPI_DATA_B3_REQ: +		_len = CAPIMSG_LEN(skb->data); +		if (_len > 22) { +			_len2 = _len - 22; +			skb_copy_from_linear_data(skb, msghead, 22); +			skb_copy_to_linear_data_offset(skb, _len2, +						       msghead, 22); +			skb_pull(skb, _len2); +			CAPIMSG_SETLEN(skb->data, 22); +			retval = capilib_data_b3_req(&cinfo->ncci_head, +						     CAPIMSG_APPID(skb->data), +						     CAPIMSG_NCCI(skb->data), +						     CAPIMSG_MSGID(skb->data)); +		} +		break; +	case CAPI_LISTEN_REQ: +		if (hycapi_applications[appl_id - 1].listen_req[ctrl->cnr - 1]) +		{ +			kfree_skb(hycapi_applications[appl_id - 1].listen_req[ctrl->cnr - 1]); +			hycapi_applications[appl_id - 1].listen_req[ctrl->cnr - 1] = NULL; +		} +		if (!(hycapi_applications[appl_id  -1].listen_req[ctrl->cnr - 1] = skb_copy(skb, GFP_ATOMIC))) +		{ +			printk(KERN_ERR "HYSDN: memory squeeze in private_listen\n"); +		} +		break; +	default: +		break;  	} - out: +out:  	if (retval == CAPI_NOERROR)  		hycapi_sendmsg_internal(ctrl, skb); -	else  +	else  		dev_kfree_skb_any(skb);  	return retval; @@ -445,14 +445,14 @@ static int hycapi_proc_show(struct seq_file *m, void *v)  	seq_printf(m, "%-16s %s\n", "name", cinfo->cardname);  	seq_printf(m, "%-16s 0x%x\n", "io", card->iobase);  	seq_printf(m, "%-16s %d\n", "irq", card->irq); -     +  	switch (card->brdtype) { -		case BD_PCCARD:  s = "HYSDN Hycard"; break; -		case BD_ERGO: s = "HYSDN Ergo2"; break; -		case BD_METRO: s = "HYSDN Metro4"; break; -		case BD_CHAMP2: s = "HYSDN Champ2";	break; -		case BD_PLEXUS: s = "HYSDN Plexus30"; break; -		default: s = "???"; break; +	case BD_PCCARD:  s = "HYSDN Hycard"; break; +	case BD_ERGO: s = "HYSDN Ergo2"; break; +	case BD_METRO: s = "HYSDN Metro4"; break; +	case BD_CHAMP2: s = "HYSDN Champ2";	break; +	case BD_PLEXUS: s = "HYSDN Plexus30"; break; +	default: s = "???"; break;  	}  	seq_printf(m, "%-16s %s\n", "type", s);  	if ((s = cinfo->version[VER_DRIVER]) != NULL) @@ -461,15 +461,15 @@ static int hycapi_proc_show(struct seq_file *m, void *v)  		seq_printf(m, "%-16s %s\n", "ver_cardtype", s);  	if ((s = cinfo->version[VER_SERIAL]) != NULL)  		seq_printf(m, "%-16s %s\n", "ver_serial", s); -     +  	seq_printf(m, "%-16s %s\n", "cardname", cinfo->cardname); -     +  	return 0;  }  static int hycapi_proc_open(struct inode *inode, struct file *file)  { -	return single_open(file, hycapi_proc_show, PDE(inode)->data); +	return single_open(file, hycapi_proc_show, PDE_DATA(inode));  }  static const struct file_operations hycapi_proc_fops = { @@ -491,7 +491,7 @@ on capi-interface registration.  static int hycapi_load_firmware(struct capi_ctr *ctrl, capiloaddata *data)  {  #ifdef HYCAPI_PRINTFNAMES -	printk(KERN_NOTICE "hycapi_load_firmware\n");     +	printk(KERN_NOTICE "hycapi_load_firmware\n");  #endif  	return 0;  } @@ -501,7 +501,7 @@ static char *hycapi_procinfo(struct capi_ctr *ctrl)  {  	hycapictrl_info *cinfo = (hycapictrl_info *)(ctrl->driverdata);  #ifdef HYCAPI_PRINTFNAMES -	printk(KERN_NOTICE "hycapi_proc_info\n");     +	printk(KERN_NOTICE "hycapi_proc_info\n");  #endif  	if (!cinfo)  		return ""; @@ -525,7 +525,7 @@ New nccis are created if necessary.  *******************************************************************/  void -hycapi_rx_capipkt(hysdn_card * card, unsigned char *buf, unsigned short len) +hycapi_rx_capipkt(hysdn_card *card, unsigned char *buf, unsigned short len)  {  	struct sk_buff *skb;  	hycapictrl_info *cinfo = card->hyctrlinfo; @@ -533,24 +533,24 @@ hycapi_rx_capipkt(hysdn_card * card, unsigned char *buf, unsigned short len)  	__u16 ApplId;  	__u16 MsgLen, info;  	__u16 len2, CapiCmd; -	__u32 CP64[2] = {0,0}; +	__u32 CP64[2] = {0, 0};  #ifdef HYCAPI_PRINTFNAMES -	printk(KERN_NOTICE "hycapi_rx_capipkt\n");     +	printk(KERN_NOTICE "hycapi_rx_capipkt\n");  #endif -	if(!cinfo) { +	if (!cinfo) {  		return;  	}  	ctrl = &cinfo->capi_ctrl; -	if(len < CAPI_MSG_BASELEN) { +	if (len < CAPI_MSG_BASELEN) {  		printk(KERN_ERR "HYSDN Card%d: invalid CAPI-message, length %d!\n",  		       card->myid, len);  		return; -	}	 +	}  	MsgLen = CAPIMSG_LEN(buf);  	ApplId = CAPIMSG_APPID(buf);  	CapiCmd = CAPIMSG_CMD(buf); -	 -	if((CapiCmd == CAPI_DATA_B3_IND) && (MsgLen < 30)) { + +	if ((CapiCmd == CAPI_DATA_B3_IND) && (MsgLen < 30)) {  		len2 = len + (30 - MsgLen);  		if (!(skb = alloc_skb(len2, GFP_ATOMIC))) {  			printk(KERN_ERR "HYSDN Card%d: incoming packet dropped\n", @@ -558,7 +558,7 @@ hycapi_rx_capipkt(hysdn_card * card, unsigned char *buf, unsigned short len)  			return;  		}  		memcpy(skb_put(skb, MsgLen), buf, MsgLen); -		memcpy(skb_put(skb, 2*sizeof(__u32)), CP64, 2* sizeof(__u32)); +		memcpy(skb_put(skb, 2 * sizeof(__u32)), CP64, 2 * sizeof(__u32));  		memcpy(skb_put(skb, len - MsgLen), buf + MsgLen,  		       len - MsgLen);  		CAPIMSG_SETLEN(skb->data, 30); @@ -570,54 +570,54 @@ hycapi_rx_capipkt(hysdn_card * card, unsigned char *buf, unsigned short len)  		}  		memcpy(skb_put(skb, len), buf, len);  	} -	switch(CAPIMSG_CMD(skb->data))  +	switch (CAPIMSG_CMD(skb->data))  	{ -		case CAPI_CONNECT_B3_CONF: +	case CAPI_CONNECT_B3_CONF:  /* Check info-field for error-indication: */ -			info = CAPIMSG_U16(skb->data, 12); -			switch(info) -			{ -				case 0: -					capilib_new_ncci(&cinfo->ncci_head, ApplId, CAPIMSG_NCCI(skb->data),  -							 hycapi_applications[ApplId-1].rp.datablkcnt);  -					 -					break; -				case 0x0001: -					printk(KERN_ERR "HYSDN Card%d: NCPI not supported by current " -					       "protocol. NCPI ignored.\n", card->myid); -					break; -				case 0x2001: -					printk(KERN_ERR "HYSDN Card%d: Message not supported in" -					       " current state\n", card->myid); -					break; -				case 0x2002: -					printk(KERN_ERR "HYSDN Card%d: invalid PLCI\n", card->myid); -					break;		 -				case 0x2004: -					printk(KERN_ERR "HYSDN Card%d: out of NCCI\n", card->myid); -					break;				 -				case 0x3008: -					printk(KERN_ERR "HYSDN Card%d: NCPI not supported\n",  -					       card->myid); -					break;	 -				default: -					printk(KERN_ERR "HYSDN Card%d: Info in CONNECT_B3_CONF: %d\n",  -					       card->myid, info); -					break;			 -			} +		info = CAPIMSG_U16(skb->data, 12); +		switch (info) +		{ +		case 0: +			capilib_new_ncci(&cinfo->ncci_head, ApplId, CAPIMSG_NCCI(skb->data), +					 hycapi_applications[ApplId - 1].rp.datablkcnt); + +			break; +		case 0x0001: +			printk(KERN_ERR "HYSDN Card%d: NCPI not supported by current " +			       "protocol. NCPI ignored.\n", card->myid);  			break; -		case CAPI_CONNECT_B3_IND: -			capilib_new_ncci(&cinfo->ncci_head, ApplId,  -					 CAPIMSG_NCCI(skb->data),  -					 hycapi_applications[ApplId-1].rp.datablkcnt); +		case 0x2001: +			printk(KERN_ERR "HYSDN Card%d: Message not supported in" +			       " current state\n", card->myid);  			break; -	        case CAPI_DATA_B3_CONF: -			capilib_data_b3_conf(&cinfo->ncci_head, ApplId, -					     CAPIMSG_NCCI(skb->data), -					     CAPIMSG_MSGID(skb->data)); +		case 0x2002: +			printk(KERN_ERR "HYSDN Card%d: invalid PLCI\n", card->myid); +			break; +		case 0x2004: +			printk(KERN_ERR "HYSDN Card%d: out of NCCI\n", card->myid); +			break; +		case 0x3008: +			printk(KERN_ERR "HYSDN Card%d: NCPI not supported\n", +			       card->myid);  			break;  		default: +			printk(KERN_ERR "HYSDN Card%d: Info in CONNECT_B3_CONF: %d\n", +			       card->myid, info);  			break; +		} +		break; +	case CAPI_CONNECT_B3_IND: +		capilib_new_ncci(&cinfo->ncci_head, ApplId, +				 CAPIMSG_NCCI(skb->data), +				 hycapi_applications[ApplId - 1].rp.datablkcnt); +		break; +	case CAPI_DATA_B3_CONF: +		capilib_data_b3_conf(&cinfo->ncci_head, ApplId, +				     CAPIMSG_NCCI(skb->data), +				     CAPIMSG_MSGID(skb->data)); +		break; +	default: +		break;  	}  	capi_ctr_handle_message(ctrl, ApplId, skb);  } @@ -630,13 +630,13 @@ internal queue.  *******************************************************************/ -void hycapi_tx_capiack(hysdn_card * card) +void hycapi_tx_capiack(hysdn_card *card)  {  	hycapictrl_info *cinfo = card->hyctrlinfo;  #ifdef HYCAPI_PRINTFNAMES -	printk(KERN_NOTICE "hycapi_tx_capiack\n");     +	printk(KERN_NOTICE "hycapi_tx_capiack\n");  #endif -	if(!cinfo) { +	if (!cinfo) {  		return;  	}  	spin_lock_irq(&cinfo->lock); @@ -661,7 +661,7 @@ struct sk_buff *  hycapi_tx_capiget(hysdn_card *card)  {  	hycapictrl_info *cinfo = card->hyctrlinfo; -	if(!cinfo) { +	if (!cinfo) {  		return (struct sk_buff *)NULL;  	}  	if (!cinfo->sk_count) @@ -681,10 +681,10 @@ attach the capi-driver to the kernel-capi.  int hycapi_init(void)  {  	int i; -	for(i=0;i<CAPI_MAXAPPL;i++) { +	for (i = 0; i < CAPI_MAXAPPL; i++) {  		memset(&(hycapi_applications[i]), 0, sizeof(hycapi_appl));  	} -	return(0); +	return (0);  }  /************************************************************** @@ -694,7 +694,7 @@ detach the capi-driver to the kernel-capi. Actually this should  free some more ressources. Do that later.  **************************************************************/ -void  +void  hycapi_cleanup(void)  {  } @@ -710,9 +710,9 @@ static void hycapi_fill_profile(hysdn_card *card)  	hycapictrl_info *cinfo = NULL;  	struct capi_ctr *ctrl = NULL;  	cinfo = card->hyctrlinfo; -	if(!cinfo) return; +	if (!cinfo) return;  	ctrl = &cinfo->capi_ctrl; -	strcpy(ctrl->manu, "Hypercope");	 +	strcpy(ctrl->manu, "Hypercope");  	ctrl->version.majorversion = 2;  	ctrl->version.minorversion = 0;  	ctrl->version.majormanuversion = 3; @@ -732,18 +732,18 @@ static void hycapi_fill_profile(hysdn_card *card)  		(card->faxchans ? B3_PROT_T30 : 0) |  		(card->faxchans ? B3_PROT_T30EXT : 0) |  		B3_PROT_ISO8208; -}	 +} -int  +int  hycapi_capi_create(hysdn_card *card)  {  	hycapictrl_info *cinfo = NULL;  	struct capi_ctr *ctrl = NULL;  	int retval;  #ifdef HYCAPI_PRINTFNAMES -	printk(KERN_NOTICE "hycapi_capi_create\n");         +	printk(KERN_NOTICE "hycapi_capi_create\n");  #endif -	if((hycapi_enable & (1 << card->myid)) == 0) { +	if ((hycapi_enable & (1 << card->myid)) == 0) {  		return 1;  	}  	if (!card->hyctrlinfo) { @@ -758,12 +758,12 @@ hycapi_capi_create(hysdn_card *card)  		INIT_LIST_HEAD(&cinfo->ncci_head);  		switch (card->brdtype) { -			case BD_PCCARD:  strcpy(cinfo->cardname,"HYSDN Hycard"); break; -			case BD_ERGO: strcpy(cinfo->cardname,"HYSDN Ergo2"); break; -			case BD_METRO: strcpy(cinfo->cardname,"HYSDN Metro4"); break; -			case BD_CHAMP2: strcpy(cinfo->cardname,"HYSDN Champ2"); break; -			case BD_PLEXUS: strcpy(cinfo->cardname,"HYSDN Plexus30"); break; -			default: strcpy(cinfo->cardname,"HYSDN ???"); break; +		case BD_PCCARD:  strcpy(cinfo->cardname, "HYSDN Hycard"); break; +		case BD_ERGO: strcpy(cinfo->cardname, "HYSDN Ergo2"); break; +		case BD_METRO: strcpy(cinfo->cardname, "HYSDN Metro4"); break; +		case BD_CHAMP2: strcpy(cinfo->cardname, "HYSDN Champ2"); break; +		case BD_PLEXUS: strcpy(cinfo->cardname, "HYSDN Plexus30"); break; +		default: strcpy(cinfo->cardname, "HYSDN ???"); break;  		}  		ctrl = &cinfo->capi_ctrl; @@ -792,7 +792,7 @@ hycapi_capi_create(hysdn_card *card)  		ctrl = &card->hyctrlinfo->capi_ctrl;  		hycapi_fill_profile(card);  		capi_ctr_ready(ctrl); -		hycapi_restart_internal(ctrl);  +		hycapi_restart_internal(ctrl);  /*		ctrl->resume_output(ctrl); */  	}  	return 0;  | 
