X__ipw2100_tx_send_commands(priv); X__ipw2100_tx_send_data(priv); 
ipw2100_tx_send_commands(priv); ipw2100_tx_send_data(priv); 
static void ipw2100_irq_tasklet(struct ipw2100_priv *priv){	struct net_device *dev = priv->net_dev;	unsigned long flags;	u32 inta, tmp;	spin_lock_irqsave(&priv->low_lock, flags);	ipw2100_disable_interrupts(priv);	read_register(dev, IPW_REG_INTA, &inta);	IPW_DEBUG_ISR("enter - INTA: 0x%08lX\n",		      (unsigned long)inta & IPW_INTERRUPT_MASK);	priv->in_isr++;	priv->interrupts++;	/* We do not loop and keep polling for more interrupts as this	 * is frowned upon and doesn't play nicely with other potentially	 * chained IRQs */	IPW_DEBUG_ISR("INTA: 0x%08lX\n",		      (unsigned long)inta & IPW_INTERRUPT_MASK);	if (inta & IPW2100_INTA_FATAL_ERROR) {		IPW_DEBUG_WARNING(DRV_NAME				  ": Fatal interrupt. Scheduling firmware restart.\n");		priv->inta_other++;		write_register(			dev, IPW_REG_INTA,			IPW2100_INTA_FATAL_ERROR);		read_nic_dword(dev, IPW_NIC_FATAL_ERROR, &priv->fatal_error);		IPW_DEBUG_INFO("%s: Fatal error value: 0x%08X\n",			       priv->net_dev->name, priv->fatal_error);		read_nic_dword(dev, IPW_ERROR_ADDR(priv->fatal_error), &tmp);		IPW_DEBUG_INFO("%s: Fatal error address value: 0x%08X\n",			       priv->net_dev->name, tmp);		/* Wake up any sleeping jobs */		schedule_reset(priv);	}	if (inta & IPW2100_INTA_PARITY_ERROR) {		IPW_DEBUG_ERROR("***** PARITY ERROR INTERRUPT !!!! \n");		priv->inta_other++;		write_register(			dev, IPW_REG_INTA,			IPW2100_INTA_PARITY_ERROR);	}	if (inta & IPW2100_INTA_RX_TRANSFER) {		IPW_DEBUG_ISR("RX interrupt\n");		priv->rx_interrupts++;		write_register(			dev, IPW_REG_INTA,			IPW2100_INTA_RX_TRANSFER);		__ipw2100_rx_process(priv);		__ipw2100_tx_complete(priv);	}	if (inta & IPW2100_INTA_TX_TRANSFER) {		IPW_DEBUG_ISR("TX interrupt\n");		priv->tx_interrupts++;		write_register(dev, IPW_REG_INTA,			       IPW2100_INTA_TX_TRANSFER);		__ipw2100_tx_complete(priv);		X__ipw2100_tx_send_commands(priv);		X__ipw2100_tx_send_data(priv);	}	if (inta & IPW2100_INTA_TX_COMPLETE) {		IPW_DEBUG_ISR("TX complete\n");		priv->inta_other++;		write_register(			dev, IPW_REG_INTA,			IPW2100_INTA_TX_COMPLETE);		__ipw2100_tx_complete(priv);	}	if (inta & IPW2100_INTA_EVENT_INTERRUPT) {		/* ipw2100_handle_event(dev); */		priv->inta_other++;		write_register(			dev, IPW_REG_INTA,			IPW2100_INTA_EVENT_INTERRUPT);	}	if (inta & IPW2100_INTA_FW_INIT_DONE) {		IPW_DEBUG_ISR("FW init done interrupt\n");		priv->inta_other++;		read_register(dev, IPW_REG_INTA, &tmp);		if (tmp & (IPW2100_INTA_FATAL_ERROR |			   IPW2100_INTA_PARITY_ERROR)) {			write_register(				dev, IPW_REG_INTA,				IPW2100_INTA_FATAL_ERROR |				IPW2100_INTA_PARITY_ERROR);		}		write_register(dev, IPW_REG_INTA,			       IPW2100_INTA_FW_INIT_DONE);	}	if (inta & IPW2100_INTA_STATUS_CHANGE) {		IPW_DEBUG_ISR("Status change interrupt\n");		priv->inta_other++;		write_register(			dev, IPW_REG_INTA,			IPW2100_INTA_STATUS_CHANGE);	}	if (inta & IPW2100_INTA_SLAVE_MODE_HOST_COMMAND_DONE) {		IPW_DEBUG_ISR("slave host mode interrupt\n");		priv->inta_other++;		write_register(			dev, IPW_REG_INTA,			IPW2100_INTA_SLAVE_MODE_HOST_COMMAND_DONE);	}	priv->in_isr--;	ipw2100_enable_interrupts(priv);	spin_unlock_irqrestore(&priv->low_lock, flags);	IPW_DEBUG_ISR("exit\n");}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/19f7f74297e7f88f60c183acb105a5488dd189b6/ipw2100.c/clean/drivers/net/wireless/ipw2100.c