lkml.org 
[lkml]   [2008]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/4] I/OAT: fix channel resources free for not allocated channels
    Date
    From: Maciej Sosnowski <maciej.sosnowski@intel.com>

    If the ioatdma driver is loaded but not used it does not allocate descriptors.
    Before it frees channel resources it should first be sure
    that they have been previously allocated.

    Cc: <stable@kernel.org>
    Signed-off-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
    Tested-by: Tom Picard <tom.s.picard@intel.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    ---

    drivers/dma/ioat_dma.c | 7 +++++++
    1 files changed, 7 insertions(+), 0 deletions(-)

    diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c
    index b0438c4..687eef7 100644
    --- a/drivers/dma/ioat_dma.c
    +++ b/drivers/dma/ioat_dma.c
    @@ -807,6 +807,12 @@ static void ioat_dma_free_chan_resources
    struct ioat_desc_sw *desc, *_desc;
    int in_use_descs = 0;

    + /* Before freeing channel resources first check
    + * if they have been previously allocated for this channel.
    + */
    + if (ioat_chan->desccount == 0)
    + return;
    +
    tasklet_disable(&ioat_chan->cleanup_task);
    ioat_dma_memcpy_cleanup(ioat_chan);

    @@ -869,6 +875,7 @@ static void ioat_dma_free_chan_resources
    ioat_chan->last_completion = ioat_chan->completion_addr = 0;
    ioat_chan->pending = 0;
    ioat_chan->dmacount = 0;
    + ioat_chan->desccount = 0;
    ioat_chan->watchdog_completion = 0;
    ioat_chan->last_compl_desc_addr_hw = 0;
    ioat_chan->watchdog_tcp_cookie =


    \
     
     \ /
      Last update: 2008-11-07 12:59    [W:5.223 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site