void *context, u16 resp0, 
long context, u16 resp0, 
static int hfa384x_cmd_callback(struct net_device *dev, u16 cmd, u16 param0,				void (*callback)(struct net_device *dev,						 void *context, u16 resp0,						 u16 status),				void *context){	struct hostap_interface *iface;	local_info_t *local;	int issue, ret;	unsigned long flags;	struct hostap_cmd_queue *entry;	iface = netdev_priv(dev);	local = iface->local;	if (local->cmd_queue_len >= HOSTAP_CMD_QUEUE_MAX_LEN + 2) {		printk(KERN_DEBUG "%s: hfa384x_cmd: cmd_queue full\n",		       dev->name);		return -1;	}	entry = (struct hostap_cmd_queue *)		kmalloc(sizeof(*entry), GFP_ATOMIC);	if (entry == NULL) {		printk(KERN_DEBUG "%s: hfa384x_cmd_callback - kmalloc "		       "failed\n", dev->name);		return -ENOMEM;	}	memset(entry, 0, sizeof(*entry));	atomic_set(&entry->usecnt, 1);	entry->type = CMD_CALLBACK;	entry->cmd = cmd;	entry->param0 = param0;	entry->callback = callback;	entry->context = context;	spin_lock_irqsave(&local->cmdlock, flags);	issue = list_empty(&local->cmd_queue);	if (issue)		entry->issuing = 1;	list_add_tail(&entry->list, &local->cmd_queue);	local->cmd_queue_len++;	spin_unlock_irqrestore(&local->cmdlock, flags);	if (issue && hfa384x_cmd_issue(dev, entry))		ret = -ETIMEDOUT;	else		ret = 0;	hostap_cmd_queue_free(local, entry, ret);	return ret;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b15eff2632be3fcea68e01ba7f12e26a731e3157/hostap_hw.c/buggy/drivers/net/wireless/hostap/hostap_hw.c