diff options
Diffstat (limited to 'drivers/net/netxen/netxen_nic_ctx.c')
-rw-r--r-- | drivers/net/netxen/netxen_nic_ctx.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/netxen/netxen_nic_ctx.c b/drivers/net/netxen/netxen_nic_ctx.c index 9f8ae4719e2f..412d65829d20 100644 --- a/drivers/net/netxen/netxen_nic_ctx.c +++ b/drivers/net/netxen/netxen_nic_ctx.c | |||
@@ -203,6 +203,8 @@ nx_fw_cmd_create_rx_ctx(struct netxen_adapter *adapter) | |||
203 | 203 | ||
204 | cap = (NX_CAP0_LEGACY_CONTEXT | NX_CAP0_LEGACY_MN); | 204 | cap = (NX_CAP0_LEGACY_CONTEXT | NX_CAP0_LEGACY_MN); |
205 | cap |= (NX_CAP0_JUMBO_CONTIGUOUS | NX_CAP0_LRO_CONTIGUOUS); | 205 | cap |= (NX_CAP0_JUMBO_CONTIGUOUS | NX_CAP0_LRO_CONTIGUOUS); |
206 | if (adapter->capabilities & NX_FW_CAPABILITY_HW_LRO) | ||
207 | cap |= NX_CAP0_HW_LRO; | ||
206 | 208 | ||
207 | prq->capabilities[0] = cpu_to_le32(cap); | 209 | prq->capabilities[0] = cpu_to_le32(cap); |
208 | prq->host_int_crb_mode = | 210 | prq->host_int_crb_mode = |
@@ -647,7 +649,7 @@ int netxen_alloc_hw_resources(struct netxen_adapter *adapter) | |||
647 | } | 649 | } |
648 | rds_ring->desc_head = (struct rcv_desc *)addr; | 650 | rds_ring->desc_head = (struct rcv_desc *)addr; |
649 | 651 | ||
650 | if (adapter->fw_major < 4) | 652 | if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) |
651 | rds_ring->crb_rcv_producer = | 653 | rds_ring->crb_rcv_producer = |
652 | recv_crb_registers[port].crb_rcv_producer[ring]; | 654 | recv_crb_registers[port].crb_rcv_producer[ring]; |
653 | } | 655 | } |
@@ -675,7 +677,7 @@ int netxen_alloc_hw_resources(struct netxen_adapter *adapter) | |||
675 | } | 677 | } |
676 | 678 | ||
677 | 679 | ||
678 | if (adapter->fw_major >= 4) { | 680 | if (!NX_IS_REVISION_P2(adapter->ahw.revision_id)) { |
679 | err = nx_fw_cmd_create_rx_ctx(adapter); | 681 | err = nx_fw_cmd_create_rx_ctx(adapter); |
680 | if (err) | 682 | if (err) |
681 | goto err_out_free; | 683 | goto err_out_free; |
@@ -705,7 +707,7 @@ void netxen_free_hw_resources(struct netxen_adapter *adapter) | |||
705 | 707 | ||
706 | int port = adapter->portnum; | 708 | int port = adapter->portnum; |
707 | 709 | ||
708 | if (adapter->fw_major >= 4) { | 710 | if (!NX_IS_REVISION_P2(adapter->ahw.revision_id)) { |
709 | nx_fw_cmd_destroy_rx_ctx(adapter); | 711 | nx_fw_cmd_destroy_rx_ctx(adapter); |
710 | nx_fw_cmd_destroy_tx_ctx(adapter); | 712 | nx_fw_cmd_destroy_tx_ctx(adapter); |
711 | } else { | 713 | } else { |