Thread (35 messages) 35 messages, 3 authors, 2011-11-02

[RFC PATCH 02/34] msm: clock: Always use an array to iterate over clocks

From: Stephen Boyd <hidden>
Date: 2011-11-02 21:34:06
Also in: linux-arm-msm, lkml

On 11/02/11 12:45, Russell King - ARM Linux wrote:
On Wed, Nov 02, 2011 at 11:35:59AM -0700, David Brown wrote:
quoted
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...
quoted
@@ -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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help