static int orinoco_ioctl_getretry(struct net_device *dev, struct iw_param *rrq) 
static int orinoco_ioctl_getretry(struct net_device *dev, struct iw_request_info *info, struct iw_param *rrq, char *extra) 
static int orinoco_ioctl_getretry(struct net_device *dev, struct iw_param *rrq){	struct orinoco_private *priv = netdev_priv(dev);	hermes_t *hw = &priv->hw;	int err = 0;	u16 short_limit, long_limit, lifetime;	unsigned long flags;	if (orinoco_lock(priv, &flags) != 0)		return -EBUSY;		err = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_SHORTRETRYLIMIT,				  &short_limit);	if (err)		goto out;	err = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_LONGRETRYLIMIT,				  &long_limit);	if (err)		goto out;	err = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_MAXTRANSMITLIFETIME,				  &lifetime);	if (err)		goto out;	rrq->disabled = 0;		/* Can't be disabled */	/* Note : by default, display the retry number */	if ((rrq->flags & IW_RETRY_TYPE) == IW_RETRY_LIFETIME) {		rrq->flags = IW_RETRY_LIFETIME;		rrq->value = lifetime * 1000;	/* ??? */	} else {		/* By default, display the min number */		if ((rrq->flags & IW_RETRY_MAX)) {			rrq->flags = IW_RETRY_LIMIT | IW_RETRY_MAX;			rrq->value = long_limit;		} else {			rrq->flags = IW_RETRY_LIMIT;			rrq->value = short_limit;			if(short_limit != long_limit)				rrq->flags |= IW_RETRY_MIN;		}	} out:	orinoco_unlock(priv, &flags);	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/620554e406e3cc01434c658a1e597162d7e56fd6/orinoco.c/buggy/drivers/net/wireless/orinoco.c