Message ID | 20170407172820.21292-1-ben.dooks@codethink.co.uk |
---|---|
State | Rejected |
Headers | show |
On 2017-04-07 18:43, Thierry Reding wrote: > On Fri, Apr 07, 2017 at 06:28:20PM +0100, Ben Dooks wrote: >> The fdc variable is a bool, taking the address of this will generally >> produce true, thus skewing any users of the >> tegra_mc_set_latency_allowance >> code. >> >> Note, this does not seem to be producing a compiler warning. This was >> only >> spotted as it meant a caller was seeing 3 times higher than expected >> register results. >> >> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> >> --- >> drivers/memory/tegra/mc.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) > > What tree is this based on? I don't see this code anywhere in mainline. Apologies, turns out this a vendor added function.
diff --git a/drivers/memory/tegra/mc.c b/drivers/memory/tegra/mc.c index fb44d1741862..e20470736319 100644 --- a/drivers/memory/tegra/mc.c +++ b/drivers/memory/tegra/mc.c @@ -121,7 +121,7 @@ int tegra_mc_set_latency_allowance(int client_id, unsigned int bandwidth) WARN_ON(client->id != client_id); - if (&client->fdc) + if (client->fdc) atom_bytes = plat_mc->soc->atom_size_fdc; else atom_bytes = plat_mc->soc->atom_size;
The fdc variable is a bool, taking the address of this will generally produce true, thus skewing any users of the tegra_mc_set_latency_allowance code. Note, this does not seem to be producing a compiler warning. This was only spotted as it meant a caller was seeing 3 times higher than expected register results. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> --- drivers/memory/tegra/mc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)