1. 12 Feb, 2010 2 commits
    • Steve Hodgson's avatar
      sfc: Fix SFE4002 initialisation · 5e2a911c
      Steve Hodgson authored
      From: Steve Hodgson <shodgson@solarflare.com>
      
      Commit 357d46a1 "sfc: QT202x: Remove
      unreliable MMD check at initialisation" broke initialisation of the
      SFE4002.  efx_mdio_reset_mmd() returns a positive value rather than 0
      on success.  The above commit causes this value to be propagated up
      by qt202x_reset_phy(), which is treated as a failure by its callers.
      Change qt202x_reset_phy() to return 0 if successful.
      
      The PCI layer treats >0 as "fail, but please call remove() anyway",
      which means that unloading the driver would cause a crash.  Add a
      WARN_ON() on the failure path of efx_pci_probe() to provide early
      warning if there are any other cases where we do this.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5e2a911c
    • Herbert Xu's avatar
      inet: Remove bogus IGMPv3 report handling · c6b471e6
      Herbert Xu authored
      Currently we treat IGMPv3 reports as if it were an IGMPv2/v1 report.
      This is broken as IGMPv3 reports are formatted differently.  So we
      end up suppressing a bogus multicast group (which should be harmless
      as long as the leading reserved field is zero).
      
      In fact, IGMPv3 does not allow membership report suppression so
      we should simply ignore IGMPv3 membership reports as a host.
      
      This patch does exactly that.  I kept the case statement for it
      so people won't accidentally add it back thinking that we overlooked
      this case.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c6b471e6
  2. 11 Feb, 2010 1 commit
    • Damian Lukowski's avatar
      tcp: fix ICMP-RTO war · 59885640
      Damian Lukowski authored
      Make sure, that TCP has a nonzero RTT estimation after three-way
      handshake. Currently, a listening TCP has a value of 0 for srtt,
      rttvar and rto right after the three-way handshake is completed
      with TCP timestamps disabled.
      This will lead to corrupt RTO recalculation and retransmission
      flood when RTO is recalculated on backoff reversion as introduced
      in "Revert RTO on ICMP destination unreachable"
      (f1ecd5d9).
      This behaviour can be provoked by connecting to a server which
      "responds first" (like SMTP) and rejecting every packet after
      the handshake with dest-unreachable, which will lead to softirq
      load on the server (up to 30% per socket in some tests).
      
      Thanks to Ilpo Jarvinen for providing debug patches and to
      Denys Fedoryshchenko for reporting and testing.
      
      Changes since v3: Removed bad characters in patchfile.
      Reported-by: default avatarDenys Fedoryshchenko <denys@visp.net.lb>
      Signed-off-by: default avatarDamian Lukowski <damian@tvk.rwth-aachen.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      59885640
  3. 10 Feb, 2010 5 commits
  4. 09 Feb, 2010 7 commits
  5. 08 Feb, 2010 9 commits
  6. 05 Feb, 2010 1 commit
  7. 04 Feb, 2010 15 commits