Skip to content
Snippets Groups Projects
  1. Apr 15, 2017
    • eric.gao@rock-chips.com's avatar
      rockchip: rk3399: Add missing sentinel in syscon · bc8e8fe4
      eric.gao@rock-chips.com authored
      
      when enable PMIC rk808,the system will halt at very
       early stage,log is shown as bellow.
      
      INFO:    plat_rockchip_pmu_init(1211): pd status 3e
      INFO:    BL31: Initializing runtime services
      INFO:    BL31: Preparing for EL3 exit to normal world
      INFO:    Entry point address = 0x200000
      INFO:    SPSR = 0x3c9
      time 44561b, 0 (<<----Just stop here)
      
      It's caused by the absence of "{ }" in syscon_rk3399.c
      ,which will lead to memory overflow like below.According
       to Sysmap file ,we can find the function buck_get_value
      of rk808 is just follow the compatible struct,the pointer
      "of_match" point to "buck_get_value",but it is not a
      struct and don't have member of compatible, In this case,
      system crash. So,on the face, it looks like that rk808 is
      guilty.but he is really innocent.
      
      while (of_match->compatible) { <<----------
          if (!strcmp(of_match->compatible, compat)) {
          *of_idp = of_match;
          return 0;
          }
          of_match++;
      }
      
      Signed-off-by: default avatarEric Gao <eric.gao@rock-chips.com>
      Reviewed-by: default avatarKever Yang <kever.yang@rock-chips.com>
      Tested-by: default avatarKever Yang <kever.yang@rock-chips.com>
      bc8e8fe4
  2. Mar 16, 2017
  3. Sep 22, 2016
  4. Aug 05, 2016
Loading