myri10ge: increase and fix handoff timeout
authorBrice Goglin <brice@myri.com>
Fri, 9 May 2008 00:17:16 +0000 (02:17 +0200)
committerJeff Garzik <jgarzik@redhat.com>
Tue, 13 May 2008 05:30:26 +0000 (01:30 -0400)
Increase the handoff timeout to 512ms so as to give the aeluros based
NICs sufficient time to handoff without relying on the msleep() being
sloppy, and accidentally sleeping way longer than the 20ms we specified
in 20 separate 1ms sleeps.

Fix typo in the handoff sleep delay, which made it additive, not
exponential.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Andrew Gallatin <gallatin@myri.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/myri10ge/myri10ge.c

index 162c624f7f534cbc5cb61a35ed4f1f4f4500b8f8..ad6c619e3a56435597661c1230c475dae8cf5ba4 100644 (file)
@@ -682,8 +682,8 @@ static int myri10ge_load_firmware(struct myri10ge_priv *mgp)
        msleep(1);
        mb();
        i = 0;
-       while (mgp->cmd->data != MYRI10GE_NO_CONFIRM_DATA && i < 20) {
-               msleep(1);
+       while (mgp->cmd->data != MYRI10GE_NO_CONFIRM_DATA && i < 9) {
+               msleep(1 << i);
                i++;
        }
        if (mgp->cmd->data != MYRI10GE_NO_CONFIRM_DATA) {