TRACE_M("remove_from_tx_queue - kfree %x",(int)pHeader); 
TRACE_M("remove_from_tx_queue - kfree %p",pHeader); 
static void remove_from_tx_queue(struct r3964_info *pInfo, int error_code){   struct r3964_block_header *pHeader;   unsigned long flags;#ifdef DEBUG_QUEUE   struct r3964_block_header *pDump;#endif      pHeader = pInfo->tx_first;   if(pHeader==NULL)      return;#ifdef DEBUG_QUEUE   printk("r3964: remove_from_tx_queue: %x, length %d - ",          (int)pHeader, (int)pHeader->length );   for(pDump=pHeader;pDump;pDump=pDump->next)	 printk("%x ", (int)pDump);   printk("\n");#endif   if(pHeader->owner)   {      if(error_code)      {          add_msg(pHeader->owner, R3964_MSG_ACK, 0,                   error_code, NULL);      }      else      {          add_msg(pHeader->owner, R3964_MSG_ACK, pHeader->length,                   error_code, NULL);      }      wake_up_interruptible (&pInfo->read_wait);   }   spin_lock_irqsave(&pInfo->lock, flags);   pInfo->tx_first = pHeader->next;   if(pInfo->tx_first==NULL)   {      pInfo->tx_last = NULL;   }   spin_unlock_irqrestore(&pInfo->lock, flags);   kfree(pHeader);   TRACE_M("remove_from_tx_queue - kfree %x",(int)pHeader);   TRACE_Q("remove_from_tx_queue: tx_first = %x, tx_last = %x",          (int)pInfo->tx_first, (int)pInfo->tx_last );}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/87e0f3dbd3693bc4583474ab191cbdd5e3d9d0fa/n_r3964.c/clean/drivers/char/n_r3964.c