o Earlier, set_drv_version was getting called after register_netdev.
  This was resulting in a race between set_drv_version and FLR called
  from open(). Moving set_drv_version before register_netdev avoids
  the race.
o Log response code in error message on CDRP failure.
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
        rsp = qlcnic_poll_rsp(adapter);
 
        if (rsp == QLCNIC_CDRP_RSP_TIMEOUT) {
-               dev_err(&pdev->dev, "card response timeout.\n");
+               dev_err(&pdev->dev, "command timeout, response = 0x%x\n", rsp);
                cmd->rsp.arg[0] = QLCNIC_RCODE_TIMEOUT;
        } else if (rsp == QLCNIC_CDRP_RSP_FAIL) {
                cmd->rsp.arg[0] = QLCRD32(adapter, QLCNIC_CDRP_ARG(1), &err);
 
        if (err)
                goto err_out_disable_mbx_intr;
 
+       if (adapter->portnum == 0)
+               qlcnic_set_drv_version(adapter);
+
        err = qlcnic_setup_netdev(adapter, netdev, pci_using_dac);
        if (err)
                goto err_out_disable_mbx_intr;
 
-       if (adapter->portnum == 0)
-               qlcnic_set_drv_version(adapter);
-
        pci_set_drvdata(pdev, adapter);
 
        if (qlcnic_82xx_check(adapter))