Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Mar 2009 00:52:30 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/dev/sis if_sis.c if_sisreg.h
Message-ID:  <200903190054.n2J0s9vb057210@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
yongari     2009-03-19 00:52:30 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_7)
    sys/dev/sis          if_sis.c if_sisreg.h 
  Log:
  SVN rev 190008 on 2009-03-19 00:52:30Z by yongari
  
  MFC r185784:
    Fix a long standing VLAN tagged frame handling bug.
    When VLAN tagged frame is received the hardware sets 'LONG' bit of
    Rx status word. It is always set when the size of received frame
    exceeded 1518 bytes, including CRC. This VLAN tagged frame clears
    'OK' bit of Rx status word such that driver should not rely on 'OK'
    bit of Rx status word to pass the VLAN tagged frame to upper stack.
  
    To fix the bug, don't use SIS_CMDSTS_PKT_OK for Rx error check and
    introduce SIS_RXSTAT_ERROR macro that checks Rx errors. If we are
    configured to accept VLAN tagged frames and the received frame size
    is less than or equal to maximum allowed length of VLAN tagged
    frame, clear 'LONG' bit of Rx status word before checking Rx
    errors.
  
    Reported by:  Vladimir Ermako < samflanker <> gmail DOT com >
    Tested by:    Vladimir Ermako < samflanker <> gmail DOT com >
  
  Revision  Changes    Path
  1.7.2.2   +5 -1      src/sys/dev/sis/if_sis.c
  1.2.2.2   +5 -0      src/sys/dev/sis/if_sisreg.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903190054.n2J0s9vb057210>