CC: l...@lists.linux.dev
CC: kbuild-...@lists.01.org
BCC: l...@intel.com
CC: Linux Memory Management List <linux...@kvack.org>
TO: Arunpravin <arunpravin.paneersel...@amd.com>
CC: "Christian König" <christian.koe...@amd.com>
CC: Matthew Auld <matthew.a...@intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   4e7a74a6856f8613dab9794da4b5cfb8fd54fb8c
commit: e6ff5ef81170e11dc0f196b0391f708f04fa8c87 [7285/11713] drm/selftests: 
add drm buddy smoke testcase
:::::: branch date: 15 hours ago
:::::: commit date: 2 weeks ago
config: riscv-randconfig-c006-20220309 
(https://download.01.org/0day-ci/archive/20220310/202203101054.ixvkbvmv-...@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
276ca87382b8f16a65bddac700202924228982f6)
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=e6ff5ef81170e11dc0f196b0391f708f04fa8c87
        git remote add linux-next 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout e6ff5ef81170e11dc0f196b0391f708f04fa8c87
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 
clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
           if ((lis3->whoami == WAI_3DC) || (lis3->whoami == WAI_3DLH)) {
                ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/misc/lis3lv02d/lis3lv02d.c:289:32: note: Left side of '||' is true
           if ((lis3->whoami == WAI_3DC) || (lis3->whoami == WAI_3DLH)) {
                                         ^
   drivers/misc/lis3lv02d/lis3lv02d.c:303:6: note: 'ret' is -6
           if (ret)
               ^~~
   drivers/misc/lis3lv02d/lis3lv02d.c:303:2: note: Taking true branch
           if (ret)
           ^
   drivers/misc/lis3lv02d/lis3lv02d.c:304:3: note: Control jumps to line 356
                   goto fail;
                   ^
   drivers/misc/lis3lv02d/lis3lv02d.c:357:2: note: Returning without writing to 
'*results'
           return ret;
           ^
   drivers/misc/lis3lv02d/lis3lv02d.c:794:10: note: Returning from 
'lis3lv02d_selftest'
           switch (lis3lv02d_selftest(lis3, values)) {
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/misc/lis3lv02d/lis3lv02d.c:794:2: note: Control jumps to the 
'default' case at line 802
           switch (lis3lv02d_selftest(lis3, values)) {
           ^
   drivers/misc/lis3lv02d/lis3lv02d.c:804:3: note:  Execution continues on line 
806
                   break;
                   ^
   drivers/misc/lis3lv02d/lis3lv02d.c:806:9: note: 4th function call argument 
is an uninitialized value
           return sprintf(buf, "%s %d %d %d\n", res,
                  ^
   Suppressed 12 warnings (5 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   17 warnings generated.
   drivers/gpu/drm/bridge/sii9234.c:764:2: warning: Value stored to 'intr1_en' 
is never read [clang-analyzer-deadcode.DeadStores]
           intr1_en = mhl_tx_readb(ctx, MHL_TX_INTR1_ENABLE_REG);
           ^
   drivers/gpu/drm/bridge/sii9234.c:764:2: note: Value stored to 'intr1_en' is 
never read
   drivers/gpu/drm/bridge/sii9234.c:765:2: warning: Value stored to 'intr4_en' 
is never read [clang-analyzer-deadcode.DeadStores]
           intr4_en = mhl_tx_readb(ctx, MHL_TX_INTR4_ENABLE_REG);
           ^
   drivers/gpu/drm/bridge/sii9234.c:765:2: note: Value stored to 'intr4_en' is 
never read
   Suppressed 15 warnings (7 in non-user code, 8 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   14 warnings generated.
   Suppressed 14 warnings (7 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   14 warnings generated.
   Suppressed 14 warnings (7 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   18 warnings generated.
   drivers/gpu/drm/bridge/tc358767.c:678:2: warning: Value stored to 'revision' 
is never read [clang-analyzer-deadcode.DeadStores]
           revision = tc->link.dpcd[DP_DPCD_REV];
           ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/bridge/tc358767.c:678:2: note: Value stored to 'revision' is 
never read
           revision = tc->link.dpcd[DP_DPCD_REV];
           ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/bridge/tc358767.c:820:2: warning: Value stored to 'ret' is 
never read [clang-analyzer-deadcode.DeadStores]
           ret = regmap_write(tc->regmap, DP0_VIDSYNCDELAY,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/bridge/tc358767.c:820:2: note: Value stored to 'ret' is 
never read
           ret = regmap_write(tc->regmap, DP0_VIDSYNCDELAY,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/bridge/tc358767.c:946:2: warning: Value stored to 'ret' is 
never read [clang-analyzer-deadcode.DeadStores]
           ret = regmap_write(tc->regmap, DP_PHY_CTRL, dp_phy_ctrl);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/bridge/tc358767.c:946:2: note: Value stored to 'ret' is 
never read
           ret = regmap_write(tc->regmap, DP_PHY_CTRL, dp_phy_ctrl);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/bridge/tc358767.c:949:2: warning: Value stored to 'ret' is 
never read [clang-analyzer-deadcode.DeadStores]
           ret = regmap_write(tc->regmap, DP_PHY_CTRL, dp_phy_ctrl);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/bridge/tc358767.c:949:2: note: Value stored to 'ret' is 
never read
           ret = regmap_write(tc->regmap, DP_PHY_CTRL, dp_phy_ctrl);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 14 warnings (7 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (5 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (6 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (5 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (5 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   5 warnings generated.
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (5 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (6 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (6 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
>> drivers/gpu/drm/selftests/test-drm_buddy.c:393:7: warning: Value stored to 
>> 'err' is never read [clang-analyzer-deadcode.DeadStores]
                                                   err = 0;
                                                   ^     ~
   drivers/gpu/drm/selftests/test-drm_buddy.c:393:7: note: Value stored to 
'err' is never read
                                                   err = 0;
                                                   ^     ~
   Suppressed 5 warnings (5 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   13 warnings generated.
   Suppressed 13 warnings (6 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   14 warnings generated.
   Suppressed 14 warnings (7 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   12 warnings generated.
   Suppressed 12 warnings (5 in non-user code, 7 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   14 warnings generated.
   drivers/spi/spi-axi-spi-engine.c:324:4: warning: Array access (from variable 
'buf') results in a null pointer dereference 
[clang-analyzer-core.NullDereference]
                           writel_relaxed(buf[i], addr);
                           ^
   arch/riscv/include/asm/mmio.h:120:45: note: expanded from macro 
'writel_relaxed'
   #define writel_relaxed(v, c)    ({ __io_rbw(); writel_cpu((v), (c)); 
__io_raw(); })
                                                  ^
   arch/riscv/include/asm/mmio.h:93:59: note: expanded from macro 'writel_cpu'
   #define writel_cpu(v, c)        ((void)__raw_writel((__force 
u32)cpu_to_le32(v), (c)))
                                                                    ^
   include/linux/byteorder/generic.h:88:21: note: expanded from macro 
'cpu_to_le32'
   #define cpu_to_le32 __cpu_to_le32
                       ^
   include/uapi/linux/byteorder/little_endian.h:34:50: note: expanded from 
macro '__cpu_to_le32'
   #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
                                                    ^
   drivers/spi/spi-axi-spi-engine.c:425:2: note: Calling 
'spi_engine_compile_message'
           spi_engine_compile_message(spi_engine, msg, true, &p_dry);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/spi/spi-axi-spi-engine.c:215:2: note: Loop condition is false. 
Execution continues on line 238
           list_for_each_entry(xfer, &msg->transfers, transfer_list) {
           ^
   include/linux/list.h:638:2: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
           ^
   drivers/spi/spi-axi-spi-engine.c:238:2: note: Returning without writing to 
'spi_engine->tx_length', which participates in a condition later
           return 0;
           ^
   drivers/spi/spi-axi-spi-engine.c:238:2: note: Returning without writing to 
'spi_engine->tx_buf'
   drivers/spi/spi-axi-spi-engine.c:425:2: note: Returning from 
'spi_engine_compile_message'
           spi_engine_compile_message(spi_engine, msg, true, &p_dry);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/spi/spi-axi-spi-engine.c:429:6: note: Assuming 'p' is non-null
           if (!p)
               ^~
   drivers/spi/spi-axi-spi-engine.c:429:2: note: Taking false branch
           if (!p)
           ^
   drivers/spi/spi-axi-spi-engine.c:431:2: note: Calling 
'spi_engine_compile_message'
           spi_engine_compile_message(spi_engine, msg, false, p);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/spi/spi-axi-spi-engine.c:215:2: note: Loop condition is false. 
Execution continues on line 238
           list_for_each_entry(xfer, &msg->transfers, transfer_list) {
           ^
   include/linux/list.h:638:2: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
           ^
   drivers/spi/spi-axi-spi-engine.c:238:2: note: Returning without writing to 
'spi_engine->tx_length', which participates in a condition later
           return 0;
           ^
   drivers/spi/spi-axi-spi-engine.c:238:2: note: Returning without writing to 
'spi_engine->tx_buf'
   drivers/spi/spi-axi-spi-engine.c:431:2: note: Returning from 
'spi_engine_compile_message'
           spi_engine_compile_message(spi_engine, msg, false, p);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/spi/spi-axi-spi-engine.c:433:2: note: Loop condition is false.  
Exiting loop
           spin_lock_irqsave(&spi_engine->lock, flags);
           ^
   include/linux/spinlock.h:379:2: note: expanded from macro 'spin_lock_irqsave'
           raw_spin_lock_irqsave(spinlock_check(lock), flags);     \
           ^
   include/linux/spinlock.h:240:2: note: expanded from macro 
'raw_spin_lock_irqsave'
           do {                                            \
           ^
   drivers/spi/spi-axi-spi-engine.c:433:2: note: Loop condition is false.  
Exiting loop
           spin_lock_irqsave(&spi_engine->lock, flags);
           ^
   include/linux/spinlock.h:377:43: note: expanded from macro 
'spin_lock_irqsave'
   #define spin_lock_irqsave(lock, flags)                          \
                                                                   ^
   drivers/spi/spi-axi-spi-engine.c:443:6: note: Calling 
'spi_engine_write_cmd_fifo'
           if (spi_engine_write_cmd_fifo(spi_engine))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/spi/spi-axi-spi-engine.c:299:6: note: Loop condition is false.  
Exiting loop
           n = readl_relaxed(spi_engine->base + SPI_ENGINE_REG_CMD_FIFO_ROOM);
               ^
   arch/riscv/include/asm/mmio.h:116:38: note: expanded from macro 
'readl_relaxed'
   #define readl_relaxed(c)        ({ u32 __v; __io_rbr(); __v = readl_cpu(c); 
__io_rar(); __v; })
                                               ^
   arch/riscv/include/asm/mmio.h:109:21: note: expanded from macro '__io_rbr'
   #define __io_rbr()              do {} while (0)
                                   ^
   drivers/spi/spi-axi-spi-engine.c:299:6: note: Loop condition is false.  
Exiting loop
           n = readl_relaxed(spi_engine->base + SPI_ENGINE_REG_CMD_FIFO_ROOM);
               ^

vim +/err +393 drivers/gpu/drm/selftests/test-drm_buddy.c

92937f170d3f49 Arunpravin 2022-02-22  340  
e6ff5ef81170e1 Arunpravin 2022-02-22  341  static int 
igt_buddy_alloc_smoke(void *arg)
e6ff5ef81170e1 Arunpravin 2022-02-22  342  {
e6ff5ef81170e1 Arunpravin 2022-02-22  343       u64 mm_size, min_page_size, 
chunk_size, start = 0;
e6ff5ef81170e1 Arunpravin 2022-02-22  344       unsigned long flags = 0;
e6ff5ef81170e1 Arunpravin 2022-02-22  345       struct drm_buddy mm;
e6ff5ef81170e1 Arunpravin 2022-02-22  346       int *order;
e6ff5ef81170e1 Arunpravin 2022-02-22  347       int err, i;
e6ff5ef81170e1 Arunpravin 2022-02-22  348  
e6ff5ef81170e1 Arunpravin 2022-02-22  349       DRM_RND_STATE(prng, 
random_seed);
e6ff5ef81170e1 Arunpravin 2022-02-22  350       IGT_TIMEOUT(end_time);
e6ff5ef81170e1 Arunpravin 2022-02-22  351  
e6ff5ef81170e1 Arunpravin 2022-02-22  352       igt_mm_config(&mm_size, 
&chunk_size);
e6ff5ef81170e1 Arunpravin 2022-02-22  353  
e6ff5ef81170e1 Arunpravin 2022-02-22  354       err = drm_buddy_init(&mm, 
mm_size, chunk_size);
e6ff5ef81170e1 Arunpravin 2022-02-22  355       if (err) {
e6ff5ef81170e1 Arunpravin 2022-02-22  356               pr_err("buddy_init 
failed(%d)\n", err);
e6ff5ef81170e1 Arunpravin 2022-02-22  357               return err;
e6ff5ef81170e1 Arunpravin 2022-02-22  358       }
e6ff5ef81170e1 Arunpravin 2022-02-22  359  
e6ff5ef81170e1 Arunpravin 2022-02-22  360       order = 
drm_random_order(mm.max_order + 1, &prng);
e6ff5ef81170e1 Arunpravin 2022-02-22  361       if (!order)
e6ff5ef81170e1 Arunpravin 2022-02-22  362               goto out_fini;
e6ff5ef81170e1 Arunpravin 2022-02-22  363  
e6ff5ef81170e1 Arunpravin 2022-02-22  364       for (i = 0; i <= mm.max_order; 
++i) {
e6ff5ef81170e1 Arunpravin 2022-02-22  365               struct drm_buddy_block 
*block;
e6ff5ef81170e1 Arunpravin 2022-02-22  366               int max_order = 
order[i];
e6ff5ef81170e1 Arunpravin 2022-02-22  367               bool timeout = false;
e6ff5ef81170e1 Arunpravin 2022-02-22  368               LIST_HEAD(blocks);
e6ff5ef81170e1 Arunpravin 2022-02-22  369               u64 total, size;
e6ff5ef81170e1 Arunpravin 2022-02-22  370               LIST_HEAD(tmp);
e6ff5ef81170e1 Arunpravin 2022-02-22  371               int order;
e6ff5ef81170e1 Arunpravin 2022-02-22  372  
e6ff5ef81170e1 Arunpravin 2022-02-22  373               err = igt_check_mm(&mm);
e6ff5ef81170e1 Arunpravin 2022-02-22  374               if (err) {
e6ff5ef81170e1 Arunpravin 2022-02-22  375                       pr_err("pre-mm 
check failed, abort\n");
e6ff5ef81170e1 Arunpravin 2022-02-22  376                       break;
e6ff5ef81170e1 Arunpravin 2022-02-22  377               }
e6ff5ef81170e1 Arunpravin 2022-02-22  378  
e6ff5ef81170e1 Arunpravin 2022-02-22  379               order = max_order;
e6ff5ef81170e1 Arunpravin 2022-02-22  380               total = 0;
e6ff5ef81170e1 Arunpravin 2022-02-22  381  
e6ff5ef81170e1 Arunpravin 2022-02-22  382               do {
e6ff5ef81170e1 Arunpravin 2022-02-22  383  retry:
e6ff5ef81170e1 Arunpravin 2022-02-22  384                       size = 
min_page_size = get_size(order, chunk_size);
e6ff5ef81170e1 Arunpravin 2022-02-22  385                       err = 
drm_buddy_alloc_blocks(&mm, start, mm_size, size,
e6ff5ef81170e1 Arunpravin 2022-02-22  386                                       
             min_page_size, &tmp, flags);
e6ff5ef81170e1 Arunpravin 2022-02-22  387                       if (err) {
e6ff5ef81170e1 Arunpravin 2022-02-22  388                               if (err 
== -ENOMEM) {
e6ff5ef81170e1 Arunpravin 2022-02-22  389                                       
pr_info("buddy_alloc hit -ENOMEM with order=%d\n",
e6ff5ef81170e1 Arunpravin 2022-02-22  390                                       
        order);
e6ff5ef81170e1 Arunpravin 2022-02-22  391                               } else {
e6ff5ef81170e1 Arunpravin 2022-02-22  392                                       
if (order--) {
e6ff5ef81170e1 Arunpravin 2022-02-22 @393                                       
        err = 0;
e6ff5ef81170e1 Arunpravin 2022-02-22  394                                       
        goto retry;
e6ff5ef81170e1 Arunpravin 2022-02-22  395                                       
}
e6ff5ef81170e1 Arunpravin 2022-02-22  396  
e6ff5ef81170e1 Arunpravin 2022-02-22  397                                       
pr_err("buddy_alloc with order=%d failed(%d)\n",
e6ff5ef81170e1 Arunpravin 2022-02-22  398                                       
       order, err);
e6ff5ef81170e1 Arunpravin 2022-02-22  399                               }
e6ff5ef81170e1 Arunpravin 2022-02-22  400  
e6ff5ef81170e1 Arunpravin 2022-02-22  401                               break;
e6ff5ef81170e1 Arunpravin 2022-02-22  402                       }
e6ff5ef81170e1 Arunpravin 2022-02-22  403  
e6ff5ef81170e1 Arunpravin 2022-02-22  404                       block = 
list_first_entry_or_null(&tmp,
e6ff5ef81170e1 Arunpravin 2022-02-22  405                                       
                 struct drm_buddy_block,
e6ff5ef81170e1 Arunpravin 2022-02-22  406                                       
                 link);
e6ff5ef81170e1 Arunpravin 2022-02-22  407                       if (!block) {
e6ff5ef81170e1 Arunpravin 2022-02-22  408                               
pr_err("alloc_blocks has no blocks\n");
e6ff5ef81170e1 Arunpravin 2022-02-22  409                               err = 
-EINVAL;
e6ff5ef81170e1 Arunpravin 2022-02-22  410                               break;
e6ff5ef81170e1 Arunpravin 2022-02-22  411                       }
e6ff5ef81170e1 Arunpravin 2022-02-22  412  
e6ff5ef81170e1 Arunpravin 2022-02-22  413                       
list_move_tail(&block->link, &blocks);
e6ff5ef81170e1 Arunpravin 2022-02-22  414  
e6ff5ef81170e1 Arunpravin 2022-02-22  415                       if 
(drm_buddy_block_order(block) != order) {
e6ff5ef81170e1 Arunpravin 2022-02-22  416                               
pr_err("buddy_alloc order mismatch\n");
e6ff5ef81170e1 Arunpravin 2022-02-22  417                               err = 
-EINVAL;
e6ff5ef81170e1 Arunpravin 2022-02-22  418                               break;
e6ff5ef81170e1 Arunpravin 2022-02-22  419                       }
e6ff5ef81170e1 Arunpravin 2022-02-22  420  
e6ff5ef81170e1 Arunpravin 2022-02-22  421                       total += 
drm_buddy_block_size(&mm, block);
e6ff5ef81170e1 Arunpravin 2022-02-22  422  
e6ff5ef81170e1 Arunpravin 2022-02-22  423                       if 
(__igt_timeout(end_time, NULL)) {
e6ff5ef81170e1 Arunpravin 2022-02-22  424                               timeout 
= true;
e6ff5ef81170e1 Arunpravin 2022-02-22  425                               break;
e6ff5ef81170e1 Arunpravin 2022-02-22  426                       }
e6ff5ef81170e1 Arunpravin 2022-02-22  427               } while (total < 
mm.size);
e6ff5ef81170e1 Arunpravin 2022-02-22  428  
e6ff5ef81170e1 Arunpravin 2022-02-22  429               if (!err)
e6ff5ef81170e1 Arunpravin 2022-02-22  430                       err = 
igt_check_blocks(&mm, &blocks, total, false);
e6ff5ef81170e1 Arunpravin 2022-02-22  431  
e6ff5ef81170e1 Arunpravin 2022-02-22  432               
drm_buddy_free_list(&mm, &blocks);
e6ff5ef81170e1 Arunpravin 2022-02-22  433  
e6ff5ef81170e1 Arunpravin 2022-02-22  434               if (!err) {
e6ff5ef81170e1 Arunpravin 2022-02-22  435                       err = 
igt_check_mm(&mm);
e6ff5ef81170e1 Arunpravin 2022-02-22  436                       if (err)
e6ff5ef81170e1 Arunpravin 2022-02-22  437                               
pr_err("post-mm check failed\n");
e6ff5ef81170e1 Arunpravin 2022-02-22  438               }
e6ff5ef81170e1 Arunpravin 2022-02-22  439  
e6ff5ef81170e1 Arunpravin 2022-02-22  440               if (err || timeout)
e6ff5ef81170e1 Arunpravin 2022-02-22  441                       break;
e6ff5ef81170e1 Arunpravin 2022-02-22  442  
e6ff5ef81170e1 Arunpravin 2022-02-22  443               cond_resched();
e6ff5ef81170e1 Arunpravin 2022-02-22  444       }
e6ff5ef81170e1 Arunpravin 2022-02-22  445  
e6ff5ef81170e1 Arunpravin 2022-02-22  446       if (err == -ENOMEM)
e6ff5ef81170e1 Arunpravin 2022-02-22  447               err = 0;
e6ff5ef81170e1 Arunpravin 2022-02-22  448  
e6ff5ef81170e1 Arunpravin 2022-02-22  449       kfree(order);
e6ff5ef81170e1 Arunpravin 2022-02-22  450  out_fini:
e6ff5ef81170e1 Arunpravin 2022-02-22  451       drm_buddy_fini(&mm);
e6ff5ef81170e1 Arunpravin 2022-02-22  452  
e6ff5ef81170e1 Arunpravin 2022-02-22  453       return err;
e6ff5ef81170e1 Arunpravin 2022-02-22  454  }
e6ff5ef81170e1 Arunpravin 2022-02-22  455  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to