1. 31 7月, 2015 1 次提交
  2. 02 6月, 2015 1 次提交
  3. 10 4月, 2015 4 次提交
  4. 19 1月, 2015 1 次提交
    • B
      ipr: wait for aborted command responses · 6cdb0817
      Brian King 提交于
      Fixes a race condition in abort handling that was injected
      when multiple interrupt support was added. When only a single
      interrupt is present, the adapter guarantees it will send
      responses for aborted commands prior to the response for the
      abort command itself. With multiple interrupts, these responses
      generally come back on different interrupts, so we need to
      ensure the abort thread waits until the aborted command is
      complete so we don't perform a double completion. This race
      condition was being hit frequently in environments which
      were triggering command timeouts, which was resulting in
      a double completion causing a kernel oops.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Reviewed-by: NWendy Xiong <wenxiong@linux.vnet.ibm.com>
      Tested-by: NWendy Xiong <wenxiong@linux.vnet.ibm.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      6cdb0817
  5. 15 12月, 2014 1 次提交
  6. 12 11月, 2014 1 次提交
  7. 26 9月, 2014 1 次提交
  8. 25 9月, 2014 1 次提交
  9. 20 3月, 2014 5 次提交
  10. 20 12月, 2013 1 次提交
  11. 19 12月, 2013 1 次提交
  12. 26 8月, 2013 1 次提交
  13. 05 6月, 2013 1 次提交
  14. 13 5月, 2013 1 次提交
  15. 03 5月, 2013 1 次提交
  16. 24 2月, 2013 1 次提交
  17. 30 1月, 2013 6 次提交
  18. 24 8月, 2012 2 次提交
  19. 28 3月, 2012 3 次提交
  20. 01 3月, 2012 1 次提交
  21. 07 1月, 2012 1 次提交
    • J
      PCI: Rework config space blocking services · fb51ccbf
      Jan Kiszka 提交于
      pci_block_user_cfg_access was designed for the use case that a single
      context, the IPR driver, temporarily delays user space accesses to the
      config space via sysfs. This assumption became invalid by the time
      pci_dev_reset was added as locking instance. Today, if you run two loops
      in parallel that reset the same device via sysfs, you end up with a
      kernel BUG as pci_block_user_cfg_access detect the broken assumption.
      
      This reworks the pci_block_user_cfg_access to a sleeping service
      pci_cfg_access_lock and an atomic-compatible variant called
      pci_cfg_access_trylock. The former not only blocks user space access as
      before but also waits if access was already locked. The latter service
      just returns false in this case, allowing the caller to resolve the
      conflict instead of raising a BUG.
      
      Adaptions of the ipr driver were originally written by Brian King.
      Acked-by: NBrian King <brking@linux.vnet.ibm.com>
      Acked-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      fb51ccbf
  22. 31 10月, 2011 1 次提交
  23. 20 10月, 2011 1 次提交
    • B
      [SCSI] ipr: Fix BUG on adapter dump timeout · 4c647e90
      Brian King 提交于
      If an adapter dump times out, the ipr driver will abort the
      dump and proceed to reset and recover the adapter. When an
      adapter dump completes, the work thread which is reading the
      adapter dump will initiate an adapter reset to recover the
      adapter. However, when the adapter dump gets aborted, the
      work thread should not initiate an adapter reset, since an
      adapter reset is already in progress. This fixes a case of
      calling pci_block_user_cfg_access overlapped, which results
      in a BUG.
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      4c647e90
  24. 16 10月, 2011 1 次提交
  25. 22 9月, 2011 1 次提交
    • B
      [SCSI] ipr: Stop reading adapter dump prematurely · 41e9a696
      Brian King 提交于
      When the ipr driver decides to dump the adapter, it changes the
      sdt_state to GET_DUMP, then prepares the adapter so that the dump
      can be read. However, if the ipr worker thread wakes up for some
      reason before the driver has put the adapter in a state where it
      can succesfully dump the adapter, the driver will start dumping
      the adapter too early, which can potentially trigger a BUG check
      in the pci config blocking API. Fix this by adding a new
      sdt_state to differentiate between the ipr driver wanting to dump
      the adapter in the near future and wanting to dump the adapter now.
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      41e9a696