qlge: Fix timeout on firmware mailbox commands.
authorRon Mercer <ron.mercer@qlogic.com>
Sun, 7 Jun 2009 13:58:29 +0000 (13:58 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Jun 2009 07:09:48 +0000 (00:09 -0700)
Some firmware mailbox commands require the firmware to
communicate with the FCoE driver running on another
PCI function.  This can potentially take several seconds.
This wait is done in process context only.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/qlge/qlge_mpi.c

index de96b8a7c3737488fa9d88d04bd8b3f33a2f2586..3bd60a4f5d71dd5507e58ab3135cf304a7723ddc 100644 (file)
@@ -90,14 +90,14 @@ static int ql_get_mb_sts(struct ql_adapter *qdev, struct mbox_params *mbcp)
  */
 static int ql_wait_mbx_cmd_cmplt(struct ql_adapter *qdev)
 {
-       int count = 50; /* TODO: arbitrary for now. */
+       int count = 100;
        u32 value;
 
        do {
                value = ql_read32(qdev, STS);
                if (value & STS_PI)
                        return 0;
-               udelay(UDELAY_DELAY); /* 10us */
+               mdelay(UDELAY_DELAY); /* 100ms */
        } while (--count);
        return -ETIMEDOUT;
 }