1. 25 4月, 2007 3 次提交
    • D
      usb-net/pegasus: fix pegasus carrier detection · c43c49bd
      Dan Williams 提交于
      Broken by 4a1728a2 which switched the
      return semantics of read_mii_word() but didn't fix usage of
      read_mii_word() to conform to the new semantics.
      
      Setting carrier to off based on the NO_CARRIER flag is also incorrect as
      that flag only triggers on TX failure and therefore isn't correct when
      no frames are being transmitted.  Since there is already a 2*HZ MII
      carrier check going on, defer to that.
      
      Add a TRUST_LINK_STATUS feature flag for adapters where the LINK_STATUS
      flag is actually correct, and use that rather than the NO_CARRIER flag.
      Signed-off-by: NDan Williams <dcbw@redhat.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      c43c49bd
    • N
      sis900: Allocate rx replacement buffer before rx operation · b748d9e3
      Neil Horman 提交于
      	The sis900 driver appears to have a bug in which the receive routine
      passes the skbuff holding the received frame to the network stack before
      refilling the buffer in the rx ring.  If a new skbuff cannot be allocated, the
      driver simply leaves a hole in the rx ring, which causes the driver to stop
      receiving frames and become non-recoverable without an rmmod/insmod according to
      reporters.  This patch reverses that order, attempting to allocate a replacement
      buffer first, and receiving the new frame only if one can be allocated.  If no
      skbuff can be allocated, the current skbuf in the rx ring is recycled, dropping
      the current frame, but keeping the NIC operational.
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      b748d9e3
    • A
      [netdrvr] depca: handle platform_device_add() failure · d91c088b
      Andrea Righi 提交于
      The following patch fixes a kernel bug in depca_platform_probe().
      
      We don't use a dynamic pointer for pldev->dev.platform_data, so it seems
      that the correct way to proceed if platform_device_add(pldev) fails is
      to explicitly set the pldev->dev.platform_data pointer to NULL, before
      calling the platform_device_put(pldev), or it will be kfree'ed by
      platform_device_release().
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      d91c088b
  2. 24 4月, 2007 25 次提交
  3. 22 4月, 2007 4 次提交
  4. 21 4月, 2007 8 次提交