[ewg] backport error in nes driver

Mike Marciniszyn mike.marciniszyn at qlogic.com
Tue Oct 4 07:14:18 PDT 2011


I just cloned the current 1.5 repo and encountered a problem with the 2.6.16_sles10_sp3 backport with the nes driver.

The following diff hunk won't apply from kernel_patches/backport/2.6.16_sles10_sp3/iw_nes_880_to_2_6_23.patch:

/**
  * 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);
        }
-       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;
-       nesvnic->lro_mgr.get_skb_header = nes_lro_get_skb_hdr;
-       nesvnic->lro_mgr.features       = LRO_F_NAPI | LRO_F_EXTRACT_VLAN_ID;
-       nesvnic->lro_mgr.dev            = netdev;
-       nesvnic->lro_mgr.ip_summed      = CHECKSUM_UNNECESSARY;
-       nesvnic->lro_mgr.ip_summed_aggr = CHECKSUM_UNNECESSARY;
        return 0;
 }

There is now a statement present in the driver as patched with "fixes" that fools the context:

                nes_nic_init_timer_defaults(nesdev, jumbomode);
        }
        if ((nesdev->nesadapter->allow_unaligned_fpdus) &&
                (nes_init_mgt_qp(nesdev, netdev, nesvnic))) {
                        nes_debug(NES_DBG_INIT, "%s: Out of memory for pau nic\n", netdev->name);
                        nes_destroy_nic_qp(nesvnic);
                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;
        nesvnic->lro_mgr.get_skb_header = nes_lro_get_skb_hdr;
        nesvnic->lro_mgr.features       = LRO_F_NAPI | LRO_F_EXTRACT_VLAN_ID;
        nesvnic->lro_mgr.dev            = netdev;
        nesvnic->lro_mgr.ip_summed      = CHECKSUM_UNNECESSARY;
        nesvnic->lro_mgr.ip_summed_aggr = CHECKSUM_UNNECESSARY;
        return 0;

I'm suspecting iw_nes_880_to_2_6_23.patch needs to be reworked to account for the context change.  The following backports probably also will not work, although oddly some of the iw_nes_880_to_2_6_23.patch files have the correct context:

find . -depth -name iw_nes_880_to_2_6_23.patch | xargs grep jumbomode
./2.6.16_sles10_sp3/iw_nes_880_to_2_6_23.patch:                         jumbomode = 1;
./2.6.16_sles10_sp3/iw_nes_880_to_2_6_23.patch:                 nes_nic_init_timer_defaults(nesdev, jumbomode);
./2.6.18-EL5.4/iw_nes_880_to_2_6_23.patch:                      jumbomode = 1;
./2.6.18-EL5.4/iw_nes_880_to_2_6_23.patch:              nes_nic_init_timer_defaults(nesdev, jumbomode);
./2.6.18-chaos/iw_nes_880_to_2_6_23.patch:                      jumbomode = 1;
./2.6.18-chaos/iw_nes_880_to_2_6_23.patch:              nes_nic_init_timer_defaults(nesdev, jumbomode);
./2.6.18.8-xen/iw_nes_880_to_2_6_23.patch:                      jumbomode = 1;
./2.6.18.8-xen/iw_nes_880_to_2_6_23.patch:              nes_nic_init_timer_defaults(nesdev, jumbomode);
./2.6.18/iw_nes_880_to_2_6_23.patch:                    jumbomode = 1;
./2.6.18/iw_nes_880_to_2_6_23.patch:            nes_nic_init_timer_defaults(nesdev, jumbomode);
./2.6.19/iw_nes_880_to_2_6_23.patch:                    jumbomode = 1;
./2.6.19/iw_nes_880_to_2_6_23.patch:            nes_nic_init_timer_defaults(nesdev, jumbomode);
./2.6.20/iw_nes_880_to_2_6_23.patch:                    jumbomode = 1;
./2.6.20/iw_nes_880_to_2_6_23.patch:            nes_nic_init_timer_defaults(nesdev, jumbomode);
./2.6.21/iw_nes_880_to_2_6_23.patch:                    jumbomode = 1;
./2.6.21/iw_nes_880_to_2_6_23.patch:            nes_nic_init_timer_defaults(nesdev, jumbomode);
./2.6.22/iw_nes_880_to_2_6_23.patch:                    jumbomode = 1;
./2.6.22/iw_nes_880_to_2_6_23.patch:            nes_nic_init_timer_defaults(nesdev, jumbomode);
./2.6.23/iw_nes_880_to_2_6_23.patch:                    jumbomode = 1;
./2.6.23/iw_nes_880_to_2_6_23.patch:            nes_nic_init_timer_defaults(nesdev, jumbomode);

Vlad, do you want me to fix?

Mike

This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.




More information about the ewg mailing list