2.4.36-stable kernel tree
Revision | bebd7ca873e8754072a2079e67a25edf453b940e (tree) |
---|---|
Zeit | 2008-04-17 15:35:59 |
Autor | Jesse Brandeburg <jesse.brandeburg@inte...> |
Commiter | Willy Tarreau |
[PATCH] ip-pnp-dhcp: wait lazily when doing dhcp for diskless systems
ic_dynamic() holds the cpu too long and tasks do not have a chance to run.
This causes adapters like e1000 that have the link come up in a tasklet to fail
link up due to exceptionally long delays in acquiring link, and then a dhcp
address.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
@@ -1034,8 +1034,8 @@ static int __init ic_dynamic(void) | ||
1034 | 1034 | |
1035 | 1035 | jiff = jiffies + (d->next ? CONF_INTER_TIMEOUT : timeout); |
1036 | 1036 | while (time_before(jiffies, jiff) && !ic_got_reply) { |
1037 | - barrier(); | |
1038 | - cpu_relax(); | |
1037 | + __set_current_state(TASK_UNINTERRUPTIBLE); | |
1038 | + schedule_timeout(1); | |
1039 | 1039 | } |
1040 | 1040 | #ifdef IPCONFIG_DHCP |
1041 | 1041 | /* DHCP isn't done until we get a DHCPACK. */ |