Bug 542746 - [QLogic 5.5 feat] netxen P3 - updates from 2.6.32
Summary: [QLogic 5.5 feat] netxen P3 - updates from 2.6.32
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.5
Hardware: All
OS: Linux
high
high
Target Milestone: rc
: 5.5
Assignee: Tom Coughlan
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks: 557292 5.5TechNotes-Updates
TreeView+ depends on / blocked
 
Reported: 2009-11-30 17:35 UTC by Marcus Barrow
Modified: 2010-11-22 23:29 UTC (History)
15 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
The netxen_nic driver for NetXen Multi port (1/10) Gigabit Network devices has been updated.
Clone Of:
Environment:
Last Closed: 2010-03-30 07:12:46 UTC
Target Upstream Version:


Attachments (Terms of Use)
changes from 2.6.32 (100.89 KB, patch)
2009-11-30 18:23 UTC, Marcus Barrow
no flags Details | Diff
initial rhel 5.5 submit (94.25 KB, patch)
2009-11-30 18:47 UTC, Marcus Barrow
no flags Details | Diff


Links
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 Marcus Barrow 2009-11-30 17:35:33 UTC
Updates from 2.6.32-rc8 and net-next-2.6.

These issues have been found and fixed upstream. This patch provides these changes for rhel 5.5, 2.6.18-175.

Comment 1 Marcus Barrow 2009-11-30 18:23:27 UTC
Created attachment 374840 [details]
changes from 2.6.32

Comment 2 Marcus Barrow 2009-11-30 18:46:46 UTC
 
Updates descriptions from the patch:

   commit eb6d02133cf5451fece3a37ccccf2ce7c09a09c1
    netxen: remove PCI IDs of CNA device
    
    Remove PCI vendor and device IDs for QLE8240 and QLE8242
    CNA devices. CNA devices will have separate driver.

    

    commit 5d09e534bbb94e1fdc8e4783ac822bc172465a91
    netxen : fix BOND_MODE_TLB/ALB mode.
    
    o Along with netdev->perm_addr, mac address will be
      maintained in device private structure.
    
    o Device limitation: We need to set mac address when ever
      interface comes up.
    
    In ALB/TAL mode, bonding driver calls set_mac for all slave with bond mac address.
    But bonding driver set netdev->dev_addr field to its original value,
    after enslaving interfaces.
    
    When ever active slave changes, it swap dev_addr of inactive slave with active.
    Yet it doesn't notify driver about change in netdev->dev_addr.
    
    As netxen driver need to set mac addr when ever interface comes up,
    it can't rely on netdev->dev_addr field. Specially in case of bonding mode ALB/TLB.
    


    commit a7483b0afa63e851c4438ddda8934a296851f1de
    netxen: fix promisc for NX2031.
    
    Kernel crashes, if promisc mode set without disabling rx queue.
    Before changing mode in NX2031 chip, wait till rx queue drains.

    

    commit 5d521fd36de4e61ab16a358df54c5babe153396c
    netxen: fix memory initialization
    
    Avoid resetting memory during initialization, skip this memory
    block during driver probe.

    

    commit c70948105d4f057b90d4a587246565782e51ed35 
    netxen: update version to 4.0.65

    

    commit 7e8e5d9718744b817bfea6f020586d7035cc89f4 
    netxen: module firmware hints
    
    Add MODULE_FIRMWARE hints for various firmware file types,
    required by different chip revisions.

    

    commit c25c0b9b33f681972e0b2abc96b9debdd1ef32a5 
    netxen: update module info
    
    Update module info with QLogic signature.
    


    commit f0e08fac06596a760f074c08521550d93b96336e 
    netxen: add PCI IDs for new chip
    
    Add PCI vendor and device IDs for QLE8240 and QLE8242
    CNA devices.
    


    commit a9ac07deeb4b880aea3eaccf7ec913ac902aeef9 
    netxen: refactor indirect register access
    
    Refactor code to calculate and set indirect access
    window for control registers in 2MB address space
    (NX3031 or newer). Use void __iomem * data type for
    absolute pci addresses.

    

    commit f50330f90b9aa42b7058650ce66b85f1b443ab11 
    netxen: support for new firmware file format
    
    Add support for extracting firmware from a unified
    file format which embeds firmware images for all chip
    revisions. Fallback to orginal file formats if new
    image is not found.
    


    commit 0531d7b85177cda05f574ddf0aa4b25050159101 
    netxen: fix builds for SYSFS=n or MODULES=n
    
    When CONFIG_MODULES=n:
    drivers/net/netxen/netxen_nic_main.c:2751: error: dereferencing pointer to incomplete type
    drivers/net/netxen/netxen_nic_main.c:2764: error: dereferencing pointer to incomplete type
    
    Also needs addition of <linux/sysfs.h> for sysfs function prototypes or
    stubs when CONFIG_SYSFS=n.
    


    commit 0dc6d9cbe7df4d2c3cdf17cd2f78733102b0fea6 
    netxen: avoid undue board config check
    
    Old code assumed board config version in the flash to be 1.
    When this will get changed by tools, driver just refuses to
    attach. This is unnecessary since driver does not have to
    parse board config structure directly (maintained by firmware).
    


    commit ff8a306d63a01f15f166039de94c448c76140d1d 
    netxen: fix tx timeout handling on firmware hang
    
    Clear NX_RESETING bit in netxen_tx_timeout_task() so that
    the firmware watchdog task can catch need_reset request
    from tx timeout.

    

    commit 8bee0a91dd2f472d51dc107288c988ae0a0f371a 
    netxen: fix i2c init
    
    Avoid resetting subsys ID in i2c block. Also remove duplicate
    check for address tranlsation error.
    


    commit 7194660da7a6d119fa469bd11b58e7367a5cbdf4 
    netxen; update version to 4.0.62
    


    commit caa2dd53bc2f9c44938f2f261ebe15e2f26cc51e 
    netxen: sysfs control for auto firmware recovery
    
    Firmware hang detection and recovery (reset) need to
    be disabled for diagnostic tools, which can run
    some disruptive tests.
    
    This adds a driver level control to turn off this
    feature by diag tools.

    

    commit 7cecdca133ea9791adce21819b9e9eed79045f23 
    netxen: fix error codes in for tools access
    
    Use -EIO or -EINVAL as error codes, these can get passed up
    to applications (tools).

    

    commit 6abb4b83eac25d91f6de834e97b2ea38e979575b 
    netxen: onchip memory access change
    
    Add support for different windowing scheme for on chip
    memory in future chip revisions. This is required by
    diagnostic tools.
    


    commit 0be367bd5d10634c0836f57a684432fee935d929 
    netxen: reset sequence changes
    
    Future revisions need different chip reset sequence
    and firmware initialization.
    
    Also clean up some never used debug code.

    

    commit fb1f6a4378fe211d8c1397311d26e747e5ec61c5 
    netxen: 128 memory controller support
    
    Future revisions of the chip have 128 bit memory
    transactions. Require drivers to implement rmw
    in case of sub-128 bit accesses by driver. This
    is mostly used by diagnostic tools.
    


    commit 0a2aa440603f27ad40bcc14806f4d87aabbd8a0f 
    netxen: defines for next revision
    


    commit 70f9cf8951e5253cfef821f8dcb92f6fc3af50c6 
    netxen: add sysfs entries for diag tools
    
    Add sysfs entries to enable register and memory access
    for diagnostic tools.

    

    commit f03b0ebd8e7132bd9adb41348070813feb280300 
    netxen: separate register and memory access lock
    
    Since register and onboard memory access has separate
    window registers, they need not be kept under same lock.
    
    Also, memory is always accessed from process context
    (mostly for firmware init and diagnostic tools).
    


    commit 907fa1201c76f426a13bdff5be2747fb62c2353f 
    netxen: annotate register windowing code
    
    Use common variables crb_win, ocm_win for all revisions of chip.
    


    commit 47abe35610cbbfb3cc92847efdf588a8be1f5ebc 
    netxen: add access to on chip memory for tools
    
    Add access to on chip memory, this is used by
    debug and diagnostic tools only.
    


    commit 1f5e055db369a5d1c74174571585a4ec2e6c40fb 
    netxen: remove sub 64-bit mem accesses
    
    Sub 64-bit / unaligned access to oncard memory was only used
    by old diagnostic tools, causes some intermittent issues when
    memory controller agent is used.  The new access method was
    added by commit ea6828b8aa3a8ebae8d7740f32f212ba1d2f0742
    ("netxen: improve pci memory access").  Firmware init anyway
    uses 8-byte strides.
    
    This also fixes address/offset calculation for NX2031 context
    memory (SIU). For NX3031, SIU uses same register offsets
    as packet memory (MIU).
    


    commit fa3ce355c1bf1a83b843420228202fd6f8023ad3 
    netxen: bridged mode optimizations
    
    When the interface is put in bridged mode, destination mac
    addresses are unknown to firmware. So packets take a slow
    path (lower priority) in firmware reducing performance.
    
    Firmware can cache limited number of remote unicast mac
    addresses for certain interval, if "dynamic mac learning"
    mode is enabled.
    
    Driver needs to enable this "mac learning" mode in firmware.
    Currently this is done through net device class sysfs entry,
    possibly this can also be done upon netlink notifications to
    from bridge.
    


    commit 71fb62fb6dd4ed95e6f0240a2c627df396d9d057 
    netxen: fix pci bar mapping
    
    Use resource_size_t for PCI resource remapping instead
    of unsigned long. Physical addresses can exceed range of
    long data type (e.g with PAE).
    


    commit fa9859ef2bb56d876db53c258001af115f38a272 
    netxen: Fix Unlikely(x) > y
    
    The closing parenthesis was not on the right location.
    


    commit 07653aa3afe7b74cbddfe3bca82a898c413855b1 
    netxen: fix firmware init after resume
    
    After successful firmware init, return instead of
    falling to error path (leading to detach) after
    resuming to D0 state. This was broken in recent
    firmware reset rehaul.

    

    commit a598ae177a11ebae065e20059d9bc63a5da4ccc3 
    netxen: fix minor tx timeout bug
    
    Fix minor bug in netdev tx timeout handling which could
    always lead to firmware reset instead of pci function reset.
    
    netxen_nic_reset_context() requires __NX_RESETTING bit
    cleared.

Comment 3 Marcus Barrow 2009-11-30 18:47:53 UTC
Created attachment 374842 [details]
initial rhel 5.5 submit

Comment 9 Don Zickus 2009-12-14 19:30:55 UTC
in kernel-2.6.18-180.el5
You can download this test kernel from http://people.redhat.com/dzickus/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 11 asalecha 2009-12-14 22:01:17 UTC
We downloaded kernel-2.6.18-180.el5 and verified that it has the fix posted in
comment #2.

Thank you.

Comment 12 Roger Pena-Escobio 2010-01-08 14:56:28 UTC
Hi, we are seeing some transmit timeout and resetting problem in a HP DL585 with NX3031 card installed:
4f:00.0 Ethernet controller: NetXen Incorporated NX3031 Multifunction 1/10-Gigabit Server Adapter (rev 42)

we are running rhel5.4, and the netxen_nic moduled module version is  4.0.11, we moved to rhel5.4 from rhel4.8 because we had similar issues, and although it was little chance the problem get fixed because rhel4.8 and rhel5.4 use the same driver version there was hope newer development could be implemented first in rhel5 branch than in in rhel4, so, my question is, does this update could fix this error?
the messages that log into console is:
"kernel: netxen_nic eth2: transmit timeout, resetting"

second question is, latest kernel 2.6.18-183 contain the patch included in 2.6.18-180 ? or I need to test specifically with the kernel reported in comment #10 ?

Comment 14 Dave Wagner 2010-01-13 00:44:19 UTC
(In reply to comment #12)
> Hi, we are seeing some transmit timeout and resetting problem in a HP DL585
> with NX3031 card installed:
> 4f:00.0 Ethernet controller: NetXen Incorporated NX3031 Multifunction
> 1/10-Gigabit Server Adapter (rev 42)
> 
> we are running rhel5.4, and the netxen_nic moduled module version is  4.0.11,
> we moved to rhel5.4 from rhel4.8 because we had similar issues, and although it
> was little chance the problem get fixed because rhel4.8 and rhel5.4 use the
> same driver version there was hope newer development could be implemented first
> in rhel5 branch than in in rhel4, so, my question is, does this update could
> fix this error?
> the messages that log into console is:
> "kernel: netxen_nic eth2: transmit timeout, resetting"
> 
> second question is, latest kernel 2.6.18-183 contain the patch included in
> 2.6.18-180 ? or I need to test specifically with the kernel reported in comment
> #10 ?    

You are using a very old version of the driver. Please file a separate Bugzilla to track this issue and contact Qlogic (which acquired NetXen) Support.

Comment 15 Marvell Linux NIC Driver 2010-01-13 00:58:52 UTC
(In reply to comment #14)
> (In reply to comment #12)
> > Hi, we are seeing some transmit timeout and resetting problem in a HP DL585
> > with NX3031 card installed:
> > 4f:00.0 Ethernet controller: NetXen Incorporated NX3031 Multifunction
> > 1/10-Gigabit Server Adapter (rev 42)
> > 
> > we are running rhel5.4, and the netxen_nic moduled module version is  4.0.11,
> > we moved to rhel5.4 from rhel4.8 because we had similar issues, and although it
> > was little chance the problem get fixed because rhel4.8 and rhel5.4 use the
> > same driver version there was hope newer development could be implemented first
> > in rhel5 branch than in in rhel4, so, my question is, does this update could
> > fix this error?
> > the messages that log into console is:
> > "kernel: netxen_nic eth2: transmit timeout, resetting"
> > 
> > second question is, latest kernel 2.6.18-183 contain the patch included in
> > 2.6.18-180 ? or I need to test specifically with the kernel reported in comment
> > #10 ?    
> 
> You are using a very old version of the driver. Please file a separate Bugzilla
> to track this issue and contact Qlogic (which acquired NetXen) Support.    

I would like to clarify that the previous comment was made by me. I was logged on using the qlogic-redhat-ext@qlogic.com account.

Comment 16 Ryan Lerch 2010-01-29 00:58:19 UTC
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.

New Contents:
The netxen driver for NetXen Multi port (1/10) Gigabit Network devices has been updated.

Comment 17 Marvell Linux NIC Driver 2010-02-09 20:39:50 UTC
Technical note updated. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.

Diffed Contents:
@@ -1 +1 @@
-The netxen driver for NetXen Multi port (1/10) Gigabit Network devices has been updated.+The netxen_nic driver for NetXen Multi port (1/10) Gigabit Network devices has been updated.

Comment 18 Chris Ward 2010-02-11 10:23:25 UTC
~~ Attention Customers and Partners - RHEL 5.5 Beta is now available on RHN ~~

RHEL 5.5 Beta has been released! There should be a fix present in this 
release that addresses your request. Please test and report back results 
here, by March 3rd 2010 (2010-03-03) or sooner.

Upon successful verification of this request, post your results and update 
the Verified field in Bugzilla with the appropriate value.

If you encounter any issues while testing, please describe them and set 
this bug into NEED_INFO. If you encounter new defects or have additional 
patch(es) to request for inclusion, please clone this bug per each request
and escalate through your support representative.

Comment 20 errata-xmlrpc 2010-03-30 07:12:46 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.

http://rhn.redhat.com/errata/RHSA-2010-0178.html

Comment 21 Tony Camuso 2010-03-30 10:50:03 UTC
http://rhn.redhat.com/errata/RHSA-2010-0178.html

Page Not Found (404)

We're sorry! The page you are looking for has been moved or no longer exists.


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