Update Emulex be2net driver

Bug #1035348 reported by Henry Hall on 2012-08-10
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
The Emulex project
High
Jesse Sung
linux (Ubuntu)
Undecided
Unassigned
Precise
Undecided
Unassigned
Quantal
Undecided
Unassigned

Bug Description

Emulex has reported a lock-up issue with the be2net driver in Ubuntu 12.04.

Awaiting more info concerning the commit ID for the new driver

Henry Hall (hlh) wrote :

Q from Emulex: do we provide access to a staging area git tree for SRUs?

Download full text (3.7 KiB)

Here is a list of 6 critical patches that have been applied to net-next tree. Please apply these patches to be2net source in your tree. I have given a brief description in addition to what is available in commit.

Thanks,
Sarvesh

Patch 1. Performance related, will cause xps to mis-behave.

commit c297977ec18deb36b2c0a5ee57101f7ab736ec00
Author: Sarveshwar Bandi <email address hidden>
Date: Wed Jul 25 21:29:50 2012 +0000

    be2net: Fix to parse RSS hash from Receive completions correctly.

    Wrong pointer variable is being used to parse the rss hash from
    receive completions leading to corrupted rss_hash values filled into skb.

    Signed-off-by: Sarveshwar Bandi <email address hidden>
    Signed-off-by: David S. Miller <email address hidden>

Patch 2. OOPS in PowerPC.

commit ac46a4623815113a0305b2a491c125f473a88c53
Author: Anton Blanchard <email address hidden>
Date: Tue Jul 24 15:05:25 2012 +0000

    be2net: Missing byteswap in be_get_fw_log_level causes oops on PowerPC

    We are seeing an oops in be_get_fw_log_level on ppc64 where we walk
    off the end of memory.

    commit 941a77d582c8 (be2net: Fix to allow get/set of debug levels in
    the firmware.) requires byteswapping of num_modes and num_modules.

    Cc: <email address hidden> # 3.5+
    Signed-off-by: Anton Blanchard <email address hidden>
    Acked-by: Sathya Perla <email address hidden>
    Signed-off-by: David S. Miller <email address hidden>

Patch 3. Performance related.

commit ac1ae5f33fd225f46da0072e2091962410a0431b
Author: Eric Dumazet <email address hidden>
Date: Fri Jul 13 03:19:41 2012 +0000

    be2net: dont pull too much data in skb linear part

    skb_fill_rx_data() pulls 64 byte of data in skb->data

    Its too much for TCP (with no options) on IPv4, as total size of headers
    is 14 + 40 = 54

    This means tcp stack and splice() are suboptimal, since tcp payload
    is in part in tcp->data, and in part in skb frag.

    Signed-off-by: Eric Dumazet <email address hidden>
    Acked-by: Padmanabh Ratnakar <email address hidden>
    Signed-off-by: David S. Miller <email address hidden>

Patch 4. ASIC stall issue (Related to Patch 5)

commit e8efcec5394cbf7ae67ccb137cb1a45ae3e6f6c8
Author: Li RongQing <email address hidden>
Date: Wed Jul 4 16:05:42 2012 +0000

    be2net: Fix Endian

    ETH_P_IP is host Endian, skb->protocol is big Endian, when
    compare them, we should change ETH_P_IP from host endian
    to big endian, htons, not ntohs.

    CC: Somnath Kotur <email address hidden>
    Signed-off-by: Li RongQing <email address hidden>
    Acked-by: Somnath Kotur <email address hidden>
    Signed-off-by: David S. Miller <email address hidden>

Patch 5. Patches avoids ASIC stall.

commit 93040ae5cc8dcc893eca4a4366dc8415af278edf
Author: Somnath Kotur <email address hidden>
Date: Tue Jun 26 22:32:10 2012 +0000

    be2net: Fix to trim skb for padded vlan packets to workaround an ASIC Bug

    Fixed spelling error in a comment as pointed out by DaveM.
    Also refactored existing code a bit to provide placeholders for another ASIC
    Bug workaround that will be checked-in soon after this.

    Signed-off-by: Somnath ...

Read more...

Henry Hall (hlh) on 2012-08-13
Changed in emulex:
assignee: nobody → Chris Van Hoof (vanhoof)
Jeremy Kerr (jk-ozlabs) wrote :

Hi Sarveshwar,

No problem - we'll create a SRU request for these patches. Once they've been merged into a proposed SRU, would you be able to test the kernel to ensure that the issues are fixed?

Chris Van Hoof (vanhoof) on 2012-08-20
Changed in emulex:
status: New → In Progress
importance: Undecided → High
assignee: Chris Van Hoof (vanhoof) → Jesse Sung (wenchien)
Jeremy Kerr (jk-ozlabs) on 2012-08-21
visibility: private → public

Jeremy,
 Yes we will be able to test the kernel once you get the changes in. Just give me the instructions on how the access the kernel sources that need be tested or kernel rpms.

Thanks,
Sarvesh

-----Original Message-----
From: <email address hidden> [mailto:<email address hidden>] On Behalf Of Jeremy Kerr
Sent: Monday, August 20, 2012 7:42 AM
To: Bandi,Sarveshwar
Subject: [Bug 1035348] Re: Update Emulex be2net driver

Hi Sarveshwar,

No problem - we'll create a SRU request for these patches. Once they've been merged into a proposed SRU, would you be able to test the kernel to ensure that the issues are fixed?

--
You received this bug notification because you are a member of The Emulex team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1035348

Title:
  Update Emulex be2net driver

Status in The Emulex project:
  New

Bug description:
  Emulex has reported a lock-up issue with the be2net driver in Ubuntu
  12.04.

  Awaiting more info concerning the commit ID for the new driver

To manage notifications about this bug go to:
https://bugs.launchpad.net/emulex/+bug/1035348/+subscriptions

Tim Gardner (timg-tpi) on 2012-08-21
Changed in linux (Ubuntu Precise):
status: New → Fix Committed
Changed in linux (Ubuntu Quantal):
status: New → Fix Released

Can i get a pointer to the kernel source or packages into which these patches have been applied, so that we can test it?

Thanks,
Sarvesh

Chris Van Hoof (vanhoof) wrote :

Heya Sarveshwar -- I'll build you a test kernel now with the patches applied, I assume you would be testing against x86_64? Once the current kernel being validated is released, the next kernel update will include these patches officially which will require you to test but to kick things off a bit early you can give these test kernels I'm building a try just in-case there are any issues.

I'll post a link to them shortly.

--chris

Chris Van Hoof (vanhoof) wrote :

Sarveshwar -- The kernels with the patches you requested are staged for our next kernel update, in the interim I have built test kernels based on that branch:

 * http://kernel.ubuntu.com/~vanhoof/lp1035348/

Note these are test kernels only, this bug will be updated automatically next week when the official kernel is built and is ready for testing.

$ git log --pretty=oneline Ubuntu-3.2.0-30.48..HEAD drivers/net/ethernet/emulex/benet
7446fa10582aed72afac459a30593345f552a114 be2net: Fix to parse RSS hash from Receive completions correctly.
b414c207818cb8ba457fd0225ebf0a568a2aa74a be2net: dont pull too much data in skb linear part
685c8347b79a6f1f2c0ccb3c6dc8c61b85795fb5 be2net: Fix Endian
314b8128400b6a56f56da35e06abbcda50029cb4 be2net: Fix to trim skb for padded vlan packets to workaround an ASIC Bug
3429041
a5c56dc553a2520e487ad1b3e8e8e5ec5 be2net: reduce gso_max_size setting to account for ethernet header.

--chris

Chris,
Thanks for the update. We will wait for the official kernel build.

Thanks,
Sarvesh

-----Original Message-----
From: <email address hidden> [mailto:<email address hidden>] On Behalf Of Chris Van Hoof
Sent: Tuesday, August 28, 2012 11:30 PM
To: Bandi,Sarveshwar
Subject: [Bug 1035348] Re: Update Emulex be2net driver

Sarveshwar -- The kernels with the patches you requested are staged for our next kernel update, in the interim I have built test kernels based on that branch:

 * http://kernel.ubuntu.com/~vanhoof/lp1035348/

Note these are test kernels only, this bug will be updated automatically next week when the official kernel is built and is ready for testing.

$ git log --pretty=oneline Ubuntu-3.2.0-30.48..HEAD drivers/net/ethernet/emulex/benet
7446fa10582aed72afac459a30593345f552a114 be2net: Fix to parse RSS hash from Receive completions correctly.
b414c207818cb8ba457fd0225ebf0a568a2aa74a be2net: dont pull too much data in skb linear part
685c8347b79a6f1f2c0ccb3c6dc8c61b85795fb5 be2net: Fix Endian
314b8128400b6a56f56da35e06abbcda50029cb4 be2net: Fix to trim skb for padded vlan packets to workaround an ASIC Bug
3429041
a5c56dc553a2520e487ad1b3e8e8e5ec5 be2net: reduce gso_max_size setting to account for ethernet header.

--chris

--
You received this bug notification because you are a member of The Emulex team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1035348

Title:
  Update Emulex be2net driver

Status in The Emulex project:
  In Progress
Status in “linux” package in Ubuntu:
  Fix Released
Status in “linux” source package in Precise:
  Fix Committed
Status in “linux” source package in Quantal:
  Fix Released

Bug description:
  Emulex has reported a lock-up issue with the be2net driver in Ubuntu
  12.04.

  Awaiting more info concerning the commit ID for the new driver

To manage notifications about this bug go to:
https://bugs.launchpad.net/emulex/+bug/1035348/+subscriptions

Luis Henriques (henrix) wrote :

This bug is awaiting verification that the kernel for Precise in -proposed solves the problem (3.2.0-31.50). Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-precise' to 'verification-done-precise'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-precise

We have verified that issues raised in this bug have been resolved in 3.2.0-31.50 version of the kernel.

The patch "be2net: reduce gso_max_size setting to account for ethernet header." has been verified by running "iperf -c <ipaddr> -t<t-secs> -M1500" with mtu configured as 9000. The stack generates packets of size lesser that 65535 after applying this patch.

Test: Pass

Other patches were verified by running the following tests:

OS Release Ubuntu
Kernel version 3.2.0-31-generic
Controller BE3
Machine Supermicro
Firmware 4.2.342.0
Driver used 4.0.100u
Advanced Mode Enabled
Driver version Pass
TCP+JUMBO Pass
UDP Pass
Rmmod/modprobe script Pass
Ifup/down script Pass
VLAN+JUMBO+TCP Pass
IPv6 Pass
Promiscous Pass
Multicast Pass
Ethtool options Pass
VLAN+IPv6 Pass
UMC Pass
Firmware Flash Pass
SRIOV Pass
Hotplug Pass
Sleep state- Disk, Standby Pass
Bonding Pass

tags: added: verification-done-precise
removed: verification-needed-precise
Launchpad Janitor (janitor) wrote :
Download full text (5.5 KiB)

This bug was fixed in the package linux - 3.2.0-31.50

---------------
linux (3.2.0-31.50) precise-proposed; urgency=low

  [Luis Henriques]

  * Release Tracking Bug
    - LP: #1047242

  [ Dave Airlie ]

  * SAUCE: drm/vmwgfx: add MODULE_DEVICE_TABLE so vmwgfx loads at boot
    - LP: #1039157

  [ Kamal Mostafa ]

  * SAUCE: input: Cypress PS/2 Trackpad move PSMOUSE_CYPRESS enum
    - LP: #1041594

linux (3.2.0-31.49) precise-proposed; urgency=low

  [Luis Henriques]

  * Release Tracking Bug
    - LP: #1046216

  [ Cypress Semiconductor Corporation ]

  * SAUCE: input: Cypress PS/2 Trackpad mouse driver
    - LP: #978807
  * SAUCE: input: Cypress PS/2 Trackpad link driver into psmouse-base
    - LP: #978807

  [ Ike Panhc ]

  * [Config] Enable CONFIG_DEVPTS_MULTIPLE_INSTANCES for highbank
    - LP: #1038259

  [ Kamal Mostafa ]

  * SAUCE: input: Cypress PS/2 Trackpad code style cleanup
    - LP: #978807
  * SAUCE: input: Cypress PS/2 Trackpad eliminate dead code
    - LP: #978807
  * SAUCE: input: Cypress PS/2 Trackpad fix no-config stubs
    - LP: #978807
  * SAUCE: input: Cypress PS/2 Trackpad set default debug_level=0
    - LP: #978807

  [ Stefan Bader ]

  * Revert "SAUCE: fix pv-ops for legacy Xen"
    - LP: #1044550
  * SAUCE: Force xsave off on older Xen hypervisors
    - LP: #1044550

  [ Tim Gardner ]

  * [Config] Add smsc{79}5xx to nic-usb-modules
    - LP: #1041397

  [ Upstream Kernel Changes ]

  * Revert "samsung-laptop: make the dmi check less strict"
    - LP: #1028151
  * rds: set correct msg_namelen
    - LP: #1031112
    - CVE-2012-3430
  * bnx2: Fix bug in bnx2_free_tx_skbs().
    - LP: #1039087
  * sch_sfb: Fix missing NULL check
    - LP: #1039087
  * sctp: Fix list corruption resulting from freeing an association on a
    list
    - LP: #1039087
  * caif: Fix access to freed pernet memory
    - LP: #1039087
  * cipso: don't follow a NULL pointer when setsockopt() is called
    - LP: #1039087
  * caif: fix NULL pointer check
    - LP: #1039087
  * wanmain: comparing array with NULL
    - LP: #1039087
  * tcp: Add TCP_USER_TIMEOUT negative value check
    - LP: #1039087
  * USB: kaweth.c: use GFP_ATOMIC under spin_lock
    - LP: #1039087
  * net: fix rtnetlink IFF_PROMISC and IFF_ALLMULTI handling
    - LP: #1039087
  * tcp: perform DMA to userspace only if there is a task waiting for it
    - LP: #1039087
  * net/tun: fix ioctl() based info leaks
    - LP: #1039087
  * e1000: add dropped DMA receive enable back in for WoL
    - LP: #1039087
  * rtlwifi: rtl8192cu: Change buffer allocation for synchronous reads
    - LP: #1039087
  * hfsplus: fix overflow in sector calculations in hfsplus_submit_bio
    - LP: #1039087
  * drm/i915: fixup seqno allocation logic for lazy_request
    - LP: #1039087
  * mac80211: cancel mesh path timer
    - LP: #1039087
  * ath9k: Add PID/VID support for AR1111
    - LP: #1039087
  * ARM: mxs: Remove MMAP_MIN_ADDR setting from mxs_defconfig
    - LP: #1039087
  * ALSA: hda - add dock support for Thinkpad T430s
    - LP: #1039087
  * cfg80211: process pending events when unregistering net device
    - LP: #1039087
  * rt61pci: fix NULL pointer dereference in config_lna_gain
    - LP: #...

Read more...

Changed in linux (Ubuntu Precise):
status: Fix Committed → Fix Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Chris Van Hoof (vanhoof) on 2012-09-21
Changed in emulex:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers