lkml.org 
[lkml]   [2019]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 036/151] scsi: dc395x: fix DMA API usage in sg_update_list
    Date
    From: Christoph Hellwig <hch@lst.de>

    [ Upstream commit 6c404a68bf83b4135a8a9aa1c388ebdf98e8ba7f ]

    We need to transfer device ownership to the CPU before we can manipulate
    the mapped data.

    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/scsi/dc395x.c | 5 +++++
    1 file changed, 5 insertions(+)

    diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c
    index 9da0ac360848f..830b2d2dcf206 100644
    --- a/drivers/scsi/dc395x.c
    +++ b/drivers/scsi/dc395x.c
    @@ -1972,6 +1972,11 @@ static void sg_update_list(struct ScsiReqBlk *srb, u32 left)
    xferred -= psge->length;
    } else {
    /* Partial SG entry done */
    + pci_dma_sync_single_for_cpu(srb->dcb->
    + acb->dev,
    + srb->sg_bus_addr,
    + SEGMENTX_LEN,
    + PCI_DMA_TODEVICE);
    psge->length -= xferred;
    psge->address += xferred;
    srb->sg_index = idx;
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-11-27 21:41    [W:4.249 / U:0.444 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site