1. 06 Jul, 2009 4 commits
  2. 04 Jul, 2009 22 commits
  3. 02 Jul, 2009 7 commits
  4. 01 Jul, 2009 7 commits
    • Eric W. Biederman's avatar
      Revert "ipv4: arp announce, arp_proxy and windows ip conflict verification" · f8a68e75
      Eric W. Biederman authored
      This reverts commit 73ce7b01.
      
      After discovering that we don't listen to gratuitious arps in 2.6.30
      I tracked the failure down to this commit.
      
      The patch makes absolutely no sense.  RFC2131 RFC3927 and RFC5227.
      are all in agreement that an arp request with sip == 0 should be used
      for the probe (to prevent learning) and an arp request with sip == tip
      should be used for the gratitous announcement that people can learn
      from.
      
      It appears the author of the broken patch got those two cases confused
      and modified the code to drop all gratuitous arp traffic.  Ouch!
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarEric W. Biederman <ebiederm@aristanetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f8a68e75
    • Alexander Duyck's avatar
      igb: return PCI_ERS_RESULT_DISCONNECT on permanent error · 59ed6eec
      Alexander Duyck authored
      PCI drivers that implement the io_error_detected callback should return
      PCI_ERS_RESULT_DISCONNECT if the state passed in is
      pci_channel_io_perm_failure.  This patch fixes the issue for igb.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      59ed6eec
    • Mike Mason's avatar
      e1000e: io_error_detected callback should return PCI_ERS_RESULT_DISCONNECT · c93b5a76
      Mike Mason authored
      on permanent failure
      
      PCI drivers that implement the io_error_detected callback
      should return PCI_ERS_RESULT_DISCONNECT if the state
      passed in is pci_channel_io_perm_failure.  This state is not
      checked in many of the network drivers.
      
      This patch fixes the omission in the e1000e driver.
      Signed-off-by: default avatarMike Mason <mmlnx@us.ibm.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c93b5a76
    • Andre Detsch's avatar
      e1000: return PCI_ERS_RESULT_DISCONNECT on permanent error · eab63302
      Andre Detsch authored
      PCI drivers that implement the io_error_detected callback
      should return PCI_ERS_RESULT_DISCONNECT if the state
      passed in is pci_channel_io_perm_failure.  This state is
      not checked in many of the network drivers.
      
      The patch fixes the omission in the e1000 driver.
      
      Based on Mike Mason's similar patch for e1000e.
      Signed-off-by: default avatarAndre Detsch <adetsch@br.ibm.com>
      CC: Mike Mason <mmlnx@us.ibm.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      eab63302
    • Jesse Brandeburg's avatar
      e1000: fix unmap bug · 679be3ba
      Jesse Brandeburg authored
      as reported by kerneloops.org
      
      [  121.781161] ------------[ cut here ]------------
      [  121.781171] WARNING: at lib/dma-debug.c:793 check_unmap+0x14e/0x577()
      [  121.781173] Hardware name: S5520HC
      [  121.781177] e1000 0000:0a:00.0: DMA-API: device driver tries to free DMA
      memory it has not allocated [device address=0x00000001d688b0fa] [size=1522
      bytes]
      [  121.781180] Modules linked in: e1000 mdio  dca [last unloaded: ixgbe]
      [  121.781187] Pid: 4793, comm: bash Tainted: P 2.6.30-master-06161113 #3
      [  121.781190] Call Trace:
      [  121.781195]  [<ffffffff8123056f>] ? check_unmap+0x14e/0x577
      [  121.781201]  [<ffffffff81057a19>] warn_slowpath_common+0x77/0x8f
      [  121.781205]  [<ffffffff81057ae1>] warn_slowpath_fmt+0x9f/0xa1
      [  121.781212]  [<ffffffff81477ce2>] ? _spin_lock_irqsave+0x3f/0x49
      [  121.781216]  [<ffffffff8122fa97>] ? get_hash_bucket+0x28/0x33
      [  121.781220]  [<ffffffff8123056f>] check_unmap+0x14e/0x577
      [  121.781225]  [<ffffffff810e4f48>] ? check_bytes_and_report+0x38/0xcb
      [  121.781230]  [<ffffffff81230bbf>] debug_dma_unmap_page+0x80/0x92
      [  121.781234]  [<ffffffff8122e549>] ? unmap_single+0x1a/0x4e
      [  121.781239]  [<ffffffff813901e1>] ? __kfree_skb+0x74/0x78
      [  121.781250]  [<ffffffffa00662ef>] pci_unmap_single+0x64/0x6d [e1000]
      [  121.781259]  [<ffffffffa0066344>] e1000_clean_rx_ring+0x4c/0xbf [e1000]
      [  121.781268]  [<ffffffffa00663df>] e1000_clean_all_rx_rings+0x28/0x36 [e1000]
      [  121.781277]  [<ffffffffa0067464>] e1000_down+0x138/0x141 [e1000]
      [  121.781286]  [<ffffffffa00681c2>] __e1000_shutdown+0x6b/0x198 [e1000]
      [  121.781296]  [<ffffffffa0068405>] e1000_suspend+0x17/0x50 [e1000]
      [  121.781301]  [<ffffffff81237665>] pci_legacy_suspend+0x3b/0xbe
      [  121.781305]  [<ffffffff81237bc6>] pci_pm_suspend+0x3e/0xf1
      [  121.781310]  [<ffffffff812eaf1c>] pm_op+0x57/0xde
      [  121.781314]  [<ffffffff812eb444>] dpm_suspend_start+0x31e/0x470
      [  121.781319]  [<ffffffff810877da>] suspend_devices_and_enter+0x3e/0x1a2
      [  121.781323]  [<ffffffff81087a0f>] enter_state+0xd1/0x127
      [  121.781327]  [<ffffffff8108717a>] state_store+0xa7/0xc9
      [  121.781332]  [<ffffffff81221843>] kobj_attr_store+0x17/0x19
      [  121.781336]  [<ffffffff8113c01e>] sysfs_write_file+0xe5/0x121
      [  121.781341]  [<ffffffff810ed165>] vfs_write+0xab/0x105
      [  121.781344]  [<ffffffff810ed279>] sys_write+0x47/0x6d
      [  121.781349]  [<ffffffff81027aab>] system_call_fastpath+0x16/0x1b
      [  121.781352] ---[ end trace 97bacaaac2ed7786 ]---
      
      Fix is to correctly zero out internal ->dma value when unmapping
      and make sure never to unmap unless there specifically was a mapping done.
      Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      679be3ba
    • Jesse Brandeburg's avatar
      igb: fix unmap length bug · 91615f76
      Jesse Brandeburg authored
      driver was mixing NET_IP_ALIGN count bytes in map/unmap calls
      unevenly. Only map the bytes that the hardware might dma into
      
      also fix unmap related bug where ->dma was not being cleared
      after unmap
      Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      91615f76
    • Jesse Brandeburg's avatar
      ixgbe: fix unmap length bug · 4f57ca6e
      Jesse Brandeburg authored
      This patch addresses three WARN_ON statements from DMA-API debug code
      
      ixgbe is mapping more than it unmaps, reduce the length of the map call and
      remove the "used once" local variable.
      
      found by Joerg Roedel <joerg.roedel@amd.com> in 2.6.30, so is a candidate
      for -stable.
      
      in addition, fix missing ->dma = 0 after unmap to prevent double free with
      pci_unmap_single
      
      and lastly, don't unmap (half) pages that aren't mapped.
      Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      CC: Joerg Roedel <joerg.roedel@amd.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4f57ca6e