From 2d177be8e4a1f6ea7e3280b3a578a6b86472a39d Mon Sep 17 00:00:00 2001 From: Kalesh AP Date: Sun, 28 Apr 2013 22:22:29 +0000 Subject: [PATCH] be2net: FLR must be first cmd issued to Lancer FW 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 Signed-off-by: Somnath Kotur Signed-off-by: David S. Miller --- drivers/net/ethernet/emulex/benet/be_main.c | 22 ++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index 43d5c1e29fc7..1c734915933f 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c @@ -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; @@ -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; -- 2.39.2