CC: [email protected]
BCC: [email protected]
CC: [email protected]
CC: [email protected]
CC: Vignesh Raghavendra <[email protected]>
CC: Pratyush Yadav <[email protected]>

tree:   git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git 
ti-android-linux-5.10.y
head:   6b231b04f2f17dfc0729efb6db9b5203a7786b12
commit: 80dac899053d08524a40f195905022bb08e6104c [2225/9999] media: entity: 
Move the pipeline from entity to pads
:::::: branch date: 4 weeks ago
:::::: commit date: 8 months ago
config: arm-randconfig-c002-20220318 
(https://download.01.org/0day-ci/archive/20220322/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
a6e70e4056dff962ec634c5bd4f2f4105a0bef71)
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 arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        git remote add ti git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
        git fetch --no-tags ti ti-android-linux-5.10.y
        git checkout 80dac899053d08524a40f195905022bb08e6104c
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 
clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


clang-analyzer warnings: (new ones prefixed by >>)
   7 warnings generated.
   drivers/iio/adc/ti-ads124s08.c:97:8: warning: Excessive padding in 'struct 
ads124s_private' (43 padding bytes, where 11 is optimal). 
   Optimal fields order: 
   data, 
   buffer, 
   chip_info, 
   reset_gpio, 
   spi, 
   lock, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
   struct ads124s_private {
   ~~~~~~~^~~~~~~~~~~~~~~~~
   drivers/iio/adc/ti-ads124s08.c:97:8: note: Excessive padding in 'struct 
ads124s_private' (43 padding bytes, where 11 is optimal). Optimal fields order: 
data, buffer, chip_info, reset_gpio, spi, lock, consider reordering the fields 
or adding explicit padding members
   struct ads124s_private {
   ~~~~~~~^~~~~~~~~~~~~~~~~
   Suppressed 6 warnings (6 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.
   6 warnings generated.
   Suppressed 6 warnings (6 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.
   3 warnings generated.
   drivers/iio/adc/twl6030-gpadc.c:911:2: warning: Value stored to 'ret' is 
never read [clang-analyzer-deadcode.DeadStores]
           ret = devm_request_threaded_irq(dev, irq, NULL,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/adc/twl6030-gpadc.c:911:2: note: Value stored to 'ret' is never 
read
           ret = devm_request_threaded_irq(dev, irq, NULL,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 2 warnings (2 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.
   2 warnings generated.
   Suppressed 2 warnings (2 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.
   6 warnings generated.
   drivers/iio/imu/inv_mpu6050/inv_mpu_magn.c:290:5: warning: Call to function 
'strcpy' is insecure as it does not provide bounding of the memory buffer. 
Replace unbounded copy functions with analogous functions that support length 
arguments such as 'strlcpy'. CWE-119 
[clang-analyzer-security.insecureAPI.strcpy]
                                   strcpy(str, orient);
                                   ^~~~~~
   drivers/iio/imu/inv_mpu6050/inv_mpu_magn.c:290:5: note: Call to function 
'strcpy' is insecure as it does not provide bounding of the memory buffer. 
Replace unbounded copy functions with analogous functions that support length 
arguments such as 'strlcpy'. CWE-119
                                   strcpy(str, orient);
                                   ^~~~~~
   drivers/iio/imu/inv_mpu6050/inv_mpu_magn.c:292:5: warning: Call to function 
'strcpy' is insecure as it does not provide bounding of the memory buffer. 
Replace unbounded copy functions with analogous functions that support length 
arguments such as 'strlcpy'. CWE-119 
[clang-analyzer-security.insecureAPI.strcpy]
                                   strcpy(str, &orient[1]);
                                   ^~~~~~
   drivers/iio/imu/inv_mpu6050/inv_mpu_magn.c:292:5: note: Call to function 
'strcpy' is insecure as it does not provide bounding of the memory buffer. 
Replace unbounded copy functions with analogous functions that support length 
arguments such as 'strlcpy'. CWE-119
                                   strcpy(str, &orient[1]);
                                   ^~~~~~
   drivers/iio/imu/inv_mpu6050/inv_mpu_magn.c:295:5: warning: Call to function 
'strcpy' is insecure as it does not provide bounding of the memory buffer. 
Replace unbounded copy functions with analogous functions that support length 
arguments such as 'strlcpy'. CWE-119 
[clang-analyzer-security.insecureAPI.strcpy]
                                   strcpy(&str[1], orient);
                                   ^~~~~~
   drivers/iio/imu/inv_mpu6050/inv_mpu_magn.c:295:5: note: Call to function 
'strcpy' is insecure as it does not provide bounding of the memory buffer. 
Replace unbounded copy functions with analogous functions that support length 
arguments such as 'strlcpy'. CWE-119
                                   strcpy(&str[1], orient);
                                   ^~~~~~
   Suppressed 3 warnings (3 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.
   4 warnings generated.
   Suppressed 4 warnings (3 in non-user code, 1 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   8 warnings generated.
   Suppressed 8 warnings (7 in non-user code, 1 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.
   3 warnings generated.
   Suppressed 3 warnings (2 in non-user code, 1 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.
   2 warnings generated.
   Suppressed 2 warnings (2 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.
   2 warnings generated.
   Suppressed 2 warnings (2 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.
   9 warnings generated.
   drivers/media/tuners/tuner-xc2028.c:1037:3: warning: Value stored to 'rc' is 
never read [clang-analyzer-deadcode.DeadStores]
                   rc = send_seq(priv, {0x00, 0x00});
                   ^
   drivers/media/tuners/tuner-xc2028.c:1037:3: note: Value stored to 'rc' is 
never read
   Suppressed 8 warnings (6 in non-user code, 2 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.
   8 warnings generated.
   Suppressed 8 warnings (6 in non-user code, 2 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.
   7 warnings generated.
   Suppressed 7 warnings (6 in non-user code, 1 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.
   2 warnings generated.
   Suppressed 2 warnings (2 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.
   2 warnings generated.
   Suppressed 2 warnings (2 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.
   2 warnings generated.
   Suppressed 2 warnings (2 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.
   6 warnings generated.
   Suppressed 6 warnings (6 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.
   6 warnings generated.
   Suppressed 6 warnings (6 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.
   4 warnings generated.
>> drivers/media/mc/mc-entity.c:443:7: warning: Branch condition evaluates to a 
>> garbage value [clang-analyzer-core.uninitialized.Branch]
                   if (ret)
                       ^
   drivers/media/mc/mc-entity.c:551:8: note: Calling '__media_pipeline_start'
           ret = __media_pipeline_start(entity, pipe);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/mc/mc-entity.c:414:2: note: 'ret' declared without an initial 
value
           int ret;
           ^~~~~~~
   drivers/media/mc/mc-entity.c:416:6: note: Assuming the condition is false
           if (!pipe->streaming_count++) {
               ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/mc/mc-entity.c:416:2: note: Taking false branch
           if (!pipe->streaming_count++) {
           ^
   drivers/media/mc/mc-entity.c:424:2: note: Loop condition is true.  Entering 
loop body
           while ((pad = media_graph_walk_next(graph))) {
           ^
   drivers/media/mc/mc-entity.c:426:26: note: Assuming field 'pipe' is not 
equal to NULL
                   bool skip_validation = pad->pipe != NULL;
                                          ^~~~~~~~~~~~~~~~~
   drivers/media/mc/mc-entity.c:432:3: note: Loop condition is false. Execution 
continues on line 443
                   media_entity_for_each_pad(entity, iter) {
                   ^
   include/media/media-entity.h:1117:2: note: expanded from macro 
'media_entity_for_each_pad'
           for (iter = (entity)->pads;                             \
           ^
   drivers/media/mc/mc-entity.c:443:7: note: Branch condition evaluates to a 
garbage value
                   if (ret)
                       ^~~
   Suppressed 3 warnings (2 in non-user code, 1 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.
   2 warnings generated.
   Suppressed 2 warnings (2 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.
   3 warnings generated.
   lib/xarray.c:2028:18: warning: Value stored to 'node' during its 
initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct xa_node *node = xas->xa_node;
                           ^~~~   ~~~~~~~~~~~~
   lib/xarray.c:2028:18: note: Value stored to 'node' during its initialization 
is never read
           struct xa_node *node = xas->xa_node;
                           ^~~~   ~~~~~~~~~~~~
   Suppressed 2 warnings (2 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.
   7 warnings generated.
   drivers/iio/accel/bma400_core.c:242:31: warning: The result of the right 
shift is undefined because the right operand is negative 
[clang-analyzer-core.UndefinedBinaryOperatorResult]
           *val = BMA400_ACC_ODR_MAX_HZ >> (BMA400_ACC_ODR_MAX_RAW - raw);
                                        ^
   drivers/iio/accel/bma400_core.c:741:2: note: Control jumps to 'case 
IIO_CHAN_INFO_SAMP_FREQ:'  at line 742
           switch (mask) {
           ^
   drivers/iio/accel/bma400_core.c:747:7: note: Assuming field 'type' is equal 
to IIO_ACCEL
                   if (chan->type != IIO_ACCEL)
                       ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/accel/bma400_core.c:747:3: note: Taking false branch
                   if (chan->type != IIO_ACCEL)
                   ^
   drivers/iio/accel/bma400_core.c:751:9: note: Calling 
'bma400_set_accel_output_data_rate'
                   ret = bma400_set_accel_output_data_rate(data, val, val2);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/accel/bma400_core.c:306:6: note: Assuming 'hz' is >= 
BMA400_ACC_ODR_MIN_WHOLE_HZ
           if (hz >= BMA400_ACC_ODR_MIN_WHOLE_HZ) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/accel/bma400_core.c:306:2: note: Taking true branch
           if (hz >= BMA400_ACC_ODR_MIN_WHOLE_HZ) {
           ^
   drivers/iio/accel/bma400_core.c:307:7: note: Assuming 'uhz' is 0
                   if (uhz || hz > BMA400_ACC_ODR_MAX_HZ)
                       ^~~
   drivers/iio/accel/bma400_core.c:307:7: note: Left side of '||' is false
   drivers/iio/accel/bma400_core.c:307:14: note: Assuming 'hz' is <= 
BMA400_ACC_ODR_MAX_HZ
                   if (uhz || hz > BMA400_ACC_ODR_MAX_HZ)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/accel/bma400_core.c:307:3: note: Taking false branch
                   if (uhz || hz > BMA400_ACC_ODR_MAX_HZ)
                   ^
   drivers/iio/accel/bma400_core.c:313:7: note: Assuming the condition is false
                   if (hz >> idx != BMA400_ACC_ODR_MIN_WHOLE_HZ)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/accel/bma400_core.c:313:3: note: Taking false branch
                   if (hz >> idx != BMA400_ACC_ODR_MIN_WHOLE_HZ)
                   ^
   drivers/iio/accel/bma400_core.c:324:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/iio/accel/bma400_core.c:324:2: note: Taking false branch
           if (ret)
           ^
   drivers/iio/accel/bma400_core.c:331:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/iio/accel/bma400_core.c:331:2: note: Taking false branch
           if (ret)
           ^
   drivers/iio/accel/bma400_core.c:334:2: note: Calling 
'bma400_output_data_rate_from_raw'
           bma400_output_data_rate_from_raw(idx, &data->sample_freq.hz,
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iio/accel/bma400_core.c:242:31: note: The result of the right shift 
is undefined because the right operand is negative
           *val = BMA400_ACC_ODR_MAX_HZ >> (BMA400_ACC_ODR_MAX_RAW - raw);
                                        ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 6 warnings (6 in non-user code).

vim +443 drivers/media/mc/mc-entity.c

d295c6a460cd2a drivers/media/media-entity.c Niklas Söderlund          
2017-06-15  401  
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart          
2010-08-25  402  /* 
-----------------------------------------------------------------------------
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart          
2010-08-25  403   * Pipeline management
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart          
2010-08-25  404   */
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart          
2010-08-25  405  
20b852273642f4 drivers/media/media-entity.c Sakari Ailus              
2016-11-21  406  __must_check int __media_pipeline_start(struct media_entity 
*entity,
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart          
2010-08-25  407                                   struct media_pipeline *pipe)
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart          
2010-08-25  408  {
d10c98949d1a1f drivers/media/media-entity.c Javier Martinez Canillas  
2015-08-19  409   struct media_device *mdev = entity->graph_obj.mdev;
20b852273642f4 drivers/media/media-entity.c Sakari Ailus              
2016-11-21  410   struct media_graph *graph = &pipe->graph;
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  411   struct media_pad *pad = entity->pads;
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  412   struct media_pad *pad_err = pad;
57208e5e25f263 drivers/media/media-entity.c Mauro Carvalho Chehab     
2015-08-07  413   struct media_link *link;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  414   int ret;
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart          
2010-08-25  415  
74a4133079f739 drivers/media/media-entity.c Sakari Ailus              
2015-12-16  416   if (!pipe->streaming_count++) {
20b852273642f4 drivers/media/media-entity.c Sakari Ailus              
2016-11-21  417           ret = media_graph_walk_init(&pipe->graph, mdev);
74a4133079f739 drivers/media/media-entity.c Sakari Ailus              
2015-12-16  418           if (ret)
74a4133079f739 drivers/media/media-entity.c Sakari Ailus              
2015-12-16  419                   goto error_graph_walk_start;
106b9907c368e3 drivers/media/media-entity.c Sakari Ailus              
2015-12-16  420   }
106b9907c368e3 drivers/media/media-entity.c Sakari Ailus              
2015-12-16  421  
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  422   media_graph_walk_start(&pipe->graph, pad);
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  423  
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  424   while ((pad = media_graph_walk_next(graph))) {
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  425           struct media_entity *entity = pad->entity;
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  426           bool skip_validation = pad->pipe != NULL;
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  427           struct media_pad *iter;
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart          
2010-08-25  428  
ef69ee1bc2c10f drivers/media/media-entity.c Mauro Carvalho Chehab     
2015-10-01  429           DECLARE_BITMAP(active, MEDIA_ENTITY_MAX_PADS);
ef69ee1bc2c10f drivers/media/media-entity.c Mauro Carvalho Chehab     
2015-10-01  430           DECLARE_BITMAP(has_no_links, MEDIA_ENTITY_MAX_PADS);
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  431  
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  432           media_entity_for_each_pad(entity, iter) {
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  433                   if (iter->pipe && iter->pipe != pipe) {
3eb87773dee633 drivers/media/media-entity.c Shuah Khan                
2019-02-22  434                           pr_err("Pipe active for %s. Can't 
start for %s\n",
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  435                                  entity->name, 
iter->entity->name);
8aaf62b5b9bef7 drivers/media/media-entity.c Sakari Ailus              
2015-11-29  436                           ret = -EBUSY;
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  437                   } else {
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  438                           iter->pipe = pipe;
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  439                   }
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  440                   iter->stream_count++;
8aaf62b5b9bef7 drivers/media/media-entity.c Sakari Ailus              
2015-11-29  441           }
8aaf62b5b9bef7 drivers/media/media-entity.c Sakari Ailus              
2015-11-29  442  
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14 @443           if (ret)
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  444                   goto error;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  445  
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  446           /* Already part of the pipeline, skip validation. */
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  447           if (skip_validation)
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  448                   continue;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  449  
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  450           if (!entity->ops || !entity->ops->link_validate)
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  451                   continue;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  452  
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  453           bitmap_zero(active, entity->num_pads);
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  454           bitmap_fill(has_no_links, entity->num_pads);
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  455  
57208e5e25f263 drivers/media/media-entity.c Mauro Carvalho Chehab     
2015-08-07  456           list_for_each_entry(link, &entity->links, list) {
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  457                   struct media_pad *other_pad =
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  458                           link->sink->entity == entity ?
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  459                           link->sink : link->source;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  460  
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  461                   /* Mark that a pad is connected by a link. */
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  462                   bitmap_clear(has_no_links, other_pad->index, 
1);
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  463  
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  464                   /*
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  465                    * Pads that either do not need to connect or
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  466                    * are connected through an enabled link are
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  467                    * fine.
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  468                    */
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  469                   if (!(other_pad->flags & 
MEDIA_PAD_FL_MUST_CONNECT) ||
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  470                       link->flags & MEDIA_LNK_FL_ENABLED)
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  471                           bitmap_set(active, other_pad->index, 
1);
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  472  
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  473                   /*
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  474                    * Link validation will only take place for
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  475                    * sink ends of the link that are enabled.
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  476                    */
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  477                   if (link->sink != other_pad ||
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  478                       !(link->flags & MEDIA_LNK_FL_ENABLED))
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  479                           continue;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  480  
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  481                   ret = entity->ops->link_validate(link);
fab9d30b7b4216 drivers/media/media-entity.c Sakari Ailus              
2014-10-28  482                   if (ret < 0 && ret != -ENOIOCTLCMD) {
d10c98949d1a1f drivers/media/media-entity.c Javier Martinez Canillas  
2015-08-19  483                           dev_dbg(entity->graph_obj.mdev->dev,
91b619adeb3753 drivers/media/media-entity.c Sakari Ailus              
2016-12-08  484                                   "link validation failed for 
'%s':%u -> '%s':%u, error %d\n",
823ea2a639611f drivers/media/media-entity.c Sakari Ailus              
2015-02-12  485                                   link->source->entity->name,
823ea2a639611f drivers/media/media-entity.c Sakari Ailus              
2015-02-12  486                                   link->source->index,
823ea2a639611f drivers/media/media-entity.c Sakari Ailus              
2015-02-12  487                                   entity->name, 
link->sink->index, ret);
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  488                           goto error;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  489                   }
fab9d30b7b4216 drivers/media/media-entity.c Sakari Ailus              
2014-10-28  490           }
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  491  
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  492           /* Either no links or validated links are fine. */
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  493           bitmap_or(active, active, has_no_links, 
entity->num_pads);
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  494  
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  495           if (!bitmap_full(active, entity->num_pads)) {
47dfdb3a888733 drivers/media/media-entity.c Helen Mae Koike Fornazier 
2015-06-28  496                   ret = -ENOLINK;
d10c98949d1a1f drivers/media/media-entity.c Javier Martinez Canillas  
2015-08-19  497                   dev_dbg(entity->graph_obj.mdev->dev,
91b619adeb3753 drivers/media/media-entity.c Sakari Ailus              
2016-12-08  498                           "'%s':%u must be connected by an 
enabled link\n",
fab9d30b7b4216 drivers/media/media-entity.c Sakari Ailus              
2014-10-28  499                           entity->name,
094f1ca516cd32 drivers/media/media-entity.c Sakari Ailus              
2014-11-03  500                           (unsigned)find_first_zero_bit(
094f1ca516cd32 drivers/media/media-entity.c Sakari Ailus              
2014-11-03  501                                   active, entity->num_pads));
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  502                   goto error;
de49c285a36049 drivers/media/media-entity.c Sakari Ailus              
2013-10-13  503           }
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart          
2010-08-25  504   }
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart          
2010-08-25  505  
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  506   return 0;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  507  
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  508  error:
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  509   /*
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  510    * Link validation on graph failed. We revert what we did and
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  511    * return the error.
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  512    */
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  513   media_graph_walk_start(graph, pad_err);
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  514  
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  515   while ((pad_err = media_graph_walk_next(graph))) {
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  516           struct media_entity *entity = pad_err->entity;
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  517           struct media_pad *iter;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  518  
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  519           media_entity_for_each_pad(entity, iter) {
12030f489ef87d drivers/media/media-entity.c Sakari Ailus              
2016-07-20  520                   /* Sanity check for negative stream_count */
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  521                   if (!WARN_ON_ONCE(iter->stream_count <= 0)) {
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  522                           --iter->stream_count;
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  523                           if (iter->stream_count == 0)
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  524                                   iter->pipe = NULL;
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  525                   }
3801bc7d1b8dd7 drivers/media/media-entity.c Shuah Khan                
2016-01-30  526           }
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  527  
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  528           /*
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  529            * We haven't increased stream_count further than this
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  530            * so we quit here.
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  531            */
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus              
2021-07-14  532           if (pad_err->entity == pad->entity)
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  533                   break;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  534   }
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus              
2012-01-11  535  
74a4133079f739 drivers/media/media-entity.c Sakari Ailus              
2015-12-16  536  error_graph_walk_start:
74a4133079f739 drivers/media/media-entity.c Sakari Ailus              
2015-12-16  537   if (!--pipe->streaming_count)
20b852273642f4 drivers/media/media-entity.c Sakari Ailus              
2016-11-21  538           media_graph_walk_cleanup(graph);
106b9907c368e3 drivers/media/media-entity.c Sakari Ailus              
2015-12-16  539  
fb49f20438f361 drivers/media/media-entity.c Shuah Khan                
2016-02-11  540   return ret;
fb49f20438f361 drivers/media/media-entity.c Shuah Khan                
2016-02-11  541  }
20b852273642f4 drivers/media/media-entity.c Sakari Ailus              
2016-11-21  542  EXPORT_SYMBOL_GPL(__media_pipeline_start);
fb49f20438f361 drivers/media/media-entity.c Shuah Khan                
2016-02-11  543  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to