if (timer_pending(&context->led_timer)) del_timer(&context->led_timer); 
hfc_usb_disconnect(struct usb_interface		   *intf){	hfcusb_data *context = usb_get_intfdata(intf);	int i;	printk(KERN_INFO "HFC-S USB: device disconnect\n");	context->disc_flag = TRUE;	usb_set_intfdata(intf, NULL);	if (!context)		return;	if (timer_pending(&context->t3_timer))		del_timer(&context->t3_timer);	if (timer_pending(&context->t4_timer))		del_timer(&context->t4_timer);	if (timer_pending(&context->led_timer))		del_timer(&context->led_timer);	/* tell all fifos to terminate */	for (i = 0; i < HFCUSB_NUM_FIFOS; i++) {		if (context->fifos[i].usb_transfer_mode == USB_ISOC) {			if (context->fifos[i].active > 0) {				stop_isoc_chain(&context->fifos[i]);#ifdef CONFIG_HISAX_DEBUG				DBG(USB_DBG,				    "HFC-S USB: hfc_usb_disconnect: stopping ISOC chain Fifo no %i",				    i);#endif			}		} else {			if (context->fifos[i].active > 0) {				context->fifos[i].active = 0;#ifdef CONFIG_HISAX_DEBUG				DBG(USB_DBG,				    "HFC-S USB: hfc_usb_disconnect: unlinking URB for Fifo no %i",				    i);#endif			}			if (context->fifos[i].urb) {				usb_unlink_urb(context->fifos[i].urb);				usb_free_urb(context->fifos[i].urb);				context->fifos[i].urb = NULL;			}		}		context->fifos[i].active = 0;	}	/* wait for all URBS to terminate */	mdelay(10);	if (context->ctrl_urb) {		usb_unlink_urb(context->ctrl_urb);		usb_free_urb(context->ctrl_urb);		context->ctrl_urb = NULL;	}	hisax_unregister(&context->d_if);	kfree(context);		/* free our structure again */}				/* hfc_usb_disconnect */
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/597a107b1d5587dc230dbbe3faeca242daed494e/hfc_usb.c/buggy/drivers/isdn/hisax/hfc_usb.c