static void prism2_transmit_cb(struct net_device *dev, void *context, 
static void prism2_transmit_cb(struct net_device *dev, long context, 
static void prism2_transmit_cb(struct net_device *dev, void *context,			       u16 resp0, u16 res){	struct hostap_interface *iface;	local_info_t *local;	int idx = (int) context;	iface = netdev_priv(dev);	local = iface->local;	if (res) {		printk(KERN_DEBUG "%s: prism2_transmit_cb - res=0x%02x\n",		       dev->name, res);		return;	}	if (idx < 0 || idx >= PRISM2_TXFID_COUNT) {		printk(KERN_DEBUG "%s: prism2_transmit_cb called with invalid "		       "idx=%d\n", dev->name, idx);		return;	}	if (!test_and_clear_bit(HOSTAP_BITS_TRANSMIT, &local->bits)) {		printk(KERN_DEBUG "%s: driver bug: prism2_transmit_cb called "		       "with no pending transmit\n", dev->name);	}	if (netif_queue_stopped(dev)) {		/* ready for next TX, so wake up queue that was stopped in		 * prism2_transmit() */		netif_wake_queue(dev);	}	spin_lock(&local->txfidlock);	/* With reclaim, Resp0 contains new txfid for transmit; the old txfid	 * will be automatically allocated for the next TX frame */	local->intransmitfid[idx] = resp0;	PDEBUG(DEBUG_FID, "%s: prism2_transmit_cb: txfid[%d]=0x%04x, "	       "resp0=0x%04x, transmit_txfid=0x%04x\n",	       dev->name, idx, local->txfid[idx],	       resp0, local->intransmitfid[local->next_txfid]);	idx++;	if (idx >= PRISM2_TXFID_COUNT)		idx = 0;	local->next_txfid = idx;	/* check if all TX buffers are occupied */	do {		if (local->intransmitfid[idx] == PRISM2_TXFID_EMPTY) {			spin_unlock(&local->txfidlock);			return;		}		idx++;		if (idx >= PRISM2_TXFID_COUNT)			idx = 0;	} while (idx != local->next_txfid);	spin_unlock(&local->txfidlock);	/* no empty TX buffers, stop queue */	netif_stop_queue(dev);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b15eff2632be3fcea68e01ba7f12e26a731e3157/hostap_hw.c/buggy/drivers/net/wireless/hostap/hostap_hw.c