avs malloc mem when avs cmd start
authorxxx <xxx@rock-chips.com>
Tue, 28 Aug 2012 18:08:49 +0000 (11:08 -0700)
committerxxx <xxx@rock-chips.com>
Tue, 28 Aug 2012 18:11:07 +0000 (11:11 -0700)
arch/arm/mach-rk30/dvfs.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 7f1aa71..8a15033
@@ -1702,7 +1702,10 @@ static ssize_t avs_dyn_show(struct kobject *kobj, struct kobj_attribute *attr,
 {\r
        char *s = buf;\r
        u32 i;\r
-\r
+       \r
+       if(avs_dyn_data==NULL)\r
+               return (s - buf);\r
+               \r
        if(avs_dyn_start) {\r
                int start_cnt;\r
                int end_cnt;\r
@@ -1774,6 +1777,11 @@ static ssize_t avs_dyn_store(struct kobject *kobj, struct kobj_attribute *attr,
        const char *pbuf;\r
 \r
        if((strncmp(buf, "start", strlen("start")) == 0)) {\r
+               if(avs_dyn_data==NULL)  \r
+                       avs_dyn_data = kmalloc(avs_dyn_data_num, GFP_KERNEL);\r
+               if(avs_dyn_data==NULL)\r
+                       return n;\r
+               \r
                pbuf = &buf[strlen("start")];\r
                avs_dyn_data_cnt = 0;\r
                show_line_cnt = 0;\r
@@ -1872,7 +1880,6 @@ static int __init dvfs_init(void)
        dvfs_hrtimer.function = dvfs_hrtimer_timer_func;\r
        //hrtimer_start(&dvfs_hrtimer,ktime_set(0, 5*1000*1000),HRTIMER_MODE_REL);\r
 #endif\r
-       avs_dyn_data = kmalloc(avs_dyn_data_num, GFP_KERNEL);\r
 \r
        dvfs_kobj = kobject_create_and_add("dvfs", NULL);\r
        if (!dvfs_kobj)\r