jiff = jiffies + (d->next ? CONF_INTER_TIMEOUT : timeout);
while (time_before(jiffies, jiff) && !ic_got_reply) {
- set_current_state(TASK_UNINTERRUPTIBLE);
- schedule_timeout(1);
+ barrier();
+ cpu_relax();
}
#ifdef IPCONFIG_DHCP
/* DHCP isn't done until we get a DHCPACK. */
static int __init ip_auto_config(void)
{
+ unsigned long jiff;
u32 addr;
#ifdef CONFIG_PROC_FS
try_try_again:
#endif
/* Give hardware a chance to settle */
- set_current_state(TASK_UNINTERRUPTIBLE);
- schedule_timeout(CONF_PRE_OPEN);
+ jiff = jiffies + CONF_PRE_OPEN;
+ while (time_before(jiffies, jiff))
+ cpu_relax();
/* Setup all network devices */
if (ic_open_devs() < 0)
return -1;
/* Give drivers a chance to settle */
- set_current_state(TASK_UNINTERRUPTIBLE);
- schedule_timeout(CONF_POST_OPEN);
+ jiff = jiffies + CONF_POST_OPEN;
+ while (time_before(jiffies, jiff))
+ cpu_relax();
/*
* If the config information is insufficient (e.g., our IP address or