const long wait_cycle_jiffies = (ISL38XX_WAIT_CYCLE * 10 * HZ) / 1000; 
const long wait_cycle_jiffies = msecs_to_jiffies(ISL38XX_WAIT_CYCLE * 10); 
islpci_mgt_transaction(struct net_device *ndev,		       int operation, unsigned long oid,		       void *senddata, int sendlen,		       struct islpci_mgmtframe **recvframe){	islpci_private *priv = netdev_priv(ndev);	const long wait_cycle_jiffies = (ISL38XX_WAIT_CYCLE * 10 * HZ) / 1000;	long timeout_left = ISL38XX_MAX_WAIT_CYCLES * wait_cycle_jiffies;	int err;	DEFINE_WAIT(wait);	*recvframe = NULL;	if (down_interruptible(&priv->mgmt_sem))		return -ERESTARTSYS;	prepare_to_wait(&priv->mgmt_wqueue, &wait, TASK_UNINTERRUPTIBLE);	err = islpci_mgt_transmit(ndev, operation, oid, senddata, sendlen);	if (err)		goto out;	err = -ETIMEDOUT;	while (timeout_left > 0) {		int timeleft;		struct islpci_mgmtframe *frame;		set_current_state(TASK_UNINTERRUPTIBLE);		timeleft = schedule_timeout(wait_cycle_jiffies);		frame = xchg(&priv->mgmt_received, NULL);		if (frame) {			if (frame->header->oid == oid) {				*recvframe = frame;				err = 0;				goto out;			} else {				printk(KERN_DEBUG				       "%s: expecting oid 0x%x, received 0x%x.\n",				       ndev->name, (unsigned int) oid,				       frame->header->oid);				kfree(frame);				frame = NULL;			}		}		if (timeleft == 0) {			printk(KERN_DEBUG				"%s: timeout waiting for mgmt response %lu, "				"triggering device\n",				ndev->name, timeout_left);			islpci_trigger(priv);		}		timeout_left += timeleft - wait_cycle_jiffies;	}	printk(KERN_WARNING "%s: timeout waiting for mgmt response\n",	       ndev->name);	/* TODO: we should reset the device here */      out:	finish_wait(&priv->mgmt_wqueue, &wait);	up(&priv->mgmt_sem);	return err;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/3173c8907ffb2c64456142da3df2bd0500bd59e0/islpci_mgt.c/buggy/drivers/net/wireless/prism54/islpci_mgt.c