lkml.org 
[lkml]   [2011]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH 02/34] msm: clock: Always use an array to iterate over clocks
    On 11/02/11 12:45, Russell King - ARM Linux wrote:
    > On Wed, Nov 02, 2011 at 11:35:59AM -0700, David Brown wrote:
    >> If the array of clk_lookups contains aliases for the same struct
    >> clk, msm_clock_init() will add the clock to the clocks list
    >> twice. This would cause list corruption so let's just remove the
    >> clocks list and any associated code and iterate over the array
    >> instead.
    > Hmm...
    >
    >> @@ -158,13 +152,13 @@ void __init msm_clock_init(struct clk_lookup *clock_tbl, unsigned num_clocks)
    >> */
    >> static int __init clock_late_init(void)
    >> {
    >> + unsigned i, count = 0;
    >> unsigned long flags;
    >> - struct clk *clk;
    >> - unsigned count = 0;
    >>
    >> clock_debug_init();
    >> - mutex_lock(&clocks_mutex);
    >> - list_for_each_entry(clk, &clocks, list) {
    >> + for (i = 0; i < msm_num_clocks; i++) {
    >> + struct clk *clk = msm_clocks[i].clk;
    >> +
    >> clock_debug_add(clk);
    > This means you'll end up calling clock_debug_add() twice for the same
    > struct clk - this sounds like a bad idea in itself. It looks like
    > there's no protection within that function against it being called
    > twice with the same struct clk.
    >
    > Are you sure this is safe?

    This hasn't proven to be a problem so far because debugfs returns an
    error when you create a directory with the same name twice. If we ever
    do something more in clock_debug_add() we would have a problem.

    --
    Sent by an employee of the Qualcomm Innovation Center, Inc.
    The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.



    \
     
     \ /
      Last update: 2011-11-02 22:37    [W:0.021 / U:211.276 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site