
      ---------------------------------------------------------
       AMD 802.11 Access Point / Station Firmware 2.01 Release
                               October 1998
      ---------------------------------------------------------

         (c) Copyright Advanced Micro Devices, Inc. 1997, 1998


This is an update for the AMD PCNetMobile 802.11 firmware which fixes two
errors.  One error caused the firmware to quit receiving 'short' frames and
the other to corrupt memory and crash the firmware.  In addition the files
pcmciaat.asm and startup.inc have been added to the source distribution.

The error that caused the firmware to quit receiving frames is in the core
firmware.  The file which was affected is phy_rx.obj.  The routine failed
after receiption of a long duplicate frame followed by a short frame.  A
variable was left over from the long frame processing and made the short
frame appear as if it were a duplicate.  Thus, all subsequent short frames
were lost until the intervention of a long frame.

The error that cause the firmware to corrupt memory is in the radio API
firmware.  The files affected are radioapi.obj (radioapi.cpp) and api_asm.asm
(api_asm.obj).  This situation is due to an undetected CRC16 error in the
PLCP header.  The routine get_PLCP_info in the api_asm.asm file assumed that
if the receive frame rate is not 2 Mb then it is 1 Mb.  The length calculated
by the length field in the PLCP information was used to recover unused buffer
memory after the receive process was complete.  Later, in the process of
preparing the descriptor to pass to the host interface the value in the PLCP
was interpreted by the routine get_length in radioapi.cpp to assume that if
the receive frame rate is not 1 Mb then it must be 2 Mb and thus the
calculations were different and the buffer management pointers became
misaligned.

