All of lore.kernel.org
 help / color / mirror / Atom feed
* Computation of return value being discarded in get_cpu_power() in drivers/platform/x86/intel_ips.c
@ 2021-06-09 11:50 ` Colin Ian King
  0 siblings, 0 replies; 17+ messages in thread
From: Colin Ian King @ 2021-06-09 11:50 UTC (permalink / raw)
  To: Hans de Goede <hdegoede, Mark Gross, Jani Nikula,
	Joonas Lahtinen, Rodrigo Vivi
  Cc: platform-driver-x86, intel-gfx, dri-devel, linux-kernel

Hi,

I was reviewing some old unassigned variable warnings from static
analysis by Coverity and found an issue introduced with the following
commit:

commit aa7ffc01d254c91a36bf854d57a14049c6134c72
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Fri May 14 15:41:14 2010 -0700

    x86 platform driver: intelligent power sharing driver

The analysis is as follows:

drivers/platform/x86/intel_ips.c

 871 static u32 get_cpu_power(struct ips_driver *ips, u32 *last, int period)
 872 {
 873        u32 val;
 874        u32 ret;
 875
 876        /*
 877         * CEC is in joules/65535.  Take difference over time to
 878         * get watts.
 879         */
 880        val = thm_readl(THM_CEC);
 881
 882        /* period is in ms and we want mW */
 883        ret = (((val - *last) * 1000) / period);

Unused value (UNUSED_VALUE)
assigned_value:  Assigning value from ret * 1000U / 65535U to ret here,
but that stored value is not used.

 884        ret = (ret * 1000) / 65535;
 885        *last = val;
 886
 887        return 0;
 888 }

I'm really not sure why ret is being calculated on lines 883,884 and not
being used. Should that be *last = ret on line 885? Looks suspect anyhow.

Colin



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2021-06-11  6:55 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-09 11:50 Computation of return value being discarded in get_cpu_power() in drivers/platform/x86/intel_ips.c Colin Ian King
2021-06-09 11:50 ` [Intel-gfx] " Colin Ian King
2021-06-09 11:50 ` Colin Ian King
2021-06-10 11:51 ` joonas.lahtinen
2021-06-10 11:51   ` [Intel-gfx] " joonas.lahtinen
2021-06-10 11:51   ` joonas.lahtinen
2021-06-10 11:55 ` Joonas Lahtinen
2021-06-10 11:55   ` [Intel-gfx] " Joonas Lahtinen
2021-06-10 11:55   ` Joonas Lahtinen
2021-06-10 15:40   ` Jesse Barnes
2021-06-10 15:40     ` [Intel-gfx] " Jesse Barnes
2021-06-10 15:43   ` Jesse Barnes
2021-06-10 15:43     ` [Intel-gfx] " Jesse Barnes
2021-06-10 15:43     ` Jesse Barnes
2021-06-10 15:55   ` Hans de Goede
2021-06-10 15:55     ` [Intel-gfx] " Hans de Goede
2021-06-10 15:55     ` Hans de Goede

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.