aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasundhara Volam <vasundhara.volam@emulex.com>2013-10-17 02:17:14 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-11-04 07:31:04 -0500
commita8410b48a2d992411a8befbab05de5e886b4ac3e (patch)
treed14d363c9857e4c6c24c855dfc0a16d1525dbe84
parent8ffb77d881734108a750acb7fb2625643f924bc5 (diff)
be2net: pass if_id for v1 and V2 versions of TX_CREATE cmd
[ Upstream commit 0fb88d61bc60779dde88b0fc268da17eb81d0412 ] It is a required field for all TX_CREATE cmd versions > 0. This fixes a driver initialization failure, caused by recent SH-R Firmwares (versions > 10.0.639.0) failing the TX_CREATE cmd when if_id field is not passed. Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/net/ethernet/emulex/benet/be_cmds.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c
index 1db2df61b8af..696674edbdc4 100644
--- a/drivers/net/ethernet/emulex/benet/be_cmds.c
+++ b/drivers/net/ethernet/emulex/benet/be_cmds.c
@@ -1150,7 +1150,6 @@ int be_cmd_txq_create(struct be_adapter *adapter, struct be_tx_obj *txo)
1150 1150
1151 if (lancer_chip(adapter)) { 1151 if (lancer_chip(adapter)) {
1152 req->hdr.version = 1; 1152 req->hdr.version = 1;
1153 req->if_id = cpu_to_le16(adapter->if_handle);
1154 } else if (BEx_chip(adapter)) { 1153 } else if (BEx_chip(adapter)) {
1155 if (adapter->function_caps & BE_FUNCTION_CAPS_SUPER_NIC) 1154 if (adapter->function_caps & BE_FUNCTION_CAPS_SUPER_NIC)
1156 req->hdr.version = 2; 1155 req->hdr.version = 2;
@@ -1158,6 +1157,8 @@ int be_cmd_txq_create(struct be_adapter *adapter, struct be_tx_obj *txo)
1158 req->hdr.version = 2; 1157 req->hdr.version = 2;
1159 } 1158 }
1160 1159
1160 if (req->hdr.version > 0)
1161 req->if_id = cpu_to_le16(adapter->if_handle);
1161 req->num_pages = PAGES_4K_SPANNED(q_mem->va, q_mem->size); 1162 req->num_pages = PAGES_4K_SPANNED(q_mem->va, q_mem->size);
1162 req->ulp_num = BE_ULP1_NUM; 1163 req->ulp_num = BE_ULP1_NUM;
1163 req->type = BE_ETH_TX_RING_TYPE_STANDARD; 1164 req->type = BE_ETH_TX_RING_TYPE_STANDARD;