Re: [PATCH] OMAP3: PM: quickly hack fix up init_opp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nishanth Menon <nm@xxxxxx> writes:

> init_opp is seen to crash, in resource34xx.c BUG() causes
> a kernel oops when OPP layer is not registered!
>
> Original Report:
> http://marc.info/?l=linux-omap&m=127268352116119&w=2
>
> Cc: Peter Tseng <tsenpet09@xxxxxxxxx>
> Cc: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx>
> Reported-by: Peter Tseng <tsenpet09@xxxxxxxxx>
> Signed-off-by: Nishanth Menon <nm@xxxxxx>
> ---
> IMPORTANT: Completely untested!! just for a dry-run and
> srf is going to go away in a month, so this is more or
> less a curio..

Tested on overo without OPP init and also needed this additional bit
below to avoid another BUG.  Will merge into your patch and add to
pm-srf branch.

With this, Overo boots, but will need OPP table init in board file to
use DVFS/CPUfreq.

Kevin

diff --git a/arch/arm/mach-omap2/resource34xx.c b/arch/arm/mach-omap2/resource34xx.c
index ae8bd09..2bc5694 100644
--- a/arch/arm/mach-omap2/resource34xx.c
+++ b/arch/arm/mach-omap2/resource34xx.c
@@ -533,7 +533,7 @@ void init_freq(struct shared_resource *resp)
 {
 	char *linked_res_name;
 	int ret = -EINVAL;
-	unsigned long freq;
+	unsigned long freq = 0;
 	resp->no_of_users = 0;
 
 	linked_res_name = (char *)resp->resource_data;
@@ -546,7 +546,8 @@ void init_freq(struct shared_resource *resp)
 	else if (strcmp(resp->name, "dsp_freq") == 0)
 		/* DSP freq in Mhz */
 		ret = opp_to_freq(&freq, OPP_DSP, curr_vdd1_opp);
-	BUG_ON(ret);
+	if (ret)
+		pr_err("%s: initializing frequency failed!\n", __func__);
 
 	resp->curr_level = freq;
 	return;
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux