diff options
Diffstat (limited to 'drivers/platform/x86/intel_ips.c')
-rw-r--r-- | drivers/platform/x86/intel_ips.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/platform/x86/intel_ips.c b/drivers/platform/x86/intel_ips.c index cdaf40e44460..03448224aedb 100644 --- a/drivers/platform/x86/intel_ips.c +++ b/drivers/platform/x86/intel_ips.c | |||
@@ -920,9 +920,8 @@ static int ips_monitor(void *data) | |||
920 | struct timer_list timer; | 920 | struct timer_list timer; |
921 | unsigned long seqno_timestamp, expire, last_msecs, last_sample_period; | 921 | unsigned long seqno_timestamp, expire, last_msecs, last_sample_period; |
922 | int i; | 922 | int i; |
923 | u32 *cpu_samples = NULL, *mchp_samples = NULL, old_cpu_power; | 923 | u32 *cpu_samples, *mchp_samples, old_cpu_power; |
924 | u16 *mcp_samples = NULL, *ctv1_samples = NULL, *ctv2_samples = NULL, | 924 | u16 *mcp_samples, *ctv1_samples, *ctv2_samples, *mch_samples; |
925 | *mch_samples = NULL; | ||
926 | u8 cur_seqno, last_seqno; | 925 | u8 cur_seqno, last_seqno; |
927 | 926 | ||
928 | mcp_samples = kzalloc(sizeof(u16) * IPS_SAMPLE_COUNT, GFP_KERNEL); | 927 | mcp_samples = kzalloc(sizeof(u16) * IPS_SAMPLE_COUNT, GFP_KERNEL); |
@@ -931,7 +930,8 @@ static int ips_monitor(void *data) | |||
931 | mch_samples = kzalloc(sizeof(u16) * IPS_SAMPLE_COUNT, GFP_KERNEL); | 930 | mch_samples = kzalloc(sizeof(u16) * IPS_SAMPLE_COUNT, GFP_KERNEL); |
932 | cpu_samples = kzalloc(sizeof(u32) * IPS_SAMPLE_COUNT, GFP_KERNEL); | 931 | cpu_samples = kzalloc(sizeof(u32) * IPS_SAMPLE_COUNT, GFP_KERNEL); |
933 | mchp_samples = kzalloc(sizeof(u32) * IPS_SAMPLE_COUNT, GFP_KERNEL); | 932 | mchp_samples = kzalloc(sizeof(u32) * IPS_SAMPLE_COUNT, GFP_KERNEL); |
934 | if (!mcp_samples || !ctv1_samples || !ctv2_samples || !mch_samples) { | 933 | if (!mcp_samples || !ctv1_samples || !ctv2_samples || !mch_samples || |
934 | !cpu_samples || !mchp_samples) { | ||
935 | dev_err(&ips->dev->dev, | 935 | dev_err(&ips->dev->dev, |
936 | "failed to allocate sample array, ips disabled\n"); | 936 | "failed to allocate sample array, ips disabled\n"); |
937 | kfree(mcp_samples); | 937 | kfree(mcp_samples); |
@@ -939,6 +939,7 @@ static int ips_monitor(void *data) | |||
939 | kfree(ctv2_samples); | 939 | kfree(ctv2_samples); |
940 | kfree(mch_samples); | 940 | kfree(mch_samples); |
941 | kfree(cpu_samples); | 941 | kfree(cpu_samples); |
942 | kfree(mchp_samples); | ||
942 | kthread_stop(ips->adjust); | 943 | kthread_stop(ips->adjust); |
943 | return -ENOMEM; | 944 | return -ENOMEM; |
944 | } | 945 | } |