1. 21 Jan, 2009 29 commits
  2. 20 Jan, 2009 8 commits
  3. 19 Jan, 2009 3 commits
    • Inaky Perez-Gonzalez's avatar
      wimax/i2400m: error paths that need to free an skb should use kfree_skb() · f4895b8b
      Inaky Perez-Gonzalez authored
      
      Roel Kluin reported a bug in two error paths where skbs were wrongly
      being freed using kfree(). He provided a fix where it was replaced to
      kfree_skb(), as it should be.
      
      However, in i2400mu_rx(), the error path was missing returning an
      indication of the failure. Changed to reset rx_skb to NULL and return
      it to the caller, i2400mu_rxd(). It will be treated as a transient
      error and just ignore the packet.
      
      Depending on the buffering conditions inside the device, the data
      packet might be dropped or the device will signal the host again for
      data-ready-to-read and the host will retry.
      Signed-off-by: default avatarInaky Perez-Gonzalez <inaky@linux.intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f4895b8b
    • Gabriel Paubert's avatar
      mv643xx_eth: prevent interrupt storm on ifconfig down · fe65e704
      Gabriel Paubert authored
      
      Contrary to what the docs say, the 'extended interrupt cause' bit in
      the interrupt cause register (bit 1) appears to not be maskable on at
      least some of the mv643xx_eth platforms, making writing zeroes to the
      interrupt mask register but not the extended interrupt mask register
      insufficient to stop interrupts from occuring.  Therefore, also write
      zeroes to the extended interrupt mask register when shutting down the
      port.
      
      This fixes the interrupt storm seen on the Pegasos board when shutting
      down the interface.
      Signed-off-by: default avatarLennert Buytenhek <buytenh@marvell.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fe65e704
    • Lennert Buytenhek's avatar
      mv643xx_eth: fix multicast filter programming · 2b448334
      Lennert Buytenhek authored
      Commit 66e63ffb
      
       ("mv643xx_eth:
      implement ->set_rx_mode()") cleaned up mv643xx_eth's multicast filter
      programming, but broke it as well.
      
      The non-special multicast filter table (for multicast addresses that
      are not of the form 01:00:5e:00:00:xx) consists of 256 hash table
      buckets organised as 64 32-bit words, where the 'accept' bits are
      in the LSB of each byte, so in bits 24 16 8 0 of each 32-bit word.
      The old code got this right, but the referenced commit broke this by
      using bits 3 2 1 0 instead.  This commit fixes this up.
      Signed-off-by: default avatarLennert Buytenhek <buytenh@marvell.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2b448334