if (urb->transfer_buffer != NULL) { kfree(urb->transfer_buffer); } 
kfree(urb->transfer_buffer); 
static void edge_bulk_out_cmd_callback (struct urb *urb, struct pt_regs *regs){	struct edgeport_port *edge_port = (struct edgeport_port *)urb->context;	struct tty_struct *tty;	int status = urb->status;	dbg("%s", __FUNCTION__);	CmdUrbs--;	dbg("%s - FREE URB %p (outstanding %d)", __FUNCTION__, urb, CmdUrbs);	/* clean up the transfer buffer */	if (urb->transfer_buffer != NULL) {		kfree(urb->transfer_buffer);	}	/* Free the command urb */	usb_free_urb (urb);	if (status) {		dbg("%s - nonzero write bulk status received: %d", __FUNCTION__, status);		return;	}	/* Get pointer to tty */	tty = edge_port->port->tty;	/* tell the tty driver that something has changed */	if (tty && edge_port->open)		tty_wakeup(tty);	/* we have completed the command */	edge_port->commandPending = FALSE;	wake_up(&edge_port->wait_command);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/1bc3c9e1e44c2059fe2ffa6ff70ad0a925d7b05f/io_edgeport.c/clean/drivers/usb/serial/io_edgeport.c