Skip to content

Commit

Permalink
be2net: FLR must be first cmd issued to Lancer FW
Browse files Browse the repository at this point in the history
Lancer FW requires that the first cmd issued by the host-driver be an FLR.
So, re-order be_probe() to move be_cmd_function_reset() ahead of
be_cmd_fw_init().

Signed-off-by: Kalesh AP <kalesh.purayil@emulex.com>
Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Kalesh AP authored and David S. Miller committed Apr 29, 2013
1 parent 28710c5 commit 2d177be
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions drivers/net/ethernet/emulex/benet/be_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -4174,23 +4174,23 @@ static int be_probe(struct pci_dev *pdev, const struct pci_device_id *pdev_id)
goto ctrl_clean;
}

/* tell fw we're ready to fire cmds */
status = be_cmd_fw_init(adapter);
if (status)
goto ctrl_clean;

if (be_reset_required(adapter)) {
status = be_cmd_reset_function(adapter);
if (status)
goto ctrl_clean;
}

/* Wait for interrupts to quiesce after an FLR */
msleep(100);
/* Wait for interrupts to quiesce after an FLR */
msleep(100);
}

/* Allow interrupts for other ULPs running on NIC function */
be_intr_set(adapter, true);

/* tell fw we're ready to fire cmds */
status = be_cmd_fw_init(adapter);
if (status)
goto ctrl_clean;

status = be_stats_init(adapter);
if (status)
goto ctrl_clean;
Expand Down Expand Up @@ -4400,12 +4400,12 @@ static void be_eeh_resume(struct pci_dev *pdev)

pci_save_state(pdev);

/* tell fw we're ready to fire cmds */
status = be_cmd_fw_init(adapter);
status = be_cmd_reset_function(adapter);
if (status)
goto err;

status = be_cmd_reset_function(adapter);
/* tell fw we're ready to fire cmds */
status = be_cmd_fw_init(adapter);
if (status)
goto err;

Expand Down

0 comments on commit 2d177be

Please sign in to comment.