aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorKalesh AP <kalesh.purayil@emulex.com>2013-04-28 18:22:29 -0400
committerDavid S. Miller <davem@davemloft.net>2013-04-29 15:14:02 -0400
commit2d177be8e4a1f6ea7e3280b3a578a6b86472a39d (patch)
treeac01b768149e5e852117f1accf1080ee30e15c70 /drivers/net
parent28710c55f4a62b6c595d1a7134e7196c63838e1c (diff)
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 <kalesh.purayil@emulex.com> Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/emulex/benet/be_main.c22
1 files 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)
4174 goto ctrl_clean; 4174 goto ctrl_clean;
4175 } 4175 }
4176 4176
4177 /* tell fw we're ready to fire cmds */
4178 status = be_cmd_fw_init(adapter);
4179 if (status)
4180 goto ctrl_clean;
4181
4182 if (be_reset_required(adapter)) { 4177 if (be_reset_required(adapter)) {
4183 status = be_cmd_reset_function(adapter); 4178 status = be_cmd_reset_function(adapter);
4184 if (status) 4179 if (status)
4185 goto ctrl_clean; 4180 goto ctrl_clean;
4186 }
4187 4181
4188 /* Wait for interrupts to quiesce after an FLR */ 4182 /* Wait for interrupts to quiesce after an FLR */
4189 msleep(100); 4183 msleep(100);
4184 }
4190 4185
4191 /* Allow interrupts for other ULPs running on NIC function */ 4186 /* Allow interrupts for other ULPs running on NIC function */
4192 be_intr_set(adapter, true); 4187 be_intr_set(adapter, true);
4193 4188
4189 /* tell fw we're ready to fire cmds */
4190 status = be_cmd_fw_init(adapter);
4191 if (status)
4192 goto ctrl_clean;
4193
4194 status = be_stats_init(adapter); 4194 status = be_stats_init(adapter);
4195 if (status) 4195 if (status)
4196 goto ctrl_clean; 4196 goto ctrl_clean;
@@ -4400,12 +4400,12 @@ static void be_eeh_resume(struct pci_dev *pdev)
4400 4400
4401 pci_save_state(pdev); 4401 pci_save_state(pdev);
4402 4402
4403 /* tell fw we're ready to fire cmds */ 4403 status = be_cmd_reset_function(adapter);
4404 status = be_cmd_fw_init(adapter);
4405 if (status) 4404 if (status)
4406 goto err; 4405 goto err;
4407 4406
4408 status = be_cmd_reset_function(adapter); 4407 /* tell fw we're ready to fire cmds */
4408 status = be_cmd_fw_init(adapter);
4409 if (status) 4409 if (status)
4410 goto err; 4410 goto err;
4411 4411