Bug 561578 - [Broadcom 5.5 feat] Update bnx2 firmware
Summary: [Broadcom 5.5 feat] Update bnx2 firmware
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.5
Hardware: All
OS: Linux
Target Milestone: rc
: 5.5
Assignee: John Feeney
QA Contact: Red Hat Kernel QE team
Depends On: 517377
Blocks: 533941
TreeView+ depends on / blocked
Reported: 2010-02-03 23:33 UTC by Michael Chan
Modified: 2010-04-07 10:38 UTC (History)
17 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Last Closed: 2010-03-30 07:17:40 UTC
Target Upstream Version:

Attachments (Terms of Use)
patch to backport 5.0.0.j3 firmware. (1.25 MB, patch)
2010-02-03 23:35 UTC, Michael Chan
no flags Details | Diff
additional patch to match cnic to the new firmware (2.54 KB, patch)
2010-02-11 17:37 UTC, Michael Chan
no flags Details | Diff
New firmware patch (1.25 MB, patch)
2010-02-24 00:39 UTC, Michael Chan
no flags Details | Diff
rhel5-bnx2-firmware-upgrade-post.patch (1.25 MB, patch)
2010-02-25 20:16 UTC, Andy Gospodarek
no flags Details | Diff

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0178 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 5.5 kernel security and bug fix update 2010-03-29 12:18:21 UTC

Description Michael Chan 2010-02-03 23:33:54 UTC
Description of problem:

Update bnx2 fw to match the latest upstream firmware.

Version-Release number of selected component (if applicable): 2.0.2

Due to the conversion to use request_firmware() in the latest upstream driver, the latest firmware in the new ihex format did not get backported to the old bnx2x_fw.h format used in RHEL5.5.  The latest firmware has the following changes:

commit 078b0735881c7969aaf21469f3577831cddd9f8c
Author: Michael Chan <mchan@broadcom.com>
Date:   Sat Aug 29 00:02:46 2009 -0700

    bnx2: Update firmware to 5.0.0.j3.

    - Better small packet receive performance.
    - Better handling of Flow control on 5709.
    - Fixed iSCSI TMP ABORT TASK problem.
    - Added iSCSI TCP timestamp option.

Comment 1 Michael Chan 2010-02-03 23:35:42 UTC
Created attachment 388673 [details]
patch to backport 5.0.0.j3 firmware.

Comment 3 Andrius Benokraitis 2010-02-04 00:21:09 UTC
Michael - can you assist Gideon in bug 560556? We haven't heard from that side for bnx2x firmware.

Comment 6 John Feeney 2010-02-04 23:10:15 UTC
I applied the patch, built it in our build system, and sanity tested it our test system. The rpm can be found at:

Testing feedback would be appreciated.

Comment 8 Michael Chan 2010-02-09 23:08:38 UTC
Our automated lab found some problems on iSCSI because I forgot the patch below.  We'll provide the backported patch once we finish some more testing.  Thanks.

commit d0549382da9997834ce65e489d9dbdc4b4693a2b
Author: Michael Chan <mchan@broadcom.com>
Date:   Wed Oct 28 03:41:59 2009 -0700

    cnic: Fix L2CTX_STATUSB_NUM offset in context memory.
    The BNX2_L2CTX_STATUSB_NUM definition needs to be changed to match
    the recent firmware update:
    commit 078b0735881c7969aaf21469f3577831cddd9f8c
    bnx2: Update firmware to 5.0.0.j3.
    Without the fix, bnx2 can crash intermittently in bnx2_rx_int() when
    iSCSI is enabled.

Comment 9 Michael Chan 2010-02-11 17:37:56 UTC
Created attachment 390305 [details]
additional patch to match cnic to the new firmware

This patch depends on bug 517378.  With this patch, it has passed our iSCSI automated tests.

Comment 10 John Feeney 2010-02-12 16:02:57 UTC
I applied the patches and provided a rpm on my people page. See http://people.redhat.com/jfeeney/.rhel5-bnx2/

Please let me know if there is anything else needed. Testing feedback would be appreciated. Thanks.

Comment 11 Andrius Benokraitis 2010-02-16 15:16:34 UTC
Broadcom - do you have any test results on this ASAP?

Comment 13 John Feeney 2010-02-16 19:14:39 UTC
Since cnic is being updated by patch provided in comment #9, I added Mike Christie to cc list. Just to avoid a total blindside.

Comment 14 Andrius Benokraitis 2010-02-16 19:33:05 UTC
Yeah, I'm thinking this one cnic patch needs to be in a separate bugzilla. What do yall think?

Comment 15 Michael Chan 2010-02-16 20:34:44 UTC
There is a bug report on netdev that we suspect may be caused by firmware:


We are still debugging this, but it's likely that we'll need newer firmware.  Because we cannot yet reproduce the problem, we need the user to help us confirm the issue and verify it.  I suspect this will take a few days to resolve.

Comment 16 Andrius Benokraitis 2010-02-17 22:32:02 UTC
Michael, Red Hat is ON HOLD with submitting this firmware this until your bug report is resolved.

Comment 17 Andrius Benokraitis 2010-02-23 19:38:02 UTC
Michael, any news/updates on the dubugging issues with Comment #15?

Comment 18 Michael Chan 2010-02-24 00:39:36 UTC
Created attachment 395862 [details]
New firmware patch

I'm attaching the newer upstream firmware (backported to RHEL5.5) that Brian Haley@HP and Broadcom are testing.  This firmware fixes a theoretical context corruption problem that closely matches what Brian reported.  I think this problem is very rare and we've never encountered it in our lab.  It is also difficult for Brian to reproduce the failure.

I recommend that we go with the newer firmware, even if we are unable to confirm the fix.  Thanks.

Comment 19 Andy Gospodarek 2010-02-25 16:07:59 UTC
Michael, is this going to go upstream anytime soon.

Comment 20 Andy Gospodarek 2010-02-25 19:48:32 UTC
I see that most of the firmware changes in this patch come from:

commit bec92044b73085ba92aabf973cb5aafc251f3a34
Author: Michael Chan <mchan@broadcom.com>
Date:   Tue Feb 16 15:19:42 2010 -0800

    bnx2: Update firmwares and update version to 2.0.8.

    - Increase FTQ depth to 256 to ehnabce performance.
    - Fix RV2P context corruption on 5709 when flow control is enabled.


commit 57579f7629a3d46c307405fbd2ea6bdb650d692f
Author: Michael Chan <mchan@broadcom.com>
Date:   Sat Apr 4 16:51:14 2009 -0700

    bnx2: Use request_firmware()

for a few bits like 'rv2p_fw_fixup' to handle the firmware properly.

Comment 21 Andy Gospodarek 2010-02-25 19:50:38 UTC
I'm going to submit the patch in comment #18 for RHEL5.5.  Please confirm no additional bits are needed for bnx2 for RHEL5.5.

Comment 22 Michael Chan 2010-02-25 19:52:06 UTC
That's right.  It already went upstream.  This is the backported version to RHEL5.5 which is not using request_firmware().

Comment 23 Michael Chan 2010-02-25 19:57:38 UTC
(In reply to comment #21)
> I'm going to submit the patch in comment #18 for RHEL5.5.  Please confirm no
> additional bits are needed for bnx2 for RHEL5.5.    

This should be the final firmware change for RHEL5.5.

We are still testing the other bnx2 patch for the bonding/vlan/cnic issue.  Looks like that one has been deferred to RHEL5.6.

Comment 24 Andy Gospodarek 2010-02-25 20:13:04 UTC
OK, so I'm finally catching up and am submitting the patch in comment #18 and the patch in comment #9.

Comment 25 Andy Gospodarek 2010-02-25 20:16:48 UTC
Created attachment 396382 [details]

This is the exact patch I am posting for inclusion in RHEL5.5.

Comment 27 Andy Gospodarek 2010-02-25 20:30:00 UTC
Sorry for the confusion, Michael, but I wanted to make sure it was appropriate to include the backported version of this patch from comment #9:

        commit d0549382da9997834ce65e489d9dbdc4b4693a2b
        Author: Michael Chan <mchan@broadcom.com>
        Date:   Wed Oct 28 03:41:59 2009 -0700

            cnic: Fix L2CTX_STATUSB_NUM offset in context memory.

Comment 28 Michael Chan 2010-02-25 20:32:20 UTC
Yes, we need the patch in comment #9.  Thanks.

Comment 30 Jarod Wilson 2010-03-03 15:44:45 UTC
in kernel-2.6.18-191.el5
You can download this test kernel from http://people.redhat.com/jwilson/el5

Please update the appropriate value in the Verified field
(cf_verified) to indicate this fix has been successfully
verified. Include a comment with verification details.

Comment 36 errata-xmlrpc 2010-03-30 07:17:40 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.