Commit 69161425 authored by Vasanthy Kolluri's avatar Vasanthy Kolluri Committed by David S. Miller

enic: Bug Fix: Reorder firmware devcmds - CMD_INIT and CMD_IG_VLAN_REWRITE_MODE

Firmware requires CMD_IG_VLAN_REWRITE_MODE be issued before a CMD_INIT.
Signed-off-by: default avatarChristian Benvenuti <benve@cisco.com>
Signed-off-by: default avatarVasanthy Kolluri <vkolluri@cisco.com>
Signed-off-by: default avatarRoopa Prabhu <roprabhu@cisco.com>
Signed-off-by: default avatarDavid Wang <dwang2@cisco.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 115d56f7
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
#define DRV_NAME "enic" #define DRV_NAME "enic"
#define DRV_DESCRIPTION "Cisco VIC Ethernet NIC Driver" #define DRV_DESCRIPTION "Cisco VIC Ethernet NIC Driver"
#define DRV_VERSION "2.1.1.4" #define DRV_VERSION "2.1.1.5"
#define DRV_COPYRIGHT "Copyright 2008-2011 Cisco Systems, Inc" #define DRV_COPYRIGHT "Copyright 2008-2011 Cisco Systems, Inc"
#define ENIC_BARS_MAX 6 #define ENIC_BARS_MAX 6
......
...@@ -2359,13 +2359,6 @@ static int enic_dev_init(struct enic *enic) ...@@ -2359,13 +2359,6 @@ static int enic_dev_init(struct enic *enic)
goto err_out_free_vnic_resources; goto err_out_free_vnic_resources;
} }
err = enic_dev_set_ig_vlan_rewrite_mode(enic);
if (err) {
dev_err(dev,
"Failed to set ingress vlan rewrite mode, aborting.\n");
goto err_out_free_vnic_resources;
}
switch (vnic_dev_get_intr_mode(enic->vdev)) { switch (vnic_dev_get_intr_mode(enic->vdev)) {
default: default:
netif_napi_add(netdev, &enic->napi[0], enic_poll, 64); netif_napi_add(netdev, &enic->napi[0], enic_poll, 64);
...@@ -2504,6 +2497,22 @@ static int __devinit enic_probe(struct pci_dev *pdev, ...@@ -2504,6 +2497,22 @@ static int __devinit enic_probe(struct pci_dev *pdev,
goto err_out_vnic_unregister; goto err_out_vnic_unregister;
} }
/* Setup devcmd lock
*/
spin_lock_init(&enic->devcmd_lock);
/*
* Set ingress vlan rewrite mode before vnic initialization
*/
err = enic_dev_set_ig_vlan_rewrite_mode(enic);
if (err) {
dev_err(dev,
"Failed to set ingress vlan rewrite mode, aborting.\n");
goto err_out_dev_close;
}
/* Issue device init to initialize the vnic-to-switch link. /* Issue device init to initialize the vnic-to-switch link.
* We'll start with carrier off and wait for link UP * We'll start with carrier off and wait for link UP
* notification later to turn on carrier. We don't need * notification later to turn on carrier. We don't need
...@@ -2527,11 +2536,6 @@ static int __devinit enic_probe(struct pci_dev *pdev, ...@@ -2527,11 +2536,6 @@ static int __devinit enic_probe(struct pci_dev *pdev,
} }
} }
/* Setup devcmd lock
*/
spin_lock_init(&enic->devcmd_lock);
err = enic_dev_init(enic); err = enic_dev_init(enic);
if (err) { if (err) {
dev_err(dev, "Device initialization failed, aborting\n"); dev_err(dev, "Device initialization failed, aborting\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment