lkml.org 
[lkml]   [2022]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 36/38] dmaengine: at_xdma: handle errors of at_xdmac_alloc_desc() correctly
    Date
    From: Michael Walle <michael@walle.cc>

    commit 3770d92bd5237d686e49da7b2fb86f53ee6ed259 upstream.

    It seems that it is valid to have less than the requested number of
    descriptors. But what is not valid and leads to subsequent errors is to
    have zero descriptors. In that case, abort the probing.

    Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel eXtended DMA Controller driver")
    Signed-off-by: Michael Walle <michael@walle.cc>
    Link: https://lore.kernel.org/r/20220526135111.1470926-1-michael@walle.cc
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/dma/at_xdmac.c | 5 +++++
    1 file changed, 5 insertions(+)

    --- a/drivers/dma/at_xdmac.c
    +++ b/drivers/dma/at_xdmac.c
    @@ -1848,6 +1848,11 @@ static int at_xdmac_alloc_chan_resources
    for (i = 0; i < init_nr_desc_per_channel; i++) {
    desc = at_xdmac_alloc_desc(chan, GFP_ATOMIC);
    if (!desc) {
    + if (i == 0) {
    + dev_warn(chan2dev(chan),
    + "can't allocate any descriptors\n");
    + return -EIO;
    + }
    dev_warn(chan2dev(chan),
    "only %d descriptors have been allocated\n", i);
    break;

    \
     
     \ /
      Last update: 2022-07-11 11:18    [W:5.049 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site