CC: [email protected]
BCC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Abhinav Kumar <[email protected]>
CC: Dmitry Baryshkov <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   38a288f5941ef03752887ad86f2d85442358c99a
commit: d7d0e73f7de33a2b9998b607707a3e944ef3b86d [7596/9759] drm/msm/dpu: 
introduce the dpu_encoder_phys_* for writeback
:::::: branch date: 3 days ago
:::::: commit date: 7 days ago
config: ia64-randconfig-m031-20220508 
(https://download.01.org/0day-ci/archive/20220509/[email protected]/config)
compiler: ia64-linux-gcc (GCC) 11.3.0

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

smatch warnings:
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c:252 
dpu_encoder_phys_wb_atomic_check() error: potentially dereferencing 
uninitialized 'mode'.
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c:261 
dpu_encoder_phys_wb_atomic_check() warn: variable dereferenced before check 
'conn_state' (see line 255)

vim +/mode +252 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c

d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  237  
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  238  /**
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  239   * 
dpu_encoder_phys_wb_atomic_check - verify and fixup given atomic states
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  240   * @phys_enc:    Pointer to 
physical encoder
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  241   * @crtc_state:  Pointer to CRTC 
atomic state
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  242   * @conn_state:  Pointer to 
connector atomic state
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  243   */
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  244  static int 
dpu_encoder_phys_wb_atomic_check(
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  245           struct dpu_encoder_phys 
*phys_enc,
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  246           struct drm_crtc_state 
*crtc_state,
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  247           struct 
drm_connector_state *conn_state)
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  248  {
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  249   struct drm_framebuffer *fb;
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  250   const struct drm_display_mode 
*mode;
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  251  
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 @252   DPU_DEBUG("[atomic_check:%d, 
\"%s\",%d,%d]\n",
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  253                   
phys_enc->wb_idx, mode->name, mode->hdisplay, mode->vdisplay);
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  254  
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 @255   if (!conn_state->writeback_job 
|| !conn_state->writeback_job->fb)
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  256           return 0;
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  257  
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  258   fb = 
conn_state->writeback_job->fb;
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  259   mode = &crtc_state->mode;
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  260  
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26 @261   if (!conn_state || 
!conn_state->connector) {
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  262           DPU_ERROR("invalid 
connector state\n");
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  263           return -EINVAL;
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  264   } else if 
(conn_state->connector->status !=
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  265                   
connector_status_connected) {
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  266           DPU_ERROR("connector 
not connected %d\n",
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  267                           
conn_state->connector->status);
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  268           return -EINVAL;
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  269   }
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  270  
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  271   
DPU_DEBUG("[fb_id:%u][fb:%u,%u]\n", fb->base.id,
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  272                   fb->width, 
fb->height);
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  273  
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  274   if (fb->width != 
mode->hdisplay) {
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  275           DPU_ERROR("invalid fb 
w=%d, mode w=%d\n", fb->width,
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  276                           
mode->hdisplay);
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  277           return -EINVAL;
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  278   } else if (fb->height != 
mode->vdisplay) {
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  279           DPU_ERROR("invalid fb 
h=%d, mode h=%d\n", fb->height,
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  280                             
mode->vdisplay);
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  281           return -EINVAL;
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  282   } else if (fb->width > 
DEFAULT_MAX_WRITEBACK_WIDTH) {
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  283           DPU_ERROR("invalid fb 
w=%d, maxlinewidth=%u\n",
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  284                             
fb->width, DEFAULT_MAX_WRITEBACK_WIDTH);
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  285           return -EINVAL;
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  286   }
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  287  
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  288   return 0;
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  289  }
d7d0e73f7de33a2 Abhinav Kumar 2022-04-26  290  

-- 
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