[ewg] [PATCH] RDMA/nes: Backport fixes for PAU

Faisal Latif faisal.latif at intel.com
Tue Sep 27 14:43:39 PDT 2011


Backport fix for the Packed and Unaligned (PAU) code.

Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova at intel.com>
Signed-off-by: Faisal Latif <Faisal.Latif at intel.com>
---
 .../2.6.16_sles10_sp4/iw_nes_880_to_2_6_23.patch   |   67 +++++++++++---------
 .../2.6.18-EL5.5/iw_nes_880_to_2_6_23.patch        |   67 +++++++++++---------
 .../2.6.18-EL5.6/iw_nes_880_to_2_6_23.patch        |   67 +++++++++++---------
 .../2.6.18-EL5.7/iw_nes_880_to_2_6_23.patch        |   67 +++++++++++---------
 4 files changed, 148 insertions(+), 120 deletions(-)

diff --git a/kernel_patches/backport/2.6.16_sles10_sp4/iw_nes_880_to_2_6_23.patch b/kernel_patches/backport/2.6.16_sles10_sp4/iw_nes_880_to_2_6_23.patch
index 3fb71c6..66dc991 100644
--- a/kernel_patches/backport/2.6.16_sles10_sp4/iw_nes_880_to_2_6_23.patch
+++ b/kernel_patches/backport/2.6.16_sles10_sp4/iw_nes_880_to_2_6_23.patch
@@ -1,6 +1,7 @@
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/Kconfig nes.2_6_23_patch/drivers/infiniband/hw/nes/Kconfig
---- linux-2.6/drivers/infiniband/hw/nes/Kconfig	2010-11-25 14:09:57.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/Kconfig	2010-11-25 14:10:32.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/Kconfig b/drivers/infiniband/hw/nes/Kconfig
+index 846dc97..7964eba 100644
+--- a/drivers/infiniband/hw/nes/Kconfig
++++ b/drivers/infiniband/hw/nes/Kconfig
 @@ -2,7 +2,6 @@ config INFINIBAND_NES
  	tristate "NetEffect RNIC Driver"
  	depends on PCI && INET && INFINIBAND
@@ -9,9 +10,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/Kconfig nes.2_6_23_patch/drivers/
  	---help---
  	  This is the RDMA Network Interface Card (RNIC) driver for
  	  NetEffect Ethernet Cluster Server Adapters.
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.c
---- linux-2.6/drivers/infiniband/hw/nes/nes_hw.c	2010-11-25 14:34:51.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.c	2010-11-25 14:10:32.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c
+index 9835893..3c5ae9b 100644
+--- a/drivers/infiniband/hw/nes/nes_hw.c
++++ b/drivers/infiniband/hw/nes/nes_hw.c
 @@ -38,14 +38,9 @@
  #include <linux/ip.h>
  #include <linux/tcp.h>
@@ -27,7 +29,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  static int wide_ppm_offset;
  module_param(wide_ppm_offset, int, 0644);
  MODULE_PARM_DESC(wide_ppm_offset, "Increase CX4 interface clock ppm offset, 0=100ppm (default), 1=300ppm");
-@@ -1630,25 +1625,6 @@ static void nes_rq_wqes_timeout(unsigned
+@@ -1643,25 +1638,6 @@ static void nes_rq_wqes_timeout(unsigned long parm)
  }
  
  
@@ -53,10 +55,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  /**
   * nes_init_nic_qp
   */
-@@ -1872,14 +1848,6 @@ int nes_init_nic_qp(struct nes_device *n
- 			jumbomode = 1;
- 		nes_nic_init_timer_defaults(nesdev, jumbomode);
+@@ -1896,14 +1872,6 @@ int nes_init_nic_qp(struct nes_device *nesdev, struct net_device *netdev)
+		return -ENOMEM;
  	}
+
 -	nesvnic->lro_mgr.max_aggr       = nes_lro_max_aggr;
 -	nesvnic->lro_mgr.max_desc       = NES_MAX_LRO_DESCRIPTORS;
 -	nesvnic->lro_mgr.lro_arr        = nesvnic->lro_desc;
@@ -68,7 +70,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  	return 0;
  }
  
-@@ -2743,7 +2711,7 @@ static void nes_nic_napi_ce_handler(stru
+@@ -2776,7 +2744,7 @@ static void nes_nic_napi_ce_handler(struct nes_device *nesdev, struct nes_hw_nic
  {
  	struct nes_vnic *nesvnic = container_of(cq, struct nes_vnic, nic_cq);
  
@@ -77,7 +79,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  }
  
  
-@@ -2778,13 +2746,10 @@ void nes_nic_ce_handler(struct nes_devic
+@@ -2812,13 +2780,10 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq)
  	u16 pkt_type;
  	u16 rqes_processed = 0;
  	u8 sq_cqes = 0;
@@ -91,7 +93,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  	do {
  		if (le32_to_cpu(cq->cq_vbase[head].cqe_words[NES_NIC_CQE_MISC_IDX]) &
  				NES_NIC_CQE_VALID) {
-@@ -2916,17 +2881,9 @@ void nes_nic_ce_handler(struct nes_devic
+@@ -2952,17 +2917,9 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq)
  							>> 16);
  					nes_debug(NES_DBG_CQ, "%s: Reporting stripped VLAN packet. Tag = 0x%04X\n",
  							nesvnic->netdev->name, vlan_tag);
@@ -112,7 +114,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  
  skip_rx_indicate0:
  				;
-@@ -2957,8 +2914,6 @@ skip_rx_indicate0:
+@@ -2993,8 +2950,6 @@ skip_rx_indicate0:
  
  	} while (1);
  
@@ -121,9 +123,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  	if (sq_cqes) {
  		barrier();
  		/* restart the queue if it had been stopped */
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.h
---- linux-2.6/drivers/infiniband/hw/nes/nes_hw.h	2010-11-25 14:09:57.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.h	2010-11-25 14:23:56.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/nes_hw.h b/drivers/infiniband/hw/nes/nes_hw.h
+index 11012e5..5cf7a2a 100644
+--- a/drivers/infiniband/hw/nes/nes_hw.h
++++ b/drivers/infiniband/hw/nes/nes_hw.h
 @@ -33,8 +33,6 @@
  #ifndef __NES_HW_H
  #define __NES_HW_H
@@ -133,7 +136,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  #define NES_PHY_TYPE_CX4       1
  #define NES_PHY_TYPE_1G        2
  #define NES_PHY_TYPE_ARGUS     4
-@@ -1025,8 +1023,6 @@ struct nes_hw_tune_timer {
+@@ -1049,8 +1047,6 @@ struct nes_hw_tune_timer {
  #define NES_TIMER_ENABLE_LIMIT      4
  #define NES_MAX_LINK_INTERRUPTS     128
  #define NES_MAX_LINK_CHECK          200
@@ -142,7 +145,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  
  struct nes_adapter {
  	u64              fw_ver;
-@@ -1205,7 +1201,6 @@ struct nes_vnic {
+@@ -1230,7 +1226,6 @@ struct nes_vnic {
  	u32               msg_enable;
  	/* u32 tx_avail; */
  	__be32            local_ipaddr;
@@ -150,7 +153,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  	spinlock_t           tx_lock;	/* could use netdev tx lock? */
  	struct timer_list    rq_wqes_timer;
  	u32                  nic_mem_size;
-@@ -1233,9 +1228,6 @@ struct nes_vnic {
+@@ -1258,9 +1253,6 @@ struct nes_vnic {
  	u8  of_device_registered;
  	u8  rdma_enabled;
  	u8  rx_checksum_disabled;
@@ -160,9 +163,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  	struct timer_list event_timer;
  	enum ib_event_type delayed_event;
  	enum ib_event_type last_dispatched_event;
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_nic.c
---- linux-2.6/drivers/infiniband/hw/nes/nes_nic.c	2010-11-25 14:34:51.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_nic.c	2010-11-25 14:27:03.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c
+index 35a581a..37cbcc2 100644
+--- a/drivers/infiniband/hw/nes/nes_nic.c
++++ b/drivers/infiniband/hw/nes/nes_nic.c
 @@ -96,35 +96,38 @@ static int nics_per_function = 1;
  /**
   * nes_netdev_poll
@@ -210,7 +214,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  }
  
  
-@@ -264,7 +267,6 @@ static int nes_netdev_open(struct net_de
+@@ -264,7 +267,6 @@ static int nes_netdev_open(struct net_device *netdev)
  	}
  	spin_unlock_irqrestore(&nesvnic->port_ibevent_lock, flags);
  
@@ -218,7 +222,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	nesvnic->netdev_open = 1;
  
  	return 0;
-@@ -294,7 +296,6 @@ static int nes_netdev_stop(struct net_de
+@@ -294,7 +296,6 @@ static int nes_netdev_stop(struct net_device *netdev)
  	netif_carrier_off(netdev);
  
  	/* Disable network packets */
@@ -226,7 +230,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	netif_stop_queue(netdev);
  	list_for_each_safe(list_pos, list_temp, &nesdev->nesadapter->nesvnic_list[nesdev->mac_index]) {
  		first_nesvnic = container_of(list_pos, struct nes_vnic, list);
-@@ -1071,9 +1072,6 @@ static const char nes_ethtool_stringset[
+@@ -1071,9 +1072,6 @@ static const char nes_ethtool_stringset[][ETH_GSTRING_LEN] = {
  	"Free 4Kpbls",
  	"Free 256pbls",
  	"Timer Inits",
@@ -236,7 +240,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  };
  #define NES_ETHTOOL_STAT_COUNT  ARRAY_SIZE(nes_ethtool_stringset)
  
-@@ -1311,9 +1309,6 @@ static void nes_netdev_get_ethtool_stats
+@@ -1311,9 +1309,6 @@ static void nes_netdev_get_ethtool_stats(struct net_device *netdev,
  	target_stat_values[++index] = nesadapter->free_4kpbl;
  	target_stat_values[++index] = nesadapter->free_256pbl;
  	target_stat_values[++index] = int_mod_timer_init;
@@ -246,7 +250,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  }
  
  /**
-@@ -1600,8 +1595,6 @@ static struct ethtool_ops nes_ethtool_op
+@@ -1600,8 +1595,6 @@ static struct ethtool_ops nes_ethtool_ops = {
  	.set_sg = ethtool_op_set_sg,
  	.get_tso = ethtool_op_get_tso,
  	.set_tso = ethtool_op_set_tso,
@@ -255,7 +259,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  };
  
  
-@@ -1672,7 +1665,8 @@ struct net_device *nes_netdev_init(struc
+@@ -1672,7 +1665,8 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev,
  	netdev->type = ARPHRD_ETHER;
  	netdev->features = NETIF_F_HIGHDMA;
  	netdev->ethtool_ops = &nes_ethtool_ops;
@@ -265,7 +269,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	nes_debug(NES_DBG_INIT, "Enabling VLAN Insert/Delete.\n");
  	netdev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
  	netdev->vlan_rx_register = nes_netdev_vlan_rx_register;
-@@ -1704,7 +1698,6 @@ struct net_device *nes_netdev_init(struc
+@@ -1704,7 +1698,6 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev,
  
  	if ((nesvnic->logical_port < 2) || (nesdev->nesadapter->hw_rev != NE020_REV)) {
  		netdev->features |= NETIF_F_TSO | NETIF_F_SG | NETIF_F_IP_CSUM;
@@ -273,3 +277,5 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	} else {
  		netdev->features |= NETIF_F_SG | NETIF_F_IP_CSUM;
  	}
+--
+1.7.4.2
diff --git a/kernel_patches/backport/2.6.18-EL5.5/iw_nes_880_to_2_6_23.patch b/kernel_patches/backport/2.6.18-EL5.5/iw_nes_880_to_2_6_23.patch
index 3fb71c6..66dc991 100644
--- a/kernel_patches/backport/2.6.18-EL5.5/iw_nes_880_to_2_6_23.patch
+++ b/kernel_patches/backport/2.6.18-EL5.5/iw_nes_880_to_2_6_23.patch
@@ -1,6 +1,7 @@
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/Kconfig nes.2_6_23_patch/drivers/infiniband/hw/nes/Kconfig
---- linux-2.6/drivers/infiniband/hw/nes/Kconfig	2010-11-25 14:09:57.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/Kconfig	2010-11-25 14:10:32.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/Kconfig b/drivers/infiniband/hw/nes/Kconfig
+index 846dc97..7964eba 100644
+--- a/drivers/infiniband/hw/nes/Kconfig
++++ b/drivers/infiniband/hw/nes/Kconfig
 @@ -2,7 +2,6 @@ config INFINIBAND_NES
  	tristate "NetEffect RNIC Driver"
  	depends on PCI && INET && INFINIBAND
@@ -9,9 +10,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/Kconfig nes.2_6_23_patch/drivers/
  	---help---
  	  This is the RDMA Network Interface Card (RNIC) driver for
  	  NetEffect Ethernet Cluster Server Adapters.
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.c
---- linux-2.6/drivers/infiniband/hw/nes/nes_hw.c	2010-11-25 14:34:51.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.c	2010-11-25 14:10:32.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c
+index 9835893..3c5ae9b 100644
+--- a/drivers/infiniband/hw/nes/nes_hw.c
++++ b/drivers/infiniband/hw/nes/nes_hw.c
 @@ -38,14 +38,9 @@
  #include <linux/ip.h>
  #include <linux/tcp.h>
@@ -27,7 +29,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  static int wide_ppm_offset;
  module_param(wide_ppm_offset, int, 0644);
  MODULE_PARM_DESC(wide_ppm_offset, "Increase CX4 interface clock ppm offset, 0=100ppm (default), 1=300ppm");
-@@ -1630,25 +1625,6 @@ static void nes_rq_wqes_timeout(unsigned
+@@ -1643,25 +1638,6 @@ static void nes_rq_wqes_timeout(unsigned long parm)
  }
  
  
@@ -53,10 +55,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  /**
   * nes_init_nic_qp
   */
-@@ -1872,14 +1848,6 @@ int nes_init_nic_qp(struct nes_device *n
- 			jumbomode = 1;
- 		nes_nic_init_timer_defaults(nesdev, jumbomode);
+@@ -1896,14 +1872,6 @@ int nes_init_nic_qp(struct nes_device *nesdev, struct net_device *netdev)
+		return -ENOMEM;
  	}
+
 -	nesvnic->lro_mgr.max_aggr       = nes_lro_max_aggr;
 -	nesvnic->lro_mgr.max_desc       = NES_MAX_LRO_DESCRIPTORS;
 -	nesvnic->lro_mgr.lro_arr        = nesvnic->lro_desc;
@@ -68,7 +70,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  	return 0;
  }
  
-@@ -2743,7 +2711,7 @@ static void nes_nic_napi_ce_handler(stru
+@@ -2776,7 +2744,7 @@ static void nes_nic_napi_ce_handler(struct nes_device *nesdev, struct nes_hw_nic
  {
  	struct nes_vnic *nesvnic = container_of(cq, struct nes_vnic, nic_cq);
  
@@ -77,7 +79,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  }
  
  
-@@ -2778,13 +2746,10 @@ void nes_nic_ce_handler(struct nes_devic
+@@ -2812,13 +2780,10 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq)
  	u16 pkt_type;
  	u16 rqes_processed = 0;
  	u8 sq_cqes = 0;
@@ -91,7 +93,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  	do {
  		if (le32_to_cpu(cq->cq_vbase[head].cqe_words[NES_NIC_CQE_MISC_IDX]) &
  				NES_NIC_CQE_VALID) {
-@@ -2916,17 +2881,9 @@ void nes_nic_ce_handler(struct nes_devic
+@@ -2952,17 +2917,9 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq)
  							>> 16);
  					nes_debug(NES_DBG_CQ, "%s: Reporting stripped VLAN packet. Tag = 0x%04X\n",
  							nesvnic->netdev->name, vlan_tag);
@@ -112,7 +114,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  
  skip_rx_indicate0:
  				;
-@@ -2957,8 +2914,6 @@ skip_rx_indicate0:
+@@ -2993,8 +2950,6 @@ skip_rx_indicate0:
  
  	} while (1);
  
@@ -121,9 +123,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  	if (sq_cqes) {
  		barrier();
  		/* restart the queue if it had been stopped */
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.h
---- linux-2.6/drivers/infiniband/hw/nes/nes_hw.h	2010-11-25 14:09:57.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.h	2010-11-25 14:23:56.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/nes_hw.h b/drivers/infiniband/hw/nes/nes_hw.h
+index 11012e5..5cf7a2a 100644
+--- a/drivers/infiniband/hw/nes/nes_hw.h
++++ b/drivers/infiniband/hw/nes/nes_hw.h
 @@ -33,8 +33,6 @@
  #ifndef __NES_HW_H
  #define __NES_HW_H
@@ -133,7 +136,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  #define NES_PHY_TYPE_CX4       1
  #define NES_PHY_TYPE_1G        2
  #define NES_PHY_TYPE_ARGUS     4
-@@ -1025,8 +1023,6 @@ struct nes_hw_tune_timer {
+@@ -1049,8 +1047,6 @@ struct nes_hw_tune_timer {
  #define NES_TIMER_ENABLE_LIMIT      4
  #define NES_MAX_LINK_INTERRUPTS     128
  #define NES_MAX_LINK_CHECK          200
@@ -142,7 +145,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  
  struct nes_adapter {
  	u64              fw_ver;
-@@ -1205,7 +1201,6 @@ struct nes_vnic {
+@@ -1230,7 +1226,6 @@ struct nes_vnic {
  	u32               msg_enable;
  	/* u32 tx_avail; */
  	__be32            local_ipaddr;
@@ -150,7 +153,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  	spinlock_t           tx_lock;	/* could use netdev tx lock? */
  	struct timer_list    rq_wqes_timer;
  	u32                  nic_mem_size;
-@@ -1233,9 +1228,6 @@ struct nes_vnic {
+@@ -1258,9 +1253,6 @@ struct nes_vnic {
  	u8  of_device_registered;
  	u8  rdma_enabled;
  	u8  rx_checksum_disabled;
@@ -160,9 +163,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  	struct timer_list event_timer;
  	enum ib_event_type delayed_event;
  	enum ib_event_type last_dispatched_event;
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_nic.c
---- linux-2.6/drivers/infiniband/hw/nes/nes_nic.c	2010-11-25 14:34:51.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_nic.c	2010-11-25 14:27:03.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c
+index 35a581a..37cbcc2 100644
+--- a/drivers/infiniband/hw/nes/nes_nic.c
++++ b/drivers/infiniband/hw/nes/nes_nic.c
 @@ -96,35 +96,38 @@ static int nics_per_function = 1;
  /**
   * nes_netdev_poll
@@ -210,7 +214,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  }
  
  
-@@ -264,7 +267,6 @@ static int nes_netdev_open(struct net_de
+@@ -264,7 +267,6 @@ static int nes_netdev_open(struct net_device *netdev)
  	}
  	spin_unlock_irqrestore(&nesvnic->port_ibevent_lock, flags);
  
@@ -218,7 +222,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	nesvnic->netdev_open = 1;
  
  	return 0;
-@@ -294,7 +296,6 @@ static int nes_netdev_stop(struct net_de
+@@ -294,7 +296,6 @@ static int nes_netdev_stop(struct net_device *netdev)
  	netif_carrier_off(netdev);
  
  	/* Disable network packets */
@@ -226,7 +230,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	netif_stop_queue(netdev);
  	list_for_each_safe(list_pos, list_temp, &nesdev->nesadapter->nesvnic_list[nesdev->mac_index]) {
  		first_nesvnic = container_of(list_pos, struct nes_vnic, list);
-@@ -1071,9 +1072,6 @@ static const char nes_ethtool_stringset[
+@@ -1071,9 +1072,6 @@ static const char nes_ethtool_stringset[][ETH_GSTRING_LEN] = {
  	"Free 4Kpbls",
  	"Free 256pbls",
  	"Timer Inits",
@@ -236,7 +240,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  };
  #define NES_ETHTOOL_STAT_COUNT  ARRAY_SIZE(nes_ethtool_stringset)
  
-@@ -1311,9 +1309,6 @@ static void nes_netdev_get_ethtool_stats
+@@ -1311,9 +1309,6 @@ static void nes_netdev_get_ethtool_stats(struct net_device *netdev,
  	target_stat_values[++index] = nesadapter->free_4kpbl;
  	target_stat_values[++index] = nesadapter->free_256pbl;
  	target_stat_values[++index] = int_mod_timer_init;
@@ -246,7 +250,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  }
  
  /**
-@@ -1600,8 +1595,6 @@ static struct ethtool_ops nes_ethtool_op
+@@ -1600,8 +1595,6 @@ static struct ethtool_ops nes_ethtool_ops = {
  	.set_sg = ethtool_op_set_sg,
  	.get_tso = ethtool_op_get_tso,
  	.set_tso = ethtool_op_set_tso,
@@ -255,7 +259,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  };
  
  
-@@ -1672,7 +1665,8 @@ struct net_device *nes_netdev_init(struc
+@@ -1672,7 +1665,8 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev,
  	netdev->type = ARPHRD_ETHER;
  	netdev->features = NETIF_F_HIGHDMA;
  	netdev->ethtool_ops = &nes_ethtool_ops;
@@ -265,7 +269,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	nes_debug(NES_DBG_INIT, "Enabling VLAN Insert/Delete.\n");
  	netdev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
  	netdev->vlan_rx_register = nes_netdev_vlan_rx_register;
-@@ -1704,7 +1698,6 @@ struct net_device *nes_netdev_init(struc
+@@ -1704,7 +1698,6 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev,
  
  	if ((nesvnic->logical_port < 2) || (nesdev->nesadapter->hw_rev != NE020_REV)) {
  		netdev->features |= NETIF_F_TSO | NETIF_F_SG | NETIF_F_IP_CSUM;
@@ -273,3 +277,5 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	} else {
  		netdev->features |= NETIF_F_SG | NETIF_F_IP_CSUM;
  	}
+--
+1.7.4.2
diff --git a/kernel_patches/backport/2.6.18-EL5.6/iw_nes_880_to_2_6_23.patch b/kernel_patches/backport/2.6.18-EL5.6/iw_nes_880_to_2_6_23.patch
index 3fb71c6..66dc991 100644
--- a/kernel_patches/backport/2.6.18-EL5.6/iw_nes_880_to_2_6_23.patch
+++ b/kernel_patches/backport/2.6.18-EL5.6/iw_nes_880_to_2_6_23.patch
@@ -1,6 +1,7 @@
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/Kconfig nes.2_6_23_patch/drivers/infiniband/hw/nes/Kconfig
---- linux-2.6/drivers/infiniband/hw/nes/Kconfig	2010-11-25 14:09:57.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/Kconfig	2010-11-25 14:10:32.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/Kconfig b/drivers/infiniband/hw/nes/Kconfig
+index 846dc97..7964eba 100644
+--- a/drivers/infiniband/hw/nes/Kconfig
++++ b/drivers/infiniband/hw/nes/Kconfig
 @@ -2,7 +2,6 @@ config INFINIBAND_NES
  	tristate "NetEffect RNIC Driver"
  	depends on PCI && INET && INFINIBAND
@@ -9,9 +10,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/Kconfig nes.2_6_23_patch/drivers/
  	---help---
  	  This is the RDMA Network Interface Card (RNIC) driver for
  	  NetEffect Ethernet Cluster Server Adapters.
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.c
---- linux-2.6/drivers/infiniband/hw/nes/nes_hw.c	2010-11-25 14:34:51.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.c	2010-11-25 14:10:32.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c
+index 9835893..3c5ae9b 100644
+--- a/drivers/infiniband/hw/nes/nes_hw.c
++++ b/drivers/infiniband/hw/nes/nes_hw.c
 @@ -38,14 +38,9 @@
  #include <linux/ip.h>
  #include <linux/tcp.h>
@@ -27,7 +29,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  static int wide_ppm_offset;
  module_param(wide_ppm_offset, int, 0644);
  MODULE_PARM_DESC(wide_ppm_offset, "Increase CX4 interface clock ppm offset, 0=100ppm (default), 1=300ppm");
-@@ -1630,25 +1625,6 @@ static void nes_rq_wqes_timeout(unsigned
+@@ -1643,25 +1638,6 @@ static void nes_rq_wqes_timeout(unsigned long parm)
  }
  
  
@@ -53,10 +55,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  /**
   * nes_init_nic_qp
   */
-@@ -1872,14 +1848,6 @@ int nes_init_nic_qp(struct nes_device *n
- 			jumbomode = 1;
- 		nes_nic_init_timer_defaults(nesdev, jumbomode);
+@@ -1896,14 +1872,6 @@ int nes_init_nic_qp(struct nes_device *nesdev, struct net_device *netdev)
+		return -ENOMEM;
  	}
+
 -	nesvnic->lro_mgr.max_aggr       = nes_lro_max_aggr;
 -	nesvnic->lro_mgr.max_desc       = NES_MAX_LRO_DESCRIPTORS;
 -	nesvnic->lro_mgr.lro_arr        = nesvnic->lro_desc;
@@ -68,7 +70,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  	return 0;
  }
  
-@@ -2743,7 +2711,7 @@ static void nes_nic_napi_ce_handler(stru
+@@ -2776,7 +2744,7 @@ static void nes_nic_napi_ce_handler(struct nes_device *nesdev, struct nes_hw_nic
  {
  	struct nes_vnic *nesvnic = container_of(cq, struct nes_vnic, nic_cq);
  
@@ -77,7 +79,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  }
  
  
-@@ -2778,13 +2746,10 @@ void nes_nic_ce_handler(struct nes_devic
+@@ -2812,13 +2780,10 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq)
  	u16 pkt_type;
  	u16 rqes_processed = 0;
  	u8 sq_cqes = 0;
@@ -91,7 +93,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  	do {
  		if (le32_to_cpu(cq->cq_vbase[head].cqe_words[NES_NIC_CQE_MISC_IDX]) &
  				NES_NIC_CQE_VALID) {
-@@ -2916,17 +2881,9 @@ void nes_nic_ce_handler(struct nes_devic
+@@ -2952,17 +2917,9 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq)
  							>> 16);
  					nes_debug(NES_DBG_CQ, "%s: Reporting stripped VLAN packet. Tag = 0x%04X\n",
  							nesvnic->netdev->name, vlan_tag);
@@ -112,7 +114,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  
  skip_rx_indicate0:
  				;
-@@ -2957,8 +2914,6 @@ skip_rx_indicate0:
+@@ -2993,8 +2950,6 @@ skip_rx_indicate0:
  
  	} while (1);
  
@@ -121,9 +123,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  	if (sq_cqes) {
  		barrier();
  		/* restart the queue if it had been stopped */
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.h
---- linux-2.6/drivers/infiniband/hw/nes/nes_hw.h	2010-11-25 14:09:57.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.h	2010-11-25 14:23:56.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/nes_hw.h b/drivers/infiniband/hw/nes/nes_hw.h
+index 11012e5..5cf7a2a 100644
+--- a/drivers/infiniband/hw/nes/nes_hw.h
++++ b/drivers/infiniband/hw/nes/nes_hw.h
 @@ -33,8 +33,6 @@
  #ifndef __NES_HW_H
  #define __NES_HW_H
@@ -133,7 +136,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  #define NES_PHY_TYPE_CX4       1
  #define NES_PHY_TYPE_1G        2
  #define NES_PHY_TYPE_ARGUS     4
-@@ -1025,8 +1023,6 @@ struct nes_hw_tune_timer {
+@@ -1049,8 +1047,6 @@ struct nes_hw_tune_timer {
  #define NES_TIMER_ENABLE_LIMIT      4
  #define NES_MAX_LINK_INTERRUPTS     128
  #define NES_MAX_LINK_CHECK          200
@@ -142,7 +145,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  
  struct nes_adapter {
  	u64              fw_ver;
-@@ -1205,7 +1201,6 @@ struct nes_vnic {
+@@ -1230,7 +1226,6 @@ struct nes_vnic {
  	u32               msg_enable;
  	/* u32 tx_avail; */
  	__be32            local_ipaddr;
@@ -150,7 +153,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  	spinlock_t           tx_lock;	/* could use netdev tx lock? */
  	struct timer_list    rq_wqes_timer;
  	u32                  nic_mem_size;
-@@ -1233,9 +1228,6 @@ struct nes_vnic {
+@@ -1258,9 +1253,6 @@ struct nes_vnic {
  	u8  of_device_registered;
  	u8  rdma_enabled;
  	u8  rx_checksum_disabled;
@@ -160,9 +163,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  	struct timer_list event_timer;
  	enum ib_event_type delayed_event;
  	enum ib_event_type last_dispatched_event;
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_nic.c
---- linux-2.6/drivers/infiniband/hw/nes/nes_nic.c	2010-11-25 14:34:51.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_nic.c	2010-11-25 14:27:03.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c
+index 35a581a..37cbcc2 100644
+--- a/drivers/infiniband/hw/nes/nes_nic.c
++++ b/drivers/infiniband/hw/nes/nes_nic.c
 @@ -96,35 +96,38 @@ static int nics_per_function = 1;
  /**
   * nes_netdev_poll
@@ -210,7 +214,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  }
  
  
-@@ -264,7 +267,6 @@ static int nes_netdev_open(struct net_de
+@@ -264,7 +267,6 @@ static int nes_netdev_open(struct net_device *netdev)
  	}
  	spin_unlock_irqrestore(&nesvnic->port_ibevent_lock, flags);
  
@@ -218,7 +222,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	nesvnic->netdev_open = 1;
  
  	return 0;
-@@ -294,7 +296,6 @@ static int nes_netdev_stop(struct net_de
+@@ -294,7 +296,6 @@ static int nes_netdev_stop(struct net_device *netdev)
  	netif_carrier_off(netdev);
  
  	/* Disable network packets */
@@ -226,7 +230,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	netif_stop_queue(netdev);
  	list_for_each_safe(list_pos, list_temp, &nesdev->nesadapter->nesvnic_list[nesdev->mac_index]) {
  		first_nesvnic = container_of(list_pos, struct nes_vnic, list);
-@@ -1071,9 +1072,6 @@ static const char nes_ethtool_stringset[
+@@ -1071,9 +1072,6 @@ static const char nes_ethtool_stringset[][ETH_GSTRING_LEN] = {
  	"Free 4Kpbls",
  	"Free 256pbls",
  	"Timer Inits",
@@ -236,7 +240,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  };
  #define NES_ETHTOOL_STAT_COUNT  ARRAY_SIZE(nes_ethtool_stringset)
  
-@@ -1311,9 +1309,6 @@ static void nes_netdev_get_ethtool_stats
+@@ -1311,9 +1309,6 @@ static void nes_netdev_get_ethtool_stats(struct net_device *netdev,
  	target_stat_values[++index] = nesadapter->free_4kpbl;
  	target_stat_values[++index] = nesadapter->free_256pbl;
  	target_stat_values[++index] = int_mod_timer_init;
@@ -246,7 +250,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  }
  
  /**
-@@ -1600,8 +1595,6 @@ static struct ethtool_ops nes_ethtool_op
+@@ -1600,8 +1595,6 @@ static struct ethtool_ops nes_ethtool_ops = {
  	.set_sg = ethtool_op_set_sg,
  	.get_tso = ethtool_op_get_tso,
  	.set_tso = ethtool_op_set_tso,
@@ -255,7 +259,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  };
  
  
-@@ -1672,7 +1665,8 @@ struct net_device *nes_netdev_init(struc
+@@ -1672,7 +1665,8 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev,
  	netdev->type = ARPHRD_ETHER;
  	netdev->features = NETIF_F_HIGHDMA;
  	netdev->ethtool_ops = &nes_ethtool_ops;
@@ -265,7 +269,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	nes_debug(NES_DBG_INIT, "Enabling VLAN Insert/Delete.\n");
  	netdev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
  	netdev->vlan_rx_register = nes_netdev_vlan_rx_register;
-@@ -1704,7 +1698,6 @@ struct net_device *nes_netdev_init(struc
+@@ -1704,7 +1698,6 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev,
  
  	if ((nesvnic->logical_port < 2) || (nesdev->nesadapter->hw_rev != NE020_REV)) {
  		netdev->features |= NETIF_F_TSO | NETIF_F_SG | NETIF_F_IP_CSUM;
@@ -273,3 +277,5 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	} else {
  		netdev->features |= NETIF_F_SG | NETIF_F_IP_CSUM;
  	}
+--
+1.7.4.2
diff --git a/kernel_patches/backport/2.6.18-EL5.7/iw_nes_880_to_2_6_23.patch b/kernel_patches/backport/2.6.18-EL5.7/iw_nes_880_to_2_6_23.patch
index 3fb71c6..66dc991 100644
--- a/kernel_patches/backport/2.6.18-EL5.7/iw_nes_880_to_2_6_23.patch
+++ b/kernel_patches/backport/2.6.18-EL5.7/iw_nes_880_to_2_6_23.patch
@@ -1,6 +1,7 @@
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/Kconfig nes.2_6_23_patch/drivers/infiniband/hw/nes/Kconfig
---- linux-2.6/drivers/infiniband/hw/nes/Kconfig	2010-11-25 14:09:57.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/Kconfig	2010-11-25 14:10:32.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/Kconfig b/drivers/infiniband/hw/nes/Kconfig
+index 846dc97..7964eba 100644
+--- a/drivers/infiniband/hw/nes/Kconfig
++++ b/drivers/infiniband/hw/nes/Kconfig
 @@ -2,7 +2,6 @@ config INFINIBAND_NES
  	tristate "NetEffect RNIC Driver"
  	depends on PCI && INET && INFINIBAND
@@ -9,9 +10,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/Kconfig nes.2_6_23_patch/drivers/
  	---help---
  	  This is the RDMA Network Interface Card (RNIC) driver for
  	  NetEffect Ethernet Cluster Server Adapters.
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.c
---- linux-2.6/drivers/infiniband/hw/nes/nes_hw.c	2010-11-25 14:34:51.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.c	2010-11-25 14:10:32.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c
+index 9835893..3c5ae9b 100644
+--- a/drivers/infiniband/hw/nes/nes_hw.c
++++ b/drivers/infiniband/hw/nes/nes_hw.c
 @@ -38,14 +38,9 @@
  #include <linux/ip.h>
  #include <linux/tcp.h>
@@ -27,7 +29,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  static int wide_ppm_offset;
  module_param(wide_ppm_offset, int, 0644);
  MODULE_PARM_DESC(wide_ppm_offset, "Increase CX4 interface clock ppm offset, 0=100ppm (default), 1=300ppm");
-@@ -1630,25 +1625,6 @@ static void nes_rq_wqes_timeout(unsigned
+@@ -1643,25 +1638,6 @@ static void nes_rq_wqes_timeout(unsigned long parm)
  }
  
  
@@ -53,10 +55,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  /**
   * nes_init_nic_qp
   */
-@@ -1872,14 +1848,6 @@ int nes_init_nic_qp(struct nes_device *n
- 			jumbomode = 1;
- 		nes_nic_init_timer_defaults(nesdev, jumbomode);
+@@ -1896,14 +1872,6 @@ int nes_init_nic_qp(struct nes_device *nesdev, struct net_device *netdev)
+		return -ENOMEM;
  	}
+
 -	nesvnic->lro_mgr.max_aggr       = nes_lro_max_aggr;
 -	nesvnic->lro_mgr.max_desc       = NES_MAX_LRO_DESCRIPTORS;
 -	nesvnic->lro_mgr.lro_arr        = nesvnic->lro_desc;
@@ -68,7 +70,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  	return 0;
  }
  
-@@ -2743,7 +2711,7 @@ static void nes_nic_napi_ce_handler(stru
+@@ -2776,7 +2744,7 @@ static void nes_nic_napi_ce_handler(struct nes_device *nesdev, struct nes_hw_nic
  {
  	struct nes_vnic *nesvnic = container_of(cq, struct nes_vnic, nic_cq);
  
@@ -77,7 +79,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  }
  
  
-@@ -2778,13 +2746,10 @@ void nes_nic_ce_handler(struct nes_devic
+@@ -2812,13 +2780,10 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq)
  	u16 pkt_type;
  	u16 rqes_processed = 0;
  	u8 sq_cqes = 0;
@@ -91,7 +93,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  	do {
  		if (le32_to_cpu(cq->cq_vbase[head].cqe_words[NES_NIC_CQE_MISC_IDX]) &
  				NES_NIC_CQE_VALID) {
-@@ -2916,17 +2881,9 @@ void nes_nic_ce_handler(struct nes_devic
+@@ -2952,17 +2917,9 @@ void nes_nic_ce_handler(struct nes_device *nesdev, struct nes_hw_nic_cq *cq)
  							>> 16);
  					nes_debug(NES_DBG_CQ, "%s: Reporting stripped VLAN packet. Tag = 0x%04X\n",
  							nesvnic->netdev->name, vlan_tag);
@@ -112,7 +114,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  
  skip_rx_indicate0:
  				;
-@@ -2957,8 +2914,6 @@ skip_rx_indicate0:
+@@ -2993,8 +2950,6 @@ skip_rx_indicate0:
  
  	} while (1);
  
@@ -121,9 +123,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.c nes.2_6_23_patch/drivers
  	if (sq_cqes) {
  		barrier();
  		/* restart the queue if it had been stopped */
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.h
---- linux-2.6/drivers/infiniband/hw/nes/nes_hw.h	2010-11-25 14:09:57.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_hw.h	2010-11-25 14:23:56.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/nes_hw.h b/drivers/infiniband/hw/nes/nes_hw.h
+index 11012e5..5cf7a2a 100644
+--- a/drivers/infiniband/hw/nes/nes_hw.h
++++ b/drivers/infiniband/hw/nes/nes_hw.h
 @@ -33,8 +33,6 @@
  #ifndef __NES_HW_H
  #define __NES_HW_H
@@ -133,7 +136,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  #define NES_PHY_TYPE_CX4       1
  #define NES_PHY_TYPE_1G        2
  #define NES_PHY_TYPE_ARGUS     4
-@@ -1025,8 +1023,6 @@ struct nes_hw_tune_timer {
+@@ -1049,8 +1047,6 @@ struct nes_hw_tune_timer {
  #define NES_TIMER_ENABLE_LIMIT      4
  #define NES_MAX_LINK_INTERRUPTS     128
  #define NES_MAX_LINK_CHECK          200
@@ -142,7 +145,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  
  struct nes_adapter {
  	u64              fw_ver;
-@@ -1205,7 +1201,6 @@ struct nes_vnic {
+@@ -1230,7 +1226,6 @@ struct nes_vnic {
  	u32               msg_enable;
  	/* u32 tx_avail; */
  	__be32            local_ipaddr;
@@ -150,7 +153,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  	spinlock_t           tx_lock;	/* could use netdev tx lock? */
  	struct timer_list    rq_wqes_timer;
  	u32                  nic_mem_size;
-@@ -1233,9 +1228,6 @@ struct nes_vnic {
+@@ -1258,9 +1253,6 @@ struct nes_vnic {
  	u8  of_device_registered;
  	u8  rdma_enabled;
  	u8  rx_checksum_disabled;
@@ -160,9 +163,10 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_hw.h nes.2_6_23_patch/drivers
  	struct timer_list event_timer;
  	enum ib_event_type delayed_event;
  	enum ib_event_type last_dispatched_event;
-diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_nic.c
---- linux-2.6/drivers/infiniband/hw/nes/nes_nic.c	2010-11-25 14:34:51.000000000 +0100
-+++ nes.2_6_23_patch/drivers/infiniband/hw/nes/nes_nic.c	2010-11-25 14:27:03.000000000 +0100
+diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c
+index 35a581a..37cbcc2 100644
+--- a/drivers/infiniband/hw/nes/nes_nic.c
++++ b/drivers/infiniband/hw/nes/nes_nic.c
 @@ -96,35 +96,38 @@ static int nics_per_function = 1;
  /**
   * nes_netdev_poll
@@ -210,7 +214,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  }
  
  
-@@ -264,7 +267,6 @@ static int nes_netdev_open(struct net_de
+@@ -264,7 +267,6 @@ static int nes_netdev_open(struct net_device *netdev)
  	}
  	spin_unlock_irqrestore(&nesvnic->port_ibevent_lock, flags);
  
@@ -218,7 +222,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	nesvnic->netdev_open = 1;
  
  	return 0;
-@@ -294,7 +296,6 @@ static int nes_netdev_stop(struct net_de
+@@ -294,7 +296,6 @@ static int nes_netdev_stop(struct net_device *netdev)
  	netif_carrier_off(netdev);
  
  	/* Disable network packets */
@@ -226,7 +230,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	netif_stop_queue(netdev);
  	list_for_each_safe(list_pos, list_temp, &nesdev->nesadapter->nesvnic_list[nesdev->mac_index]) {
  		first_nesvnic = container_of(list_pos, struct nes_vnic, list);
-@@ -1071,9 +1072,6 @@ static const char nes_ethtool_stringset[
+@@ -1071,9 +1072,6 @@ static const char nes_ethtool_stringset[][ETH_GSTRING_LEN] = {
  	"Free 4Kpbls",
  	"Free 256pbls",
  	"Timer Inits",
@@ -236,7 +240,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  };
  #define NES_ETHTOOL_STAT_COUNT  ARRAY_SIZE(nes_ethtool_stringset)
  
-@@ -1311,9 +1309,6 @@ static void nes_netdev_get_ethtool_stats
+@@ -1311,9 +1309,6 @@ static void nes_netdev_get_ethtool_stats(struct net_device *netdev,
  	target_stat_values[++index] = nesadapter->free_4kpbl;
  	target_stat_values[++index] = nesadapter->free_256pbl;
  	target_stat_values[++index] = int_mod_timer_init;
@@ -246,7 +250,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  }
  
  /**
-@@ -1600,8 +1595,6 @@ static struct ethtool_ops nes_ethtool_op
+@@ -1600,8 +1595,6 @@ static struct ethtool_ops nes_ethtool_ops = {
  	.set_sg = ethtool_op_set_sg,
  	.get_tso = ethtool_op_get_tso,
  	.set_tso = ethtool_op_set_tso,
@@ -255,7 +259,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  };
  
  
-@@ -1672,7 +1665,8 @@ struct net_device *nes_netdev_init(struc
+@@ -1672,7 +1665,8 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev,
  	netdev->type = ARPHRD_ETHER;
  	netdev->features = NETIF_F_HIGHDMA;
  	netdev->ethtool_ops = &nes_ethtool_ops;
@@ -265,7 +269,7 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	nes_debug(NES_DBG_INIT, "Enabling VLAN Insert/Delete.\n");
  	netdev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
  	netdev->vlan_rx_register = nes_netdev_vlan_rx_register;
-@@ -1704,7 +1698,6 @@ struct net_device *nes_netdev_init(struc
+@@ -1704,7 +1698,6 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev,
  
  	if ((nesvnic->logical_port < 2) || (nesdev->nesadapter->hw_rev != NE020_REV)) {
  		netdev->features |= NETIF_F_TSO | NETIF_F_SG | NETIF_F_IP_CSUM;
@@ -273,3 +277,5 @@ diff -Nurp linux-2.6/drivers/infiniband/hw/nes/nes_nic.c nes.2_6_23_patch/driver
  	} else {
  		netdev->features |= NETIF_F_SG | NETIF_F_IP_CSUM;
  	}
+--
+1.7.4.2
-- 
1.7.4.2




More information about the ewg mailing list