                              Release Notes
         Broadcom BCM5700 SCO Unixware 7/Caldera Open Unix 8 driver

                          Broadcom Corporation
                          16215 Alton Parkway,
                          Irvine, CA 92619-7013

                Copyright (c) 2000-2006 Broadcom Corporation
                           All rights reserved


v10.0.2   (December 15, 2006)
==============================

    Fixes:
    -------------
        1) Problem : (CQ27832) 5755M fails IEEE tests.
           Cause   : PHY trim values suboptimal.
           Change  : Modify PHY trim values.
           Impact  : This problem only affects 5755M devices.


v10.0.1   (November 15, 2006)
==============================

    Enhancements:
    -------------
        1) Change  : Removed support for BCM5722.
           Impact  : None.


v10.0.0   (September 19, 2006)
==============================

    Enhancements:
    -------------
        1) Change  : Added support for BCM5722.
           Impact  : None.


v9.7.0   (August 24, 2006)
=============================

    Enhancements:
    -------------
        1) Problem : (CQ24704) Request removal of 1Gbps-HD from
                     documentation.
           Change  : Removed requested passages from documentation.
           Impact  : None.


v9.4.4   (June 26, 2006)
=============================

    Fixes:
    -------------
        1) Problem : (CQ25155 and CQ23480) Under rare circumstances,
                     5721 devices can encounter a read DMA overrun.
                     This would result in subsequent read DMA operations
                     not completing.  This in turn would lead to network
                     applications failing or "timing out".
           Cause   : This is due to a newly discovered corner case HW
                     bug in the 5721.  The same problem is also in 5751,
                     5753, 5789, 5752, and 5755 devices.  5787, 5705,
                     and devices introduced before the 5721 and 5751 are
                     not affected by this issue.  This HW issue can
                     occur under a rare circumstance where a very large
                     Rx BD read request is generated while the RDMA read
                     FIFO is partially filled with Tx data and the
                     TxMbuf memory is full.  Most network applications
                     would never generate this circumstance, and thus
                     this problem is hard to reproduce, and won't occur
                     with most network applications.  This problem could
                     theoretically occur at 1Gb speed but is more likely
                     to occur at 10mb or 100mb operation, and is more
                     likely to occur with applications that generate
                     lots of smaller (e.g. 82B) packets.  More
                     information about this issue will be included in
                     future 57xx chip errata documents for affected
                     devices.
           Change  : Modified the driver to limit how many BDs the HW
                     will try to fetch at any given time.  With this
                     workaround, the HW should never fetch more than 15
                     RX BDs in a read burst during runtime (not init
                     time).  This avoids the circumstance that could
                     expose the HW erratum.
           Impact  : The performance impact of this change is
                     negligible.

        2) Problem : (CQ9987) On a machine with heavy traffic, register
                     reads may return corrupted data.
           Cause   : The firmware and the driver register read timing
                     can collide causing the chip to return garbage
                     data.
           Change  : There exists a hardware fix, but the fix is
                     disabled by default.  The driver has been recoded
                     to explicitly turn on this fix.
           Impact  : None.


v9.4.3   (June 6, 2006)
=============================

    Fixes:
    -------------
        1) Problem : Devices with fastboot firmware will cause the
                     driver to issue an invalid NVRAM layout warning.
           Cause   : Fastboot firmware changes the layout of NVRAM.
           Change  : Recode NVRAM firmware version decoding to account
                     for new NVRAM layouts.
           Impact  : None.

        2) Problem : 5788 devices fail to transmit on occasion.
           Cause   : The 5788 does not support 64-bit addressing.  Code
                     changes were made to limit DMA addresses to
                     32-bits, but this causes the operating system to
                     use different structure definitions when describing
                     the physical characteristics of DMA buffers.  The
                     driver did not account for this, and thus described
                     the DMA buffers incorrectly to the hardware.
           Change  : Change the code to use the alternate structure
                     definition when using 5788 devices.
           Impact  : None.


v9.4.2   (June 5, 2006)
=============================

    Enhancements:
    -------------
        1) Change  : Added support for BCM5788, BCM5787, and BCM5786.
           Impact  : None.


v9.4.1   (May 12, 2006)
=============================

    Fixes:
    -------------
        1) Problem : (CQ24516) Chip stops responding under heavy load
                     with ASF enabled.
           Cause   : When ASF is enabled, the driver will setup a
                     timer to send heartbeat pulses to ASF at regular
                     intervals.  When the system is processing heavy
                     network traffic, the timer function does not fire
                     reliably.  Eventually ASF will notice a missing
                     heartbeat and reset the device underneath the
                     driver.
           Change  : Remove the heartbeat timer.  ASF will not attempt
                     to reset the device until the first heartbeat
                     pulse is sent.  ASF has another mechanism to
                     detect if the host OS has crashed.
           Impact  : None.

        2) Problem : (CQ24217) Chip stops responding after several
                     iterations of the load / unload test with ASF
                     enabled.
           Cause   : ASF is resetting the device because it sees
                     packets that have arrived and have not been
                     claimed by the driver within it's timeout
                     period.  This condition is created when the
                     driver disables interrupts in bcmeclose(),
                     but leaves the hardware running to finish
                     sending any remaining TX packets.
           Change  : Leave interrupts enabled.
           Impact  : The host CPU(s) will see a little more usage
                     after the device has been closed, but there
                     will be no other ill effects.  The ISR will
                     safely return any RX buffers back to the
                     hardware as they are claimed from the hardware.
                     This is a temporary solution until the driver
                     can be recoded to account for this new
                     requirement.

        3) Problem : (CQ24525) On rare occasions, 5755 device will fail
                     to acquire link at 1Gbps speeds.
           Cause   : The link partner is out of spec.
           Change  : Program the PHY to be more tolerant of
                     out-of-spec link partners.
           Impact  : None.


v9.4.0   (March 22, 2006)
=============================

    Enhancements:
    -------------
        1) Change  : Added support for BCM5755.
           Impact  : None.


v9.0.4   (February 28, 2006)
=============================

    Enhancements:
    -------------
        1) Change  : Remove support for BCM5755.
           Impact  : None.


v9.0.3   (January 19, 2006)
=============================

    Fixes:
    -------------
        1) Problem : (CQ22582) Link messages flood the console when
                     5714S and 5715S devices are configured
                     back-to-back.
           Cause   : Code which was meant to ensure link stability
                     was not being executed.
           Change  : Enable the link stability code.
           Impact  : None.


v9.0.2   (January 16, 2006)
=============================

    Fixes:
    -------------
        1) Problem : (CQ14603) Driver reports link down messages
                     when failover device is activated.
           Cause   : When the driver evaluates the PHY's configuration
                     settings, it reports a mismatch if there is one.
                     This state was improperly being stored in the
                     link status tracking field, instead of the more
                     generic "link down" state.
           Change  : If the link is not up, store a "link down" state
                     to the link status tracking field.
           Impact  : None.


v9.0.1   (January 12, 2006)
=============================

    Fixes:
    -------------
        1) Problem : (CQ22582) Link messages flood the console when
                     5714S and 5715S devices are configured
                     back-to-back.
           Cause   : The driver contains code which resets the PHY
                     when the device acquires link.  This code was
                     incorrectly being applied to 5714S and 5715S
                     devices.
           Change  : Only reset the PHY on 5703, 5704, and 5705
                     PHYs when link is acquired.
           Impact  : None.

        2) Problem : The driver intermittently fails to track and
                     notate the true link status of 5714S and 5715S
                     devices.
           Cause   : The use of the PHY_STATUS register to determine
                     the link status is unreliable.
           Change  : Use a MAC register to more competently determine
                     the link status.
           Impact  : None.


v9.0.0  (January 6, 2006)
============================

    Fixes:
    -------------
        1) Problem : (Cont14603) Link down messages are showing during
                     failover when configured in team.
           Cause   : Recent link reporting changes introduced the bug.
           Change  : Assume link is down when device is opened.
           Impact  : None.

    Enhancements:
    -------------
        1) Change  : Added 5755 support.
           Impact  : None.


v8.3.6   (January 17, 2006)
=============================

    Fixes:
    -------------
        1) Problem : (CQ22582) Link messages flood the console when
                     5714S and 5715S devices are configured
                     back-to-back.
           Cause   : Code which was meant to ensure link stability
                     was not being executed.
           Change  : Enable the link stability code.
           Impact  : None.


v8.3.5   (January 12, 2006)
=============================

    Fixes:
    -------------
        1) Problem : (CQ22582) Link messages flood the console when
                     5714S and 5715S devices are configured
                     back-to-back.
           Cause   : The driver contains code which resets the PHY
                     when the device acquires link.  This code was
                     incorrectly being applied to 5714S and 5715S
                     devices.
           Change  : Only reset the PHY on 5703, 5704, and 5705
                     PHYs when link is acquired.
           Impact  : None.

        2) Problem : The driver intermittently fails to track and
                     notate the true link status of 5714S and 5715S
                     devices.
           Cause   : The use of the PHY_STATUS register to determine
                     the link status is unreliable.
           Change  : Use a MAC register to more competently determine
                     the link status.
           Impact  : None.

        3) Problem : (Cont14603) Link down messages are showing during
                     failover when configured in team.
           Cause   : Recent link reporting changes introduced the bug.
           Change  : Assume link is down when device is opened.
           Impact  : None.


v8.3.4   (December 20, 2005)
=============================

    Fixes:
    -------------
        1) Problem : Driver does not load on 5715S devices.
           Cause   : There are preprocessor definitions in the code
                     which selectively include or exclude support
                     for 5714S and 5715S devices.  The preprocessor
                     condition was inverted such that these devices
                     were improperly being excluded from the build.
           Change  : Fix the preprocessor definition.
           Impact  : None.


v8.3.3   (December 15, 2005)
=============================

    Enhancements:
    -------------
        1) Change  : Added 5714S and 5715S support.
           Impact  : None.


v8.3.2  (October 21, 2005)
============================

    Fixes:
    -------------
        1) Problem : Excessive link down messages output to the
                     console.
           Cause   : The fix for #1 below exposed another scenario
                     where the device is constantly being opened and
                     closed.  In this case, the link state initializer
                     was incorrectly altering the variable the device
                     uses to track the link state.
           Change  : Correct the link state variable in the open
                     routine.  Reliable link state tracking begins
                     when the device is CFG_ADDed into the system.
           Impact  : None.

        2) Problem : Module fails to load due to a linker error.
           Cause   : Undefined symbol.
           Change  : Replace the code which uses the missing symbol
                     with a generic equivalent.
           Impact  : None.


v8.3.1  (October 17, 2005)
============================

    Fixes:
    -------------
        1) Problem : (CQ13567) Link down messages are not displayed
                     immediately after adapter reset.
           Cause   : The reset code explicitly records the link
                     state as down without issuing a corresponding
                     message.
           Change  : Use another link state initializer in the reset
                     code.  The PHY code will then see the state
                     mismatch and issue the appropriate link state
                     message.
           Impact  : None.

        2) Problem : The PHY registers can become corrupted on all 5714S,
                     5715S, and 5780S devices.
           Cause   : The periodic link check code does not acquire the phy
                     lock before performing its task.
           Change  : Add phy lock acquisition and release code around
                     the link check function call.
           Impact  : 5714/5715/5780 fiber.

    Enhancements:
    -------------
        1) Change  : Removed 5903 support.
           Impact  : None.

        2) Problem : Health monitoring software does not register link
                     restoration events.
           Change  : Add code to the driver to send a message to the
                     health monitor software when link is restored.
           Impact  : None.

        3) Change  : Added ECD13216 fix for SERDES crosstalk problem.
           Impact  : None.

        4) Change  : Removed 5714S and 5715S support.
           Impact  : None.


v8.3.0  (August 23, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ13636) Removing the driver package while a
                     device is configured causes the OS to lock the
                     driver directory and never free it.
           Cause   : The return code issued by the driver's preremove
                     script causes the systems behavior.
           Change  : Change the preremove script's return code from
                     one to four.
           Impact  : None.

        2) Problem : (CQ13033) ASF "Alive" heartbeat constant has changed.
           Cause   : Programmatic inconsistencies in previous
                     implementation forced the redefinition.
           Change  : Change driver to use the new constant.
           Impact  : None.

        3) Problem : (CQ13779) Poor performance on 5714 family devices.
           Cause   : DMA settings suboptimal in DmaReadWriteCtrl and
                     GrcLocalCtrl registers.
           Change  : Adjust DMA tuning bits in the DmaReadWriteCtrl
                     and GrcLocalCtrl registers.
           Impact  : None.


    Enhancements:
    -------------
        1) Change  : Add 5903F and 5903M support to the driver.
           Impact  : None.


v8.2.11  (August 10, 2005)
===========================

    Fixes:
    -------------
        1) Problem : Driver fails SCO certification tests.
           Cause   : Driver symbol does not conform to
                     mandated symbol standards.
           Change  : Rename symbol.
           Impact  : None.


v8.2.10  (August 02, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ10476) Tx statistic counters incorrect.
           Cause   : Tx statistic counters are overflowing in
                     hardware.
           Change  : Reduce the statistic refresh interval.
           Impact  : None.


v8.2.9  (August 01, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ11321) 5700 fails to initialize.
           Cause   : The 5700 DmaTest() function was incorrectly
                     failing due to DMA timeout.
           Change  : Change the code to return a success on DMA
                     transation timeout.  The data validation step
                     that follows will catch any DMA errors.
           Impact  : None.

        2) Problem : (CQ13576) 5704S fails flow control test.
           Cause   : The 5704 code was using the flow control
                     definitions of a different register.
           Change  : Use correct flow control definitions.
           Impact  : None.


v8.2.8  (July 22, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ13461) 5701 fails to receive traffic when
                     configured to 10Mbps, half-duplex, link forced.
           Cause   : The 5701 requires that the driver commit each
                     direct register write by performing a dummy
                     read to that same register.  The compiler was
                     optimizing the dummy read away, since the read
                     value was not being used.
           Change  : Force the compiler to keep the dummy read by
                     adding the "volatile" keyword to the destination
                     variable.
           Impact  : None.


v8.2.7  (July 20, 2005)
===========================

    Enhancements:
    -------------
        1) Change  : Remove 5714 and 5715 support from the driver.
           Impact  : None.


v8.2.6  (July 14, 2005)
===========================

    Fixes:
    -------------
        1) Problem : Serdes 325i devices not recognized correctly.
           Cause   : The driver's device list incorrectly linked
                     HP's serdes 325i subsystem device ID to
                     Broadcom's copper device ID.
           Change  : Point HP's serdes 325i subsystem device ID to
                     the correct Broadcom device ID.
           Impact  : None.


v8.2.5  (July 08, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ13319) Flow control fails to work in "auto"
                     mode.
           Cause   : The new flow control code requires that the
                     link's duplex configuration be known.  The
                     existing code failed to determine this.
           Change  : Determine the link's duplex setting before
                     setting up the flow control.
           Impact  : None.

        2) Problem : (CQ12986) 5714 devices do not fall back to
                     forced link if PCS_SYNCED is detected.
           Cause   : Incorrect detection of PCS_SYNCED and
                     RECEIVING_CFGS states.
           Change  : Modified code to get these states from the
                     PHY.
           Impact  : None.


v8.2.4  (June 20, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ13161) Certification test fails after
                     performing the symbol checking stage.
           Cause   : This bug is another instance of CQ12922 for
                     OpenServer.  When resetting the chip, the driver
                     never reclaimed the packet resources.  When the
                     driver attempts to fill the buffer rings
                     afterwards, there are no available resources.
           Change  : Fix the ResetAdapter() logic to reclaim packet
                     resources before resetting the chip.
           Impact  : None.

        2) Problem : (CQ12986) 5714 devices do not fall back to
                     forced link if PCS_SYNCED is detected.
           Cause   : Feature omission.
           Change  : Added force link fallback code.
           Impact  : None.


v8.2.3  (June 13, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ13078) Jumbo frame size option missing on
                     5714 / 5715 devices.
           Cause   : Missing configuration file option.
           Change  : Add the configuration file option.
           Impact  : None.

        2) Problem : (CQ13057) Firmware version string missing
                     product name on 5714 devices.
           Cause   : The code that determines which version
                     string extraction method incorrectly
                     chooses the wrong method.
           Change  : Correct the method classification code to
                     include the 5714.
           Impact  : None.

        3) Problem : (CQ13022) 5703B1S never gets link.
           Cause   : The firmware autonegotiation code was bouncing
                     the link due to invalid flow control
                     configuration.
           Change  : Correct the flow control configuration code.
           Impact  : None.

        4) Problem : 5704S devices showing link up when link is
                     still being negotiated.
           Cause   : Code that forces link as a fallback does
                     not detect valid link up conditions strictly
                     enough.
           Change  : Only fallback to force link up if
                     autonegotiation is not in progress.
           Impact  : None.


v8.2.2  (May 6, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ12822) Flow control automation test fails.
           Cause   : The code, which classified what flow control
                     abilities the link partner was capable of, had
                     recently been rewritten.  In the case of
                     unidirectional flow control, the new code
                     accidentally classified the link partner's
                     flow control capabilities to the wrong direction.
           Change  : Correct the misclassification.
           Impact  : None.

    Enhancements:
    -------------
        1) Change  : Added support for new HP NC32Xi products.
           Impact  : None.


v8.2.1  (April 27, 2005)
===========================

    Enhancements:
    -------------
        1) Change  : Added 5715X support into driver.
           Impact  : None.


v8.2.0  (April 22, 2005)
===========================

    Enhancements:
    -------------
        1) Change  : Added 5714X / 5780X support into driver.
           Impact  : None.


v8.1.8  (April 5, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ12586) PCIE devices lock-up.
           Cause   : Hardware posts infinite data credits during PCIE
                     posted transactions.
           Change  : Find all locations where the chipset might
                     consolidate PCIE transactions and force them to
                     be separate.  Force setup code to read back all
                     register writes.
           Impact  : Minor performance impact on initialization.


v8.1.7  (March 31, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ12151) Link negotiation fails when 5751
                     LOM is connected back-to-back with another
                     device.
           Cause   : Driver was mistakenly forced to use the
                     MI interrupt mode.
           Change  : Correct the code so that it uses the
                     "link ready" mode.
           Impact  : None.

        2) Problem : (CQ12158) Driver incorrectly limits the
                     number of receive rules available for the
                     5714 family of devices.
           Cause   : The code which sets the limit on the
                     number of receive rules incorrectly
                     categorized 5714 family devices.
           Change  : Correct the categorization code.
           Impact  : None.

        3) Problem : (CQ12156) ATI transmit timeout -
                     "NETDEV WATCHDOG".
           Cause   : The ATI chipset did not call the driver ISR 
                     after the ISR did not service an INTx interrupt.
           Change  : The driver will check a register to determine if
                     the INTx should be claimed if the status block has
                     not been updated on ISR entry.
           Impact  : This fix may improve system performance on some
                     systems as it reduces the amount of spurious or
                     unclaimed interrupts.

    Enhancements:
    =============
        1) Problem : Jumbo frame support on some systems caused device 
                     counters to increment CRC errors.
           Change  : Set TX elasticity bit in PHY when using jumbo
                     frames.
           Impact  : None. 

        2) Problem : 5714 device support needs to be removed for the
                     8.1b driver release.
           Change  : Removed 5714 family devices.
           Impact  : None. 


v8.1.6  (March 24, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ12399) 5714 not detected.
           Cause   : Missing configuration file.
           Change  : Added configuration file.
           Impact  : None.

        2) Problem : (CQ12486) ndstat -l reports strange link speeds.
           Cause   : Code that updates link speed incorrectly updated
                     the field that reports the new speed.
           Change  : Added code to update the link speed field.
           Impact  : None.

        3) Problem : (CQ12370) Systems with more than one adapter
                     refuse to accept configuration changes.
           Cause   : Configuration settings were not revisited when
                     the device was reopened.
           Change  : Added code to obtain the configuration settings
                     every time the device is opened.
           Impact  : None.

    Enhancements:
    =============
        1) Problem : Driver missing new HT-LE device IDs.
           Change  : Added missing device IDs.
           Impact  : None.


v8.1.5  (March 2, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ12303) Firmware version not displayed
                     for EEPROM devices.
           Cause   : Code failed to put EEPROM NVRAMs on newer
                     devices into the newer access mode.
           Change  : Ensure EEPROMS on newer devices are accessed
                     using the newer method.
           Impact  : Firmware version now displays correctly.


v8.1.4  (March 1, 2005)
===========================
    Fixes:
    -------------
        1) Problem : Driver crashes.
           Cause   : Not enough memory allocated for device
                     structures.
           Change  : Fix code to allocate the appropriate
                     amount of memory.
           Impact  : None.

        2) Problem : (CQ11893) ASF not supported.
           Cause   : Driver detects ASF and refuses to load.
           Change  : Add code to send ASF heartbeats.
           Impact  : Driver and ASF can now coexist.


v8.1.3  (March 1, 2005)
===========================

    Fixes:
    -------------
        1) Problem : (CQ12160) Capacitive coupling and preserve
                     preemphasis settings may be set incorrectly.
           Cause   : NVRAM configuration bits were not validated
                     before being used.
           Change  : Validate configuration bits before use.
           Impact  : Configuration bits set as expected.

        2) Problem : (CQ8960) ndstat does not show the correct link
                     speed.
           Cause   : Link speed is queried to soon on interface open.
                     The status is never revisited.
           Change  : With the use of a new primitive, the driver now
                     sends a message to the upper layers whenever a
                     link event happens.
           Impact  : ndstat shows correct link speed.


v8.1.2  (February 7, 2005)
===========================

    Enhancements:
    -------------
        1) Change  : Added support for jumbo frames for 5714X and
                     HT2000 devices.
           Impact  : None.


v8.1.1  (January 11, 2005)
===========================

    Enhancements:
    -------------
        1) Change  : Added support for 5714X and HT2000 devices.
           Impact  : None.


v8.1.0  (January 07, 2005)
===========================

    Enhancements:
    -------------
        1) Change  : Added support for 5752 devices.
           Impact  : None.

        2) Change  : Updated copyright strings.
           Impact  : None.


v7.7.7  (December 14, 2004)
===========================

    Fixes:
    -------------
        1) Problem : (CQ11636) Device fails to get link when
                     connection is forced to 10Mbps.
           Cause   : Code which programs the LEDs programmed
                     the wrong shadow register.
           Change  : Changed code to program the correct
                     shadow register.
           Impact  : Device acquires link as expected.


v7.7.6  (December 2, 2004)
===========================

    Enhancements:
    -------------
        1) Problem : (CQ11011) PLL clock unstable.
           Change  : Set some hardware bits to stabilize the clock.
           Impact  : Device works as expected.


v7.7.5  (November 29, 2004)
===========================

    Fixes:
    -------------
        1) Problem : (CQ11448) 5704 LOM interfaces will not ping.
           Cause   : Peer device can hold NVRAM lock, which prevents
                     correct operation.
           Change  : Release NVRAM lock after reset.
           Impact  : Devices work as expected.


v7.7.4  (November 29, 2004)
===========================

    Enhancements:
    -------------
        1) Change  : Added support for more NVRAM types.
           Impact  : More NVRAM types supported.


v7.7.3  (November 9, 2004)
==========================

    Fixes:
    ------
        1) Problem : (CQ11088) Force the NC150T to autonegotiate
                     its linkspeed and duplex settings.
           Cause   : The 150T is a "LOM" connected to an onboard
                     switch.  Any other settings will cause a link
                     failure.
           Change  : Detect the NC150T and prevent changes to
                     requested link speed / duplex and autoneg
                     settings.
           Impact  : The NC150T will autoneg or fail to link.


v7.7.2  (November 8, 2004)
==========================

    Fixes:
    ------
        1) Problem : (CQ11219) Driver freezes machine under stress.
           Cause   : Error in resource release code.
           Change  : Changed code so that previously erroneous test
                     will work.
           Impact  : All resources can be released properly.  Driver
                     works as expected.

        2) Problem : (CQ11270) Driver will not load on a BCM5700B2
           Cause   : BCM5700B2s do not have a valid EEPROM signature.
           Change  : Changed code to prevent an error return when
                     BCM5700 devices fail EEPROM signature check.
           Impact  : BCM5700 devices work once again.

        3) Problem : Firmware version number not displayed on 5750
                     family of devices.
           Cause   : NVRAM on 5750 family devices requires the
                     "access enable" bit to be set before performing a
                     read.
           Change  : Set the access enable bit.  Also averted an offset
                     calculation on 5753 devices.
           Impact  : Firmware version shod up on both devices.

    Enhancements:
    -------------
        1) Change  : Added firmware version to banner string.
           Impact  : It should be clearer which version of the
                     firmware is on the device.
        2) Problem : (CQ#11117) Preemphasis settings, set by the
                     firmware, need to be preserved.
           Change  : Added code to preserve preemphasis settings
                     enabled by the bootcode, when requested.
           Impact  : Better waveforms on particular serdes
                     implementations.


v7.7.1  (October 25, 2004)
==========================

    Fixes:
    ------
        1) Problem : Machine crashes when doing UDP performance
                     testing.
           Cause   : Streams queues were being corrupted when
                     putbq() was being called incorrectly.
           Change  : Recoded the tx path to remove the violation.
           Impact  : Crashing condition removed.

        2) Problem : 5753 series devices have a banner string
                     identifying the devices as "Unknown".
           Cause   : Omitted code to recognize the new devices.
           Change  : New defines.
           Impact  : New devices recognized.

        3) Problem : Performance considerably slower on 5750
                     family of devices.
           Cause   : 5750 family devices need to be programmed
                     differently than other legacy devices.
           Change  : Added new code to program 5750 family devices
                     correctly.
           Impact  : Performance back up to par.


v7.7.0  (October 15, 2004)
==========================

    Enhancements:
    -------------
        1) Change  : Added support for 5753 series devices.
           Impact  : New devices supported.

        2) Change  : Backend (LM) code is now shared with UnixWare
                     and OpenServer.
           Impact  : Less maintenance overhead and speeds bugfix
                     and feature enhancement migration.

        3) Change  : Separated OpenServer and UnixWare frontends.
           Impact  : Enhanced platform flexibility at the expense
                     of a little maintenance overhead.


v7.5.16  (April 27, 2004)
=========================

    Fixes:
    ------
        1) Problem : ethernet@wirespeed does not work.
           Cause   : Support for this feature was removed
                     for higher reliability.
           Change  : Added a setting in the GUI to enable or
                     disable this feature.  Added code to adjust
                     hwfail notification timeouts accordingly.
           Impact  : If desired, ethernet@wirespeed can be enabled.
                     It is recommended that e@w not be enabled if
                     the interface is to be configured in team.


v7.5.15  (April 24, 2004)
=========================

    Fixes:
    ------
        1) Problem : When a machine is filled with NICs, all of
                     which have their cables detached, most
                     of the interfaces will disappear from the
                     system.
           Cause   : Hardware failure notifications were issued
                     too soon after a configuration or boot.
                     When the system notices failures during this
                     "inspection period", it attempts to reset the
                     interface three times before removing it from
                     the system.
           Change  : The appropriate timeout varies depending on
                     the number of devices installed.  The worst
                     case will cause delays to long to tolerate.
                     The workaround is to remove the sleep in the
                     open call.
           Impact  : The workaround closes the "inspection window"
                     down to a reasonable size.  The only side
                     effects are that ethernet@wirespeed cannot work
                     and the link speed report can be false.


v7.5.14  (April 23, 2004)
=========================

    Fixes:
    ------
        1) Problem : If two interfaces are configured in team
                     and the primary cable is detached on bootup,
                     the system will no longer be able to
                     issue the command 'nd failback netX' and
                     expect the interface to work.
           Cause   : Upper layers apparently need more time to
                     set up a valid connection after reporting
                     the link speed.
           Change  : Delay for 14 seconds before sending a
                     hardware failure notification message.
           Impact  : Failovers will take a little longer to
                     work on bootup and during configuration.
                     There are no adverse effects during normal
                     operation.

        2) Problem : (CQ9955) 5751M chips have not been tested.
           Cause   : No hardware available to test against.
           Change  : Remove 5751M support from driver.
           Impact  : 5751M chips will no longer be recognized
                     by this driver.


v7.5.13  (April 19, 2004)
=========================

    Fixes:
    ------
        1) Problem : Bit error rate too high in certain situations.
           Cause   : Corner cases causing bad hw interactions.
           Change  : Write several phy registers.
           Impact  : Corner cases correctly covered.

        2) Problem : nd subsystem does not properly failback under
                     certain corner cases.
           Cause   : hwfail notification happens too soon after a
                     successful speed report.
           Change  : Issue a hwfail notification from a short
                     timeout.
           Impact  : Interface now fails back correctly.


v7.5.12  (April 16, 2004)
=========================

    Fixes:
    ------
        1) Problem : The data LED of the NIC flashes too quickly when
                     the NIC is configured for Shared Traffic LED mode.
           Cause   : Hardware bug.
           Change  : Manually program the PHY for this mode.
           Impact  : Shared Traffic mode data LED works as expected.

        2) Problem : (CQ9878) Failover not functioning correctly.
           Cause   : To fix bug CQ9749 (see release 7.5.10 notes below)
                     we had to add a fake speed report.  In a failover
                     situation, the fake speed report would be issued
                     after the hardware failure notification.  The
                     upper layers seem to interpret this as a valid
                     link.
           Change  : Send the fake link speed first, followed by the
                     hardware failure notification.
           Impact  : Device fails over as expected.  The device still
                     shows in 'ifconfig -a' output.

        3) Problem : BCM5700 and BCM5701 NICs have high number of errors
                     with long cables.
           Cause   : These NICs cannot read the shadow registers, so they
                     must be blindly hard-coded. (no read-modify-write)
           Change  : Write hard-coded values into shadow registers if
                     these NICs are detected.
           Impact  : Errors subside with long cables.


v7.5.11  (April 6, 2004)
========================

    Enhancements:
    -------------
        1) Problem : Product banner message unsupported.
           Change  : Add product banner message.
           Impact  : New banner messages.


v7.5.10  (April 1, 2004)
========================

    Fixes:
    ------
        1) Problem : (CQ9749) DLPI displays "Timeout error"
           Cause   : When an interface is configured without the
                     network cable being attached, the driver
                     was changed to report a zero (current)
                     maximum speed and send a link failure message
                     back up the stream stack.  The upper layers
                     do not seem to like zero link speeds.
           Change  : Report a bogus link speed if the cable is
                     detatched.
           Impact  : 'ifconfig -a' once again shows our interface,
                     ethernet@wirespeed works, and the
                     "Timeout error" messages are gone.

    Enhancements:
    -------------
        1) Problem : LEDs illuminated incorrectly.
           Change  : Moved LED configuration back under driver
                     control.
           Impact  : LEDs illuminate as they should for each
                     mode.


v7.5.9  (March 30, 2004)
========================

    Fixes:
    ------
        1) Problem : (CQ7836) Remote link LED does not illuminate on
                     some fiber switches when a device, configured
                     in team, has failed over, but has its network
                     cable reattached.
           Cause   : Devices are not fully closed during failover
                     conditions.  Software autonegotiation does
                     not work, and link cannot be established.
           Change  : If available, let firmware do autonegotiation.
           Impact  : With firmware handling autonegotiation, the
                     link will correctly be established, even if
                     the device is not currently (re)opened.

        2) Problem : (CQ7836) Management software cannot get the
                     status of the secondary controller when a
                     570X device is configured as a failover device.
           Cause   : The link is not yet established at the time of
                     the status query.
           Change  : Wait in the open() call until link is established.
           Impact  : The link is guaranteed to either be established or
                     known to be invalid at the time of a status query.

        3) Problem : (CQ8742) ethernet@wirespeed does not work. 
           Cause   : When a valid scenario where e@w can help, the link
                     can take a long time to establish.  Under such
                     conditions, the OS times out before link has been
                     established and prematurely deems the device
                     unavailable.
           Change  : Wait in the open() call until link is established.
           Impact  : Waiting in the open() call give the device enough
                     time to allow e@w to work.

v7.5.8  (March 15, 2004)
========================

    Fixes:
    ------
        1) Problem : 5750 A1 devices hang on initialization.
           Cause   : PCIE "preserve data link" flag mistakenly
                     applied to standard PCI cases.
           Change  : Limit the PCIE fix to PCIE devices.
           Impact  : Device operates as suspected.  PCIE devices
                     unaffected.

        2) Problem : LEDs illuminate incorrectly.
           Cause   : Undetermined
           Change  : Starting with 575X and 572X NICs,
                     the driver lets the firmware
                     control how the LEDs are set.
           Impact  : Firmware LED fixes will be universal
                     to all drivers.


v7.5.7  (March 5, 2004)
=======================

    Fixes:
    ------
        1) Problem : 5750 family link LED does not illuminate to
                     the correct color in wireless combo mode.
           Cause   : Applied fix to wrong location.
           Impact  : LED modes should work as expected.


v7.5.6  (March 4, 2004)
=======================

    Fixes:
    ------
        1) Problem : 5750 family link LED does not illuminate to
                     the correct color in wireless combo mode.
           Cause   : Old LED mode bits need to be set to 1's
                     in order for new LED modes to be enabled.
           Change  : Set old LED bits to ones when a new
                     5750 family LED mode is selected.
           Impact  : LED modes should work as expected.


v7.5.5  (February 25, 2004)
===========================

    Fixes:
    ------
        1) Problem : 575X devices not displayed in netcfg.
           Cause   : Misnamed configuration file.
           Change  : Corrected configuration file name.
           Impact  : 575X devices will be recognized.

    Enhancements
    ------------
        1) Change  : Set a register flag to facilitate PCIE
                     debugging, should a problem occur.
           Impact  : No impact to performance.  Easier debugging.


v7.5.4  (February 23, 2004)
===========================

    Fixes:
    ------
        1) Problem : 5721 is displayed as 575X device.
           Cause   : All 5750 family device IDs were lumped into
                     one configuration file with one descriptive
                     string.
           Change  : Separate 572X devices into a separate
                     configuration file.
           Impact  : 572X devices will correctly be displayed as such.
        2) Problem : Driver crashes on unload.
           Cause   : A race condition in the unload routine.
           Change  : The unload routine sets a flag to notify other
                     threads that the device is no longer accessible.
                     This flag was simply moved earlier in the unload
                     routine.
           Impact  : Race condition eliminated.
        3) Problem : GetAdapterInfo locks up system.
           Cause   : PXE sometimes does not shutdown properly.
           Change  : Detect improper shutdown conditions and issue a
                     GRC reset.
           Impact  : Chips is reset to a known state, and initialization
                     can continue.

    Enhancements
    ------------
        1) Problem : Driver missing 575X and 572X A1 support.
           Change  : Added code for 5750A1 family devices.
           Impact  : 5750A1 family devices properly supported.


v7.5.3  (January 26, 2004)
===========================

    Fixes:
    ------
        1) Problem : Normal TCP and UDP traffic not seen when adapter
                     is put into promiscuous mode.
           Cause   : Internal receive flags were not being preserved
                     when promiscuous mode was enabled.
           Change  : Preserve receive flags.
           Impact  : All cards.
        2) Problem : System hangs when loading the driver on a PCIE
                     system.
           Cause   : PCIE detection code incorrect, causing PCIE
                     specific codepaths not to be executed.
           Change  : Fix PCIE detection code.
           Impact  : All PCIE devices.


v7.5.2  (January 13, 2004)
===========================

    Fixes:
    ------
        1) Problem : 575X devices fail after GRC reset.
           Change  : Changed delay to 500 msec after GRC reset.
           Impact  : All 575X, and 572X cards.
        2) Problem : Some register writes fail on 575X cards.
           Change  : Add register read back on PCIE systems.
           Impact  : All PCIE devices.
        3) Problem : Some register writes fail on SMP systems.
           Change  : Make driver single threaded.
           Impact  : All PCIE devices.
        4) Problem : No Link interrupts are delivered.
           Change  : Added code to poll for link interrupts.
           Impact  : All PCIE devices.
        5) Problem : Asf fails after GRC reset.
           Change  : Moved KevT assignment to before GRC reset.
           Impact  : All cards.

    Enhancements:
    -------------
        1) Problem : 575X cards missing new LED modes.
           Change  : Added new 5750 family LED modes.
           Impact  : All 575X, and 572X cards.



v7.5.1  (December 11, 2003)
===========================

    Fixes:
    ------
    1. Problem : Cardbus event register not accepting "INTERRUPT ENABLE"
                 bit.
       Cause   : Hardware bug.
       Change  : Changed the register write routine from a config space
                 write to a memory space write.
       Impact  : All 5750, 5750M, 5751, 5751M, 5720, and 5721 chips.


v7.5.0  (November 21, 2003)
===========================

    Enhancements:
    -------------
    1. Problem : Driver needed 5750 family support.
       Change  : Integrated all 5750 family related changes.
       Impact  : All 5750, 5750M, 5751, 5751M, 5720, and 5721 chips.


v7.0.7  (October 23, 2003)
==========================

    Fixes:
    ------
    1. Problem : (CQ8673) When the 5701 is configured in team and is
                 not the active adapter, the driver logs too many
                 link messages.
       Cause   : Phy contention.
       Change  : Insert spinlocks to protect the phy.
       Impact  : All 5701 cards.


v7.0.6  (October 20, 2003)
==========================

    Fixes:
    ------
    1. Problem : Kernel intermittently panics on a
                 driver unconfigure.
       Cause   : Not all timeouts are accounted for
                 before driver memory is freed.
       Change  : Wait for all timeouts before
                 permitting a driver uninstall.
       Impact  : All cards.


v7.0.5  (October 17, 2003)
==========================

    Fixes:
    ------
    1. Problem : The Ethernet@WireSpeed fix, as well as
                 the "unable to get the status of the
                 secondary" fix is causing problems.
       Cause   : The fix for the previous issue was to
                 insert a sleep at the end of the open()
                 function until either a link has been
                 aquired or a timeout happens.  This has
                 unexpected side effects.
       Change  : Back out the fix until all the
                 sie effects of the change can be
                 accounted for.
       Impact  : ndstat will report inaccurate link speed.
                 The status of a secondary controller
                 configured in team will not be determinable.


v7.0.4  (October 13, 2003)
==========================

    Fixes:
    ------
    1. Problem : (CQ8596) Driver does not reliably failover
                 to secondary.
       Cause   : New hwfail code failed to reproduce a
                 condition of the original code.
       Change  : Add missing condition to new code.
       Impact  : All cards.

    Enhancements:
    -------------
    1. Problem : Missing some initialization strings for the
                 5705 A3.
       Change  : Added missing 5705 A3 initialization strings.
       Impact  : All 5705 A3 cards.


v7.0.3  (October 8, 2003)
=========================

    Fixes:
    ------
    1. Problem : (CQ8526) Ethernet@WireSpeed does not work.
       Cause   : It can take up to ~20 seconds to get a link
                 if Ethernet@WireSpeed is turned on with a
                 faulty setup.  The driver was not waiting
                 for link long enough.  This in turn caused
                 the controlling application to close the
                 interface prematurely.
       Change  : Wait longer in the bcmeopen() call.
       Impact  : All Ethernet@WireSpeed enabled devices.

    2. Problem : (CQ8052) NC7770 ACT and 10 LEDS blink during
                 link drop.
       Cause   : Unknown.
       Change  : The symptom CQ7836 addresses is one of many
                 problems caused by returning from bcmeopen()
                 before a link has been established.  Before
                 the fix for this bug was implemented, the
                 driver was forced to return a bogus link
                 status, which reported that the link was up.
                 It is likely the case that the guarantee of
                 an accurate link status, and consequently
                 the removal of the bogus link status, has
                 altered the behavior of the upper layers
                 and fixed this bug.
       Impact  : NC7770 cards.

    Enhancements:
    -------------
    1. Problem : (CQ8553) The bcme package is not installing /
                 deinstalling itself cleanly.
       Change  : Added a preinstall script which checks :
                 1) To see if a bcme device is configured and
                    prompts the administrator to remove it.
                 2) Checks if a bcme package already exists
                    in the system and asks the administrator
                    to remove it.
                 3) Checks if files normally owned by the
                    bcme package are owned by the nd package
                    and asks the administrator if he / she
                    wishes to disassociate those files.
       Impact  : All future bcme packages.


v7.0.2  (October 2, 2003)
=========================

    Fixes:
    ------
    1. Problem : (CQ8535) Boot time message identifies 5705 A3 chip as
                 as "unknown".
       Cause   : The device ID for the 5705 A3 changed from previous
                 versions of the chip.  The chip identification and
                 reporting code failed to check for the new device ID.
       Change  : Add the new device ID into the chip ID code.
       Impact  : All 5705 A3 chips.

    2. Problem : (CQ7836) Cannot get the status of a secondary
                 controller when configured as a failover controller.
       Cause   : In order to check the status of the secondary
                 controller, the device must be opened.  When the NIC
                 is opened, the controller is reset.  After a reset,
                 it can take several seconds for a link to stabilize.
                 Because of this, the driver returns from the open()
                 before the link has stabilized, so the system can do
                 more useful work.  Semantically though, a return from
                 the open() call has been taken to mean controller is
                 ready for use.  The problem here is that software
                 querying the status of the secondary controller,
                 queries the status too soon after the open() call,
                 thus forcing the driver to report an erroneous status.
       Change  : Force the driver to sleep() in the open() call until
                 link has stabilized, or the system times out 5 seconds
                 later.
       Impact  : All chips.

    Enhancements:
    -------------
    1. Problem : (CQ8553) The bcme driver is missing a preinstall
                 script.
       Change  : A preinstall script is added.  This script aborts if
                 it finds a bcme package already installed, and
                 deletes conflicting files if the administrator
                 approves.
       Impact  : All chips.

v7.0.1  (August 26, 2003)
=========================

    Fixes:
    ------
    1. Problem : (CQ8353) 5704S secondary port cannot pass traffic when
                 set to forced speed.
       Cause   : The driver failed to preserve some critical bits during
                 the 1.2V change.
       Change  : Preserve the critical bits.
       Impact  : 5704S B0.


v7.0.0  (August 22, 2003)
=========================

    Fixes:
    ------
    1. Problem : (CQ8338) Missing man page
       Cause   : A problem with the build environment.
       Change  : Fixed build environment.
       Impact  : All cards.

    2. Problem : (CQ8367) HP Management agents report duplicate port
                 numbers.
       Cause   : Port number was always being assigned "1" in driver.
       Change  : Assign actual port number in driver.
       Impact  : All cards.

    3. Problem : (CQ8353) 5704S secondary port cannot pass traffic when
                 set to forced speed.
       Cause   : 5704S 1.2V adjustment.
       Change  : Remove the adjustment, for now.
       Impact  : 5704S B0.


v6.1.0  (August 13, 2003)
=========================

    Fixes:
    ------
    1. Problem : (CQ7591) Port numbers need to be "one" based.

       Cause   : Confusion regarding new standard.

       Change  : Add one to port number before reporting.

       Impact  : All cards.


    2. Problem : Driver sometimes gets a MAC address of all zeroes.

       Cause   : In some rare timing related situations, the
                 firmware is behind in providing the MAC address
                 for the driver at the MAC control registers.

       Change  : Driver will get the MAC address from NVRAM when
                 the MAC address read from the MAC control
                 registers is all zeros.

       Impact  : All cards.


    3. Problem : On 5704 AX chips, a DMA transfer that uses the last
                 byte on the 4G boundary will trigger a
                 "Host address overflow" error.  This has been fixed
                 in 5704 B0, so we do not want the workaround enabled
                 for this ASIC revision.

       Cause   : A bug in earlier versions of the chip.

       Change  : Change the code to detect only 5704 AX parts and
                 only enable the fix under those circumstances.

       Impact  : 5704 B0 chips only.


    Enhancements:
    -------------
    1. Problem : Transmission error rate and permissible cable lengths
                 suboptimal.
       Change  : Add code to modify default hardware configuration.
       Impact  : All 5702/3/4 AX copper chips.

    2. Problem : Serdes drive level change for 5704S and 5704CIOBES.
       Change  : Change drive transmission level to 1.2V.
       Impact  : 5704S and 5704CIOBES chips.



v6.0.17 (August 05, 2003)
=========================

    Fixes:
    ------
    1. Problem : (CQ8047) Inconsistent messaging for copper and fiber
                 cards.

       Cause   : There was a test for the existence of an upqueue
                 stream (needed later) that caused the reporting
                 function to exit prematurely.

       Change  : The test was also performed closer to where it was
                 needed.  The earlier test was deleted.

       Impact  : 5701 and 5703 fiber cards.


    2. Problem : (CQ7591) Link messages missing slot and port numbers.

       Cause   : Feature request.

       Change  : Added slot and port numbers to link messages.

       Impact  : All chips.


    3. Problem : (CQ7588) Broadcom driver does not support event
                 logging.

       Cause   : Feature request.

       Change  : Added a function which calls a kernel facility, if
                 present, to report link failure.

       Impact  : All chips.


    4. Problem : (CQ8043) Fiber LED not illuminating when link restored
                 when configured in team.

       Cause   : The LED mode was overridden to accomodate another
                 feature.  Upon link down when configured in team, the
                 management software closes the interface to the
                 primary card.  When the link was restored, the LED
                 would not illuminate because they were still
                 overridden.

       Change  : Restore LED mode to default upon interface closure.

       Impact  : All fiber cards.


    5. Problem : No support for 5704 B0 cards.

       Cause   : New product.

       Change  : Added code to support 5704 B0.

       Impact  : 5704 B0


    6. Problem : (CQ8048) Link drop warning is logged twice.

       Cause   : Warning messages are always linked twice.

       Change  : Change the link drop message back down to a notice.

       Impact  : All chips.


v6.0.16 (July 02, 2003)
======================

   Fixes:
   ------
   1. Problem: Kernel panics when calling bcopy to copy a transmit
               buffer (SCO fz 527593).

      Cause: Double copy buffers not always big enough for the entire
             packet.

      Change: Removed PREQS_PHYSCONTIG flag in the tx buffer requirement.
              Added check to make sure the pre-allocated buffer is big enough.

      Impact: Better tx performance in addition to fixing the bug.

v6.0.15 (June 16, 2003)
======================

   Fixes:
   ------
   1. Problem: Link toggles continuously when configuring 5703S or
               another fiber NIC that is directly connected to another
               fiber NIC running Unixware.

      Cause: Because link is immediately up after driver reset, and may
             go down afterwards, the special logic to defer the first
             MAC_HWFAIL_IND does not adequately prevent spurious
             MAC_HWFAIL_IND.

      Change: Modified the logic to defer the first MAC_HWFAIL_IND
              in all cases after driver reset. This will prevent
              any spurious MAC_HWFAIL_IND during the first few seconds
              after driver reset when the link is unstable.

      Impact: None.

v6.0.14 (June 16, 2003)
======================

   Fixes:
   ------
   1. Problem: (CQ8026) 5703S does not failover when cable is disconnected.

      Cause: Fiber NICs do not lose their links when reset, exposing a bug
             in the driver's logic to report MAC_HWFAIL_IND.

      Change: Fixed bug in the code that determines whether or not to
              send MAC_HWFAIL_IND.

      Impact: None.

v6.0.12 (June 12, 2003)
======================

   Fixes:
   ------
   1. Problem: Test suite reported symbol error.

      Cause: One global symbol does not have bcme prefix.

      Change: Changed the symbol to static.

      Impact: None.

   2. Problem: Workaround needed for 5704 AX 4G boundary hardware bug.

      Cause: HW bug.

      Change: Added software workaround.

      Impact: Some performance hit when tx buffers end at around 4GB boundary.

v6.0.11 (June 12, 2003)
======================

   Fixes:
   ------
   1. Problem: Unable to resume a suspended driver. 

      Cause: The device's key in the resource manager was locked
             while calling devmem_mapin. This caused deadlock on
             the resource manager.

      Change: Changed code to call devmem_mapin before getting
              a lock on the device manager.

      Impact: None.

v6.0.10 (June 10, 2003)
======================

   Fixes:
   ------
   1. Problem: Unreliable failover to standby in some cases. 

      Cause: MAC_HWFAIL_IND is not always reliably sent when the link
             goes down due to bug in driver.

      Change: Added changes to fix the bug.

      Impact: None.

v6.0.9 (June 09, 2003)
======================

   Fixes:
   ------
   1. Problem: (CQ #7980) Continuous link up/link down when 2 NICs are
               connected directly back-to-back.

      Cause: MAC_HWFAIL_IND message from the driver when link goes
             down. When netcfg configures a NIC, the driver resets the
             NIC and the other side connected directly will see a link
             down. The other sides sends MAC_HWFAIL_IND, causing that
             NIC to be reset and link to go down. This cycle of link down
             will repeat and never stabilize when NICs are directly
             connected to each other.

      Change: Added logic to prevent sending MAC_HWFAIL_IND in the
              first 5 seconds after driver reset. This breaks the vicious
              cycle.

      Impact: None.

v6.0.8 (June 06, 2003)
=====================

   Fixes:
   ------
   1. Problem: (CQ #7960) Netcfg hangs during configuration of second NIC
               with no link.
      Problem: Fail back from standby to primary unreliable.

      Cause: Spurious MAC_HWFAIL_IND message from the driver.

      Change: Added code to delay the first MAC_HWFAIL_IND after reset.
              Reset causes link to go down and the new code will prevent
              a spurious MAC_HWFAIL_IND.

      Impact: Only affects the first few seconds after driver reset.

   2. Problem: (SCO #527901) Panic during bootup.

      Cause: Null queue pointer passed to putnext from ISR. Although
             the receive routine checks the queue pointer before
             proceeding to process the receive packets, the queue pointer
             may get cleared by the close routine while the receive routine
             is still running.

      Change: Added check in the bcmeclose routine to busy wait for the receive
              routine to complete before clearing the queue pointer.

      Impact: None.

v6.0.6 (June 02, 2003)
=====================

   Fixes:
   ------
   1. Problem: (CQ #7350) When configured as primary with a standby, NIC
               becomes unstable when primary cable is unplugged in certain
               cases.

      Cause: Driver reports default line speed of 1Gbps right after reset
             when link is unknown.

      Change: Added a timeout function to send MAC_HWFAIL_IND a few seconds
              after reset if link is still down.

      Impact: Link changes and driver installation.

   Enhancements:
   -------------
   1. Problem: (CQ 7196) Multiple NICs are detected when subvendor and
               subsystem IDs conflict with the NIC devices.

      Change: Changed AOF files to use vendor and device IDs.

      Impact: Only netconfig.

   2. Problem: (CQ7347) Link down messages are displayed at NOTICE level. 

      Change: Changed link down messages to WARNING.

      Impact: None.

v6.0.4 (May 16, 2003)
=====================

   Enhancements:
   -------------
   1. Problem: Driver does not have OEM IDs for 5703 B0 devices

      Change: Added new OEM IDs.

v6.0.3 (May 08, 2003)
=====================

   Fixes:
   ------
   1. Problem: (CQ #7690) Driver panics in some rare cases when loading
                the driver.

      Cause: Driver calls cm_begin_trans while holding a spinlock. This
             is not allowed as cm_begin_trans may block.

      Change: Changed locking scheme to call cm_begin_trans first if
              necessary before getting spinlocks.

      Impact: Affects driver loading only.

v6.0.2 (April 29, 2003)
=======================

   Fixes:
   ------
   1. Problem: In some extremely rare situations, 5703, 5704, and 5705
               Copper NICs may not link up after a PHY reset.

      Cause: On these PHY cores, there is a small probability of
             lock up after a PHY reset.

      Change: Added code to detect PHY lock up after a PHY reset and
              reset again if lock up is detected.

      Impact: The added lock up detection and recovery code affects
              driver reset and link down events where PHY resets are
              performed.

v6.0.1 (02/25/03)

- Added a new OEM ID in bcfg file.
- Fixed 5704S link up problem when it is set to autoneg and link partner has
  autoneg disabled.

v6.0.0 (02/14/03)

- Added new IDs for 5705 A2 and some new OEM IDs.

v5.0.10 (01/31/03)

- Added new OEM IDs in bcfg files.

v5.0.9 (01/10/03)

- Added 5704S autoneg. workaround.
- Fixed problem detecting 5782.

v5.0.8 (12/20/02)

- Added new OEM IDs.
- Improved flow control.

v5.0.7 (12/13/02)

- Updated with latest OEM IDs.

v5.0.6 (11/15/02)

- Updated driver for 5705 A1.
- Added new OEM IDs.
- Fixed 5704S link up problem.

v5.0.4 (10/18/02)

- Fixed a link related problem on 5704S.
- Created new bcfg files for fiber NICs.

v5.0.3 (10/11/02)

- Added support for 5704S hardware autoneg.
- Fixed jumbo frames problem.
- Fixed symbol errors in MDI cert. test.

v5.0.0 (09/05/02)

- Added support for 5705.

v3.0.2 (07/22/02)

- Fixed hot plug panic.
- Fixed problem with 5704.

v3.0.1 (07/18/02)

- Adjusted coalescing parameters.
- Added vendor/device/subvendor/subsystem IDs in bcfg files for OU801.

v3.0.0 (05/15/02)

- Added support for 5704.

v2.2.13 (7/23/02)

- Adjusted coalescing parameters.
- Added vendor/device/subvendor/subsystem IDs in bcfg files for OU801.
- Fixed hot-plug panic.

v2.2.12 (05/23/02)

- Fixed some OEM info. in bcfg files.

v2.2.11 (05/14/02)

- Added new OEM IDs.
- Added html help page.

v2.2.10 (04/12/02)

- Fixed some Fiber related problems.
- Added the required delay after changing GPIOs.

v2.2.9 (04/03/02)

- Added new OEM subsystem IDs.
- Fixed linkup problem with a fiber switch.
- Fixed flow control problems when autoneg. is disabled.

v2.2.8 (03/28/02)

- Added new device IDs.

v2.2.7 (03/22/02)

- Fixed problem auto-negotiating with 3Com fiber switch.
- Implemented new LED scheme.

v2.2.6 (03/12/02)

- Added fix for certification synch up problems.

v2.2.5 (03/08/02)

- Completed fix for 10Mb certification panic problem.

v2.2.4 (03/08/02)

- Fixed 10Mb certification problem.
- Improved fiber auto negotiation.
- Fixed hang problem when installing 5702/5703 cards.

v2.2.3 (02/27/02)

- Added new PCI IDs for 5702/5703.
- Added Ethernet@WireSpeed.
- Fixed parity errors on 5703 in PCIX systems.

v2.2.1 (02/06/02)

- Fixed some problems with speed settings.

v2.2.0 (02/01/02)

- Fixed problems with 5702/5703.

v2.0.24 (01/10/02)

- Fixed a hang problem when fiber cable is disconnected.
- Added an ioctl call for an OEM.

v2.0.22 (12/12/01)

- Fixed panic problem during driver removal.

v2.0.21 (10/26/01)

- Added support for 5702.

v2.0.20 (09/24/01)

- Fixed a panic caused by loading the driver with no cable attached.

v2.0.19 (09/20/01)

- Fixed hot plug problems.
- Added failover feature.

v2.0.18 (09/11/01)

- Fixed the problem of over counting CRC errors.
- Fixed the problem of late collisions at 1000 Mbps half duplex.

v2.0.16 (08/25/01)

- Fixed a hang problem on 5701A3 fiber cards.

v2.0.14 (08/13/01)

- Fixed an interrupt sharing problem at boot up time.

v2.0.13 (08/06/01)

- Fixed a hang problem on some machines that boot up with no fibre cable
connected.

v2.0.12 (08/03/01)

- Fixed various fibre connection problems.

v2.0.7 (07/16/01)

- Fixed a multiple card problem.

v2.0.6 (07/05/01)

- Fixed the unit number for multiple boards.

v2.0.5 (06/28/01)

- Added support for more boards.
- Fixed some instability problems when running Ganymede Chariot.

v2.0.3 (06/04/01)

- Added OEM support.

v2.0.1 (05/23/01)

- Fixed some MP locking problems.

v1.0.9 (05/16/01)

- Fixed problems in mdi and dlpmdi tests.

v1.0.8 (05/15/01)

- Added support for BCM5701.

v1.7 (03/30/01)

- Added fix for Athlon systems.

v1.6 (03/23/01)

- Fixed symbol conflict problem. 

v1.5 (03/15/01)

- Added Jumbo frame support.
- Added fibre support.
- Improved performance.

v1.4 (02/23/01)

- Added support for PCIX systems.

v1.3 (02/12/01)

- Fixed pkg corruption problem after running netcfg to remove the driver.
- Fixed packet loss error and multicast errors reported by the test suite.
- Added console messages for link changes.

v1.2 (01/25/01)

- Improved performance by adding copy threshold parameters in space.c.

v1.1 (01/15/01)

- Fixed Multiprocessor hang problem.
- Fixed line-speed setting problem.

v1.0 (01/11/01)

- First Release. 


