                              Release Notes
                       Broadcom BCM4400 Linux Driver
                              Version 3.0.7
                                10/31/2003

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

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


v3.0.7 (Oct 31, 2003)
=====================

   Fixes:
   ------
   1. Problem: (CQ #8782) Driver cannot bring up the link when the
               system was previously running Windows without a cold
               boot.

      Cause: Windows driver may power down the PHY and the Linux
             driver did not take steps to power it back on.

      Change: Changed the code to always power on the PHY during
              chip reset.

      Impact: None.

v3.0.6 (Oct 28, 2003)
=====================

   Fixes:
   ------
   1. Problem: (CQ #8762) Activity LED stays on solid when speed is
               forced.

      Cause: Acivity LED in PHY register 26 not enabled.

      Change: Fixed by enabling activity LED after PHY reset.

      Imapct: None.

v3.0.5 (Oct 24, 2003)
=====================

   Fixes:
   ------
   1. Problem: (CQ #8740) System freezes when tx_pkt_desc_cnt is set to
               a non-default value.

      Cause: Driver has a bug that assumes that the number of tx
             descriptors is always a power of 2.

      Change: Fixed the bug by using a tx ring size that is the next power
              of 2 size bigger than the number of tx descriptors selected.

      Impact: None.

v3.0.4 (Oct 17, 2003)
=====================

   Fixes:
   ------
   1. Problem: Some packets transmitted from 4401 have CRC errors.

      Cause: CRC errors possibly caused by resets when there is rx
             fifo underrun.

      Change: Added some delay to allow pending transmit packets to
              drain before reset.

      Imapct: None.

v3.0.3 (Oct 08, 2003)
=====================

   Fixes:
   ------
   1. Problem: (CQ #8576) Cannot pass traffic after changing line speed
               to 10 Mbps.

      Cause: For some reason, a PHY reset is needed after changing speed.

      Change: Added delay after forcing link down to make sure that the
              link partner sees the link down and added a PHY reset after
              that before changing the line speed.

      Impact: None.

   2. Problem: (CQ #8578) 4401B0 stops passing traffic under stress and
                generates watchdog transmit timeouts. NIC does not
                recover from timeout reset.

      Cause: Possibly because MAC reset is skipped in the chip reset
             sequence for 4401B0.

      Change: Added MAC reset back eventhough it is supposedly not
              required for B0.

      Impact: None.

v3.0.2 (Sep 26, 2003)
=====================

   Fixes:
   ------
   1. Problem: (CQ #8476) ethtool fails to change line speed from auto
               to fixed.

      Cause: A link down is necessary to force the link partner to
             recognize the speed/duplex change.

      Change: Fixed by forcing a link-down before speed/duplex changes.

      Impact: None.

    2. Problem: (CQ #8514) Poor performance when connected to some hubs.

       Cause: Driver is rejecting some good packets in half-duplex.

       Change: Changed the driver to not reject packets when Rx Symbol
               Error is the only error reported.

       Impact: none.

    3. Problem: (CQ #8471) Cannot upgrade drivers in Mandrake 9.1

       Cause: Mandrake uses new 3rdparty module path.

       Change: Modified makefile to accomodate new path.

       Imapct: None.

       
v3.0.1 (Aug 25, 2003)
=====================

   Fixes:
   ------
   1. Problem: WOL does not work on 4401-B0.

      Change: Fixed the logic to program wol on B0.

      Impact: None.

v3.0.0 (Aug 20, 2003)
=====================

   Enhancements:
   -------------
   1. Problem: Driver does not work on 4401 B0.

      Change: Added changes to support 4401 B0.

      Impact: None.

    2. Problem: Driver does not work on 2.5 kernels.

       Change: Updated driver and Makefile to work on 2.5 kernels.

       Impact: None.

    3. Problem: Driver does not use NAPI.

       Change: Updated driver to use NAPI if available.

       Impact: None.

     4. Problem: Driver lacks support for the newer ethtool commands.

        Change: Added GSTRINGS and GSTATS ioctls. More will be added
                later.

        Impact: None.

v2.0.5 (July 02, 2003)
======================

   Fixes:
   ------
   1. Problem: Driver panics when loading on 2.4.20-18.7 RH kernel.

      Cause: Makefile compiles driver with kgcc, making the driver
             incompatible with the kernel that was compiled with gcc.

      Change: Modified Makefile to choose kgcc only if the kernel
              was compiled with kgcc.

      Impact: None.

   2. Problem: Link error when compiling driver into kernel with
               CONFIG_HOTPLUG not defined.

      Cause: __devexit_p not used in the bcm5700_remove_one pointer.

      Change: Added __devexit_p for the bcm5700_remove_one pointer.

      Impact: None.

v2.0.4 (June 26, 2003)
======================

   Fixes:
   ------
   1. Problem: ifconfig freezes some machines.

      Cause: Chip generates target aborts when MAC registers are
             accessed before chip reset.

      Change: Changed LM_ResetAdapter to eliminate certain register
              accesses before chip reset.

      Impact: None.

v2.0.3 (June 25, 2003)
======================

   Fixes:
   ------
   1. Problem: Loading driver hangs system on a certain machine.

      Cause: Chip generates target aborts when MAC registers are
             accessed before chip reset.

      Change: Removed the call to LM_SetupPhy in LM_GetAdapterInfo.

      Impact: Unable to show PHY advertisement registers in /proc file
              before ifup.

v2.0.2 (April 28, 2003)
=======================

   Fixes:
   ------
   1. Problem: (CQ #7621) "Flow_Control_Advertisement" and
               "Speed_Advertisement" have no initial values in /proc
               file

      Cause: Related varaibles not initialized before ifup.

      Change: Added LM_SetupPhy call in LM_GetAdapterInfo.

      Impact: none.

v2.0.1 (April 23, 2003)
=======================

   Fixes:
   ------
   1. Problem: (CQ #7421) "Part_Number" has no value in /proc file

      Cause: 4401 does not have VPD.

      Change: Removed "Part_Number" entry from /proc file

      Impact: Only /proc file.

   Enhancements:
   -------------
   1. Request: No warning when compiling the driver without kernel
               headers

      Change: Changed Makefile to print a warning when kernel header
              files are not found.

      Impact: None.


2.0.0 (03/25/03)

- Fixed a crash problem under heavy traffic caused by reset and tasklet running
  at the same time.

1.0.3 (02/25/03)

- Fixed multiple problems with the reset logic.
- Added magic packet WOL.
- Fixed compiler warnings.

1.0.2 (09/06/02)

- Fixed the problem of not passing traffic after stress.

1.0.1 (08/26/02)

- Fixed the problem of resets during heavy traffic.

1.0.0 (08/22/02)

- First release.
