1. 13 6月, 2017 14 次提交
  2. 01 6月, 2017 3 次提交
  3. 21 5月, 2017 1 次提交
  4. 18 5月, 2017 2 次提交
  5. 17 5月, 2017 15 次提交
  6. 09 5月, 2017 3 次提交
    • C
      scsi: lpfc: ensure els_wq is being checked before destroying it · 019c0d66
      Colin Ian King 提交于
      I believe there is a typo on the wq destroy of els_wq, currently the
      driver is checking if els_cq is not null and I think this should be a
      check on els_wq instead.
      
      Detected by CoverityScan, CID#1411629 ("Copy-paste error")
      Signed-off-by: NColin Ian King <colin.king@canonical.com>
      Acked-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      019c0d66
    • D
      scsi: lpfc: double lock typo in lpfc_ns_rsp() · 0d618cf4
      Dan Carpenter 提交于
      There is a double lock bug here so this will deadlock instead of
      unlocking.
      
      Fixes: 1c5b12f7 ("Fix implicit logo and RSCN handling for NVMET")
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: NJames Smart <james.smart@broadcom.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      0d618cf4
    • J
      scsi: lpfc: Fix panic on BFS configuration · 4492b739
      James Smart 提交于
      To select the appropriate shost template, the driver is issuing a
      mailbox command to retrieve the wwn. Turns out the sending of the
      command precedes the reset of the function.  On SLI-4 adapters, this is
      inconsequential as the mailbox command location is specified by dma via
      the BMBX register. However, on SLI-3 adapters, the location of the
      mailbox command submission area changes. When the function is first
      powered on or reset, the cmd is submitted via PCI bar memory. Later the
      driver changes the function config to use host memory and DMA. The
      request to start a mailbox command is the same, a simple doorbell write,
      regardless of submission area.  So.. if there has not been a boot driver
      run against the adapter, the mailbox command works as defaults are
      ok. But, if the boot driver has configured the card and, and if no
      platform pci function/slot reset occurs as the os starts, the mailbox
      command will fail. The SLI-3 device will use the stale boot driver dma
      location. This can cause PCI eeh errors.
      
      Fix is to reset the sli-3 function before sending the mailbox command,
      thus synchronizing the function/driver on mailbox location.
      
      Note: The fix uses routines that are typically invoked later in the call
      flow to reset the sli-3 device. The issue in using those routines is
      that the normal (non-fix) flow does additional initialization, namely
      the allocation of the pport structure. So, rather than significantly
      reworking the initialization flow so that the pport is alloc'd first,
      pointer checks are added to work around it. Checks are limited to the
      routines invoked by a sli-3 adapter (s3 routines) as this fix/early call
      is only invoked on a sli3 adapter. Nothing changes post the
      fix. Subsequent initialization, and another adapter reset, still occur -
      both on sli-3 and sli-4 adapters.
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <james.smart@broadcom.com>
      Fixes: 96418b5e ("scsi: lpfc: Fix eh_deadline setting for sli3 adapters.")
      Cc: stable@vger.kernel.org # v4.11+
      Reviewed-by: NEwan D. Milne <emilne@redhat.com>
      Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      4492b739
  7. 26 4月, 2017 1 次提交
    • J
      lpfc: Fix memory corruption of the lpfc_ncmd->list pointers · bbe3012b
      James Smart 提交于
      lpfc was changing the private pointer that is set/maintained by
      the nvme_fc transport. This caused two issues: a) the transport, on
      teardown may erroneous attempt to free whatever address was set;
      and b) lfpc uses any value set in lpfc_nvme_fcp_abort() and
      assumes its a valid io request.
      
      Correct issue by properly defining a context structure for lpfc.
      Lpfc also updated to clear the private context structure on io
      completion.
      
      Since this bug caused scrutiny of the way lpfc moves local request
      structures between lists, also cleaned up list_del()'s to
      list_del_inits()'s.
      
      This is a nvme-specific bug. The patch was cut against the
      linux-block tree, for-4.12/block tree. It should be pulled in through
      that tree.
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <james.smart@broadcom.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      bbe3012b
  8. 24 4月, 2017 1 次提交