int pcbit_xmit(int driver, int chnum, int ack, struct sk_buff *skb) 
static int pcbit_xmit(int driver, int chnum, int ack, struct sk_buff *skb) 
int pcbit_xmit(int driver, int chnum, int ack, struct sk_buff *skb){	ushort hdrlen;	int refnum, len;	struct pcbit_chan * chan;	struct pcbit_dev *dev;	dev = finddev(driver);	if (dev == NULL)	{		printk("finddev returned NULL");		return -1;	}	chan = chnum ? dev->b2 : dev->b1;	if (chan->fsm_state != ST_ACTIVE)		return -1;	if (chan->queued >= MAX_QUEUED )	{#ifdef DEBUG_QUEUE		printk(KERN_DEBUG 		       "pcbit: %d packets already in queue - write fails\n",		       chan->queued);#endif		/*		 * packet stays on the head of the device queue		 * since dev_start_xmit will fail		 * see net/core/dev.c		 */#ifdef BLOCK_TIMER		if (chan->block_timer.function == NULL) {			init_timer(&chan->block_timer);			chan->block_timer.function =  &pcbit_block_timer;			chan->block_timer.data = (long) chan;			chan->block_timer.expires = jiffies + 1 * HZ;			add_timer(&chan->block_timer);		}#endif				return 0;	                 	}	chan->queued++;	        len = skb->len;	hdrlen = capi_tdata_req(chan, skb);	refnum = last_ref_num++ & 0x7fffU;	chan->s_refnum = refnum;	pcbit_l2_write(dev, MSG_TDATA_REQ, refnum, skb, hdrlen);	return len;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/886cca3a0fda659e17c730c20929134014ebe1f2/drv.c/buggy/drivers/isdn/pcbit/drv.c