1. 19 4月, 2018 2 次提交
  2. 11 1月, 2018 3 次提交
  3. 27 6月, 2017 11 次提交
  4. 14 4月, 2017 12 次提交
  5. 12 1月, 2017 2 次提交
    • U
      scsi: cxlflash: Cancel scheduled workers before stopping AFU · 0df5bef7
      Uma Krishnan 提交于
      When processing an AFU asynchronous interrupt, if the action results in an
      operation that requires off level processing (a link reset for example),
      the worker thread is scheduled. In the meantime a reset event (i.e.: EEH)
      could unmap the AFU to recover. This results in an Oops when the worker
      thread tries to access the AFU mapping.
      
      [c000000f17e03b90] d000000007cd5978 cxlflash_worker_thread+0x268/0x550
      [c000000f17e03c40] c00000000011883c process_one_work+0x1dc/0x680
      [c000000f17e03ce0] c000000000118e80 worker_thread+0x1a0/0x520
      [c000000f17e03d80] c000000000126174 kthread+0xf4/0x100
      [c000000f17e03e30] c00000000000a47c ret_from_kernel_thread+0x5c/0xe0
      
      In an effort to avoid this, a mapcount was introduced in
      commit b45cdbaf ("cxlflash: Resolve oops in wait_port_offline")
      but due to the race condition described above, this solution is incomplete.
      
      In order to fully resolve this problem and to simplify things, this commit
      removes the mapcount solution. Instead, the scheduled worker thread is
      cancelled after interrupts have been disabled and prior to the mapping
      being freed.
      
      Fixes: b45cdbaf ("cxlflash: Resolve oops in wait_port_offline")
      Signed-off-by: NUma Krishnan <ukrishn@linux.vnet.ibm.com>
      Acked-by: NMatthew R. Ochs <mrochs@linux.vnet.ibm.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      0df5bef7
    • M
      scsi: cxlflash: Support SQ Command Mode · 696d0b0c
      Matthew R. Ochs 提交于
      The SISLite specification outlines a new queuing model to improve
      over the MMIO-based IOARRIN model that exists today. This new model
      uses a submission queue that exists in host memory and is shared with
      the device. Each entry in the queue is an IOARCB that describes a
      transfer request. When requests are submitted, IOARCBs ('current'
      position tracked in host software) are populated and the submission
      queue tail pointer is then updated via MMIO to make the device aware
      of the requests.
      Signed-off-by: NMatthew R. Ochs <mrochs@linux.vnet.ibm.com>
      Signed-off-by: NUma Krishnan <ukrishn@linux.vnet.ibm.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      696d0b0c
  6. 01 12月, 2016 8 次提交
  7. 09 3月, 2016 2 次提交