b_out->urb[1]->transfer_flags |= URB_ASYNC_UNLINK; 
static void st5481B_mode(struct st5481_bcs *bcs, int mode){	struct st5481_b_out *b_out = &bcs->b_out;	struct st5481_adapter *adapter = bcs->adapter;	DBG(4,"B%d,mode=%d", bcs->channel + 1, mode);	if (bcs->mode == mode)		return;	bcs->mode = mode;	// Cancel all USB transfers on this B channel	b_out->urb[0]->transfer_flags |= URB_ASYNC_UNLINK;	usb_unlink_urb(b_out->urb[0]);	b_out->urb[1]->transfer_flags |= URB_ASYNC_UNLINK;	usb_unlink_urb(b_out->urb[1]);	b_out->busy = 0;	st5481_in_mode(&bcs->b_in, mode);	if (bcs->mode != L1_MODE_NULL) {		// Open the B channel		if (bcs->mode != L1_MODE_TRANS) {			isdnhdlc_out_init(&b_out->hdlc_state, 0, bcs->mode == L1_MODE_HDLC_56K);		}		st5481_usb_pipe_reset(adapter, (bcs->channel+1)*2, NULL, NULL);			// Enable B channel interrupts		st5481_usb_device_ctrl_msg(adapter, FFMSK_B1+(bcs->channel*2), 				    OUT_UP+OUT_DOWN+OUT_UNDERRUN, NULL, NULL);		// Enable B channel FIFOs		st5481_usb_device_ctrl_msg(adapter, OUT_B1_COUNTER+(bcs->channel*2), 32, st5481B_start_xfer, bcs);		if (adapter->number_of_leds == 4) {			if (bcs->channel == 0) {				adapter->leds |= B1_LED;			} else {				adapter->leds |= B2_LED;			}		}	} else {		// Disble B channel interrupts		st5481_usb_device_ctrl_msg(adapter, FFMSK_B1+(bcs->channel*2), 0, NULL, NULL);		// Disable B channel FIFOs		st5481_usb_device_ctrl_msg(adapter, OUT_B1_COUNTER+(bcs->channel*2), 0, NULL, NULL);		if (adapter->number_of_leds == 4) {			if (bcs->channel == 0) {				adapter->leds &= ~B1_LED;			} else {				adapter->leds &= ~B2_LED;			}		} else {			st5481_usb_device_ctrl_msg(adapter, GPIO_OUT, adapter->leds, NULL, NULL);		}		if (b_out->tx_skb) {			dev_kfree_skb_any(b_out->tx_skb);			b_out->tx_skb = NULL;		}			}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a3b5f0d43863402b03b3af9a7eaec0037a823374/st5481_b.c/clean/drivers/isdn/hisax/st5481_b.c