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.
Created attachment 374840 [details]
changes from 2.6.32
Updates descriptions from the patch:
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.
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.
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.
netxen: fix memory initialization
Avoid resetting memory during initialization, skip this memory
block during driver probe.
netxen: update version to 4.0.65
netxen: module firmware hints
Add MODULE_FIRMWARE hints for various firmware file types,
required by different chip revisions.
netxen: update module info
Update module info with QLogic signature.
netxen: add PCI IDs for new chip
Add PCI vendor and device IDs for QLE8240 and QLE8242
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.
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.
netxen: fix builds for SYSFS=n or 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.
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).
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.
netxen: fix i2c init
Avoid resetting subsys ID in i2c block. Also remove duplicate
check for address tranlsation error.
netxen; update version to 4.0.62
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.
netxen: fix error codes in for tools access
Use -EIO or -EINVAL as error codes, these can get passed up
to applications (tools).
netxen: onchip memory access change
Add support for different windowing scheme for on chip
memory in future chip revisions. This is required by
netxen: reset sequence changes
Future revisions need different chip reset sequence
and firmware initialization.
Also clean up some never used debug code.
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.
netxen: defines for next revision
netxen: add sysfs entries for diag tools
Add sysfs entries to enable register and memory access
for diagnostic tools.
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).
netxen: annotate register windowing code
Use common variables crb_win, ocm_win for all revisions of chip.
netxen: add access to on chip memory for tools
Add access to on chip memory, this is used by
debug and diagnostic tools only.
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).
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
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).
netxen: Fix Unlikely(x) > y
The closing parenthesis was not on the right location.
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.
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
Created attachment 374842 [details]
initial rhel 5.5 submit
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.
We downloaded kernel-2.6.18-180.el5 and verified that it has the fix posted in
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 ?
(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.
(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 firstname.lastname@example.org account.
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.
The netxen driver for NetXen Multi port (1/10) Gigabit Network devices has been updated.
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.
@@ -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.
~~ 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.
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.
Page Not Found (404)
We're sorry! The page you are looking for has been moved or no longer exists.