* [PATCH] clk: fix boot panic with non-dev-associated clocks
@ 2013-10-31 16:49 Olof Johansson
2013-10-31 17:05 ` Fabio Estevam
2013-10-31 19:02 ` Stephen Warren
0 siblings, 2 replies; 8+ messages in thread
From: Olof Johansson @ 2013-10-31 16:49 UTC (permalink / raw)
To: linux-arm-kernel
Fixes a panic at boot on many platforms. For example, on imx (wandboard),
I get:
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = 80004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1] SMP ARM
Modules linked in:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.12.0-rc3+ #14
task: 807f9be0 ti: 807ee000 task.ti: 807ee000
PC is at _clk_register+0x164/0x1d0
LR is at 0x6d6d7564
pc : [<80458560>] lr : [<6d6d7564>] psr: 600001d3
sp : 807efe78 ip : 00000000 fp : 807efe9c
r10: 00000000 r9 : 412fc09a r8 : ef002c40
r7 : 00000000 r6 : ef012180 r5 : ef002c40 r4 : 00000000
r3 : 807efec8 r2 : 00000000 r1 : 8075732e r0 : ef002c80
Flags: nZCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel
Control: 10c53c7d Table: 1000404a DAC: 00000017
Process swapper/0 (pid: 0, stack limit = 0x807ee240)
[...]
Backtrace:
[<804583fc>] (_clk_register+0x0/0x1d0) from [<80458608>] (clk_register+0x3c/0x7c)
r8:1000406a r7:00000030 r6:00000000 r5:ef002c40 r4:ef012180 r3:00000000
[<804585cc>] (clk_register+0x0/0x7c) from [<80459008>] (clk_register_fixed_rate+0x88/0xd8)
r6:80757328 r5:00000000 r4:ef002c40 r3:807efec8
[<80458f80>] (clk_register_fixed_rate+0x0/0xd8) from [<807ad414>] (imx6q_clocks_init+0x30/0x2d0c)
r7:81695fc0 r6:807dea48 r5:807e9150 r4:00000000
[<807ad3e4>] (imx6q_clocks_init+0x0/0x2d0c) from [<807cb884>] (of_clk_init+0x44/0x68)
[<807cb840>] (of_clk_init+0x0/0x68) from [<807b01c4>] (imx6q_timer_init+0x14/0x54)
r5:807f6800 r4:80835d80
[<807b01b0>] (imx6q_timer_init+0x0/0x54) from [<807a012c>] (time_init+0x24/0x34)
[<807a0108>] (time_init+0x0/0x34) from [<8079c9b4>] (start_kernel+0x1b4/0x308)
[<8079c800>] (start_kernel+0x0/0x308) from [<10008074>] (0x10008074)
r7:807faba8 r6:807dea44 r5:807f68a8 r4:10c53c7d
Fixes: 7c042b5e39c9 ('clk: Allow drivers to pass in a regmap')
Cc: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
---
drivers/clk/clk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index b6f87af..5e71f5c 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -1839,7 +1839,7 @@ static int _clk_register(struct device *dev, struct clk_hw *hw, struct clk *clk)
hw->regmap = hw->init->regmap;
else if (dev && dev_get_regmap(dev, NULL))
hw->regmap = dev_get_regmap(dev, NULL);
- else if (dev->parent)
+ else if (dev && dev->parent)
hw->regmap = dev_get_regmap(dev->parent, NULL);
/* allocate local copy in case parent_names is __initdata */
--
1.7.10.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] clk: fix boot panic with non-dev-associated clocks
2013-10-31 16:49 [PATCH] clk: fix boot panic with non-dev-associated clocks Olof Johansson
@ 2013-10-31 17:05 ` Fabio Estevam
2013-10-31 17:07 ` Olof Johansson
2013-10-31 19:02 ` Stephen Warren
1 sibling, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2013-10-31 17:05 UTC (permalink / raw)
To: linux-arm-kernel
Hi Olof,
On Thu, Oct 31, 2013 at 2:49 PM, Olof Johansson <olof@lixom.net> wrote:
> Fixes a panic at boot on many platforms. For example, on imx (wandboard),
> I get:
With this patch applied console messages appears on 20131031, but it
seems we still have other issues:
Starting kernel ...
Booting Linux on physical CPU 0x0
Linux version 3.12.0-rc7-next-20131031+ (fabio at fabio-Latitude-E6410)
(gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) ) #382 SMP Thu
Oct 31 14:53:20 BRST 2013
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Wandboard i.MX6 Dual Lite Board
Memory policy: ECC disabled, Data cache writeback
CPU: All CPU(s) started in SVC mode.
PERCPU: Embedded 8 pages/cpu @8141d000 s8960 r8192 d15616 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=tty0 console=ttymxc0,115200 root=/dev/nfs
ip=dhcp nfsroot=10.29.244.144:/tftpboot/rfs,v3,tcp earlyprintk
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 505276K/524288K available (6115K kernel code, 346K rwdata,
2032K rodata, 304K init, 5494K bss, 19012K reserved)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xa0800000 - 0xff000000 (1512 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
modules : 0x7f000000 - 0x80000000 ( 16 MB)
.text : 0x80008000 - 0x807fcedc (8148 kB)
.init : 0x807fd000 - 0x80849300 ( 305 kB)
.data : 0x8084a000 - 0x808a0a00 ( 347 kB)
.bss : 0x808a0a08 - 0x80dfe3ec (5495 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Hierarchical RCU implementation.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
NR_IRQS:16 nr_irqs:16 16
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x32050000, Cache size: 512 kB
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at include/linux/kref.h:47 __clk_get+0x78/0x8c()
Modules linked in:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.12.0-rc7-next-20131031+ #382
Backtrace:
[<8001233c>] (dump_backtrace+0x0/0x10c) from [<800124d8>] (show_stack+0x18/0x1c)
r6:8046f378 r5:00000009 r4:00000000 r3:00000000
[<800124c0>] (show_stack+0x0/0x1c) from [<805f80a4>] (dump_stack+0x80/0x9c)
[<805f8024>] (dump_stack+0x0/0x9c) from [<80026d9c>]
(warn_slowpath_common+0x70/0x94)
r4:00000000 r3:80855d70
[<80026d2c>] (warn_slowpath_common+0x0/0x94) from [<80026de4>]
(warn_slowpath_null+0x24/0x2c)
r8:00000000 r7:80747c88 r6:80891084 r5:80744ad4 r4:808a0970
[<80026dc0>] (warn_slowpath_null+0x0/0x2c) from [<8046f378>]
(__clk_get+0x78/0x8c)
[<8046f300>] (__clk_get+0x0/0x8c) from [<8046c310>] (clk_get_sys+0xf4/0x124)
r4:9f828e40 r3:00000003
[<8046c21c>] (clk_get_sys+0x0/0x124) from [<80804e08>]
(mxc_timer_init+0x24/0x178)
[<80804de4>] (mxc_timer_init+0x0/0x178) from [<8081148c>]
(imx6q_clocks_init+0x2c30/0x2d60)
r8:00000004 r7:808a1518 r6:80843af0 r5:814108c8 r4:a0820000
[<8080e85c>] (imx6q_clocks_init+0x0/0x2d60) from [<8082d588>]
(of_clk_init+0x44/0x6c)
[<8082d544>] (of_clk_init+0x0/0x6c) from [<808012c4>] (time_init+0x2c/0x38)
r6:ffffffff r5:808a0a40 r4:00000001
[<80801298>] (time_init+0x0/0x38) from [<807fd9f4>] (start_kernel+0x1c0/0x340)
[<807fd834>] (start_kernel+0x0/0x340) from [<10008074>] (0x10008074)
---[ end trace 3406ff24bd97382e ]---
sched_clock: 32 bits at 66MHz, resolution 15ns, wraps every 65075262448ns
Console: colour dummy device 80x30
console [tty0] enabled
Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
... MAX_LOCKDEP_SUBCLASSES: 8
... MAX_LOCK_DEPTH: 48
... MAX_LOCKDEP_KEYS: 8191
... CLASSHASH_SIZE: 4096
... MAX_LOCKDEP_ENTRIES: 16384
... MAX_LOCKDEP_CHAINS: 32768
... CHAINHASH_SIZE: 16384
memory used by lock dependency info: 3695 kB
per task-struct memory footprint: 1152 bytes
Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x105ff160 - 0x105ff1d0
CPU1: failed to boot: -38
Brought up 1 CPUs
SMP: Total of 1 processors activated.
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
pinctrl core: initialized pinctrl subsystem
regulator-dummy: no parameters
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
CPU identified as i.MX6DL, silicon rev 1.1
syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered
vdd1p1: 800 <--> 1375 mV at 1100 mV
vdd3p0: 2800 <--> 3150 mV at 3000 mV
vdd2p5: 2000 <--> 2750 mV at 2400 mV
cpu: 725 <--> 1450 mV at 1150 mV
vddpu: 725 <--> 1450 mV at 1150 mV
vddsoc: 725 <--> 1450 mV at 1200 mV
syscon 20e0000.iomuxc-gpr: regmap [mem 0x020e0000-0x020e0037] registered
syscon 21bc000.ocotp: regmap [mem 0x021bc000-0x021bffff] registered
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
imx6dl-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
bio: create slab <bio-0> at 0
mxs-dma 110000.dma-apbh: initialized
2P5V: 2500 mV
3P3V: 3300 mV
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c i2c-1: IMX I2C adapter registered
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti
<giometti@linux.it>
PTP clock support registered
Advanced Linux Sound Architecture Driver Initialized.
cfg80211: Calling CRDA to update world regulatory domain
Switched to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 5, 147456 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP: reno registered
UDP hash table entries: 256 (order: 2, 20480 bytes)
UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) ?? 2001-2006 Red Hat, Inc.
fuse init (API version 7.22)
msgmni has been set to 986
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-weim 21b8000.weim: Driver registered.
imx-sdma 20ec000.sdma: Direct firmware load failed with error -2
imx-sdma 20ec000.sdma: Falling back to user helper
imx-sdma 20ec000.sdma: initialized
Serial: IMX driver
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58, base_baud =
5000000) is a IMX
console [ttymxc0] enabled
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 60, base_baud =
5000000) is a IMX
serial: Freescale lpuart driver
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
fec 2188000.ethernet: dummy supplies not allowed
libphy: fec_enet_mii_bus: probed
fec 2188000.ethernet eth0: registered PHC device 0
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usbcore: registered new interface driver usb-storage
imx_usb 2184000.usb: usbmisc init failed, ret=-517
platform 2184000.usb: Driver imx_usb requests probe deferral
imx_usb 2184200.usb: usbmisc init failed, ret=-517
platform 2184200.usb: Driver imx_usb requests probe deferral
mousedev: PS/2 mouse device common for all mice
Unable to handle kernel paging request at virtual address 65776f70
pgd = 80004000
[65776f70] *pgd=00000000
Internal error: Oops: 5 [#1] SMP ARM
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W
3.12.0-rc7-next-20131031+ #382
task: 9f870000 ti: 9f85a000 task.ti: 9f85a000
PC is at __kmalloc_track_caller+0x68/0x160
LR is at __kmalloc_track_caller+0x20/0x160
pc : [<800d4838>] lr : [<800d47f0>] psr: 20000113
sp : 9f85bdc0 ip : 00bd6000 fp : 9f85bdf4
r10: 000000d0 r9 : 9f85a000 r8 : 8082b134
r7 : 80852c80 r6 : 0000000b r5 : 65776f70 r4 : 9f801f00
r3 : 9f85a000 r2 : 00000000 r1 : 80852c80 r0 : 8084b320
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c53c7d Table: 10004059 DAC: 00000017
Process swapper/0 (pid: 1, stack limit = 0x9f85a240)
Stack: (0x9f85bdc0 to 0x9f85c000)
bdc0: ff0a0004 00001e3b 9facd2a4 9f85be68 807520ac 0000000b 000000d0 8082b134
bde0: 9f85a000 80839df0 9f85be1c 9f85bdf8 80291500 800d47dc 00000002 9f85be68
be00: 9facd280 9facd280 00000000 00000000 9f85be3c 9f85be20 80287ec0 802914c0
be20: 9facd280 807520ac 00000000 807fd55c 9f85be60 9f85be40 80287f78 80287ea0
be40: 805f0ab0 9f85be68 8088cd04 9facd280 808799d8 9f85be8c 9f85be68 8031a138
be60: 80287f4c 807520ac 80745094 9f85be78 8088cd04 00000006 808a0a40 807fd55c
be80: 9f85bea4 9f85be90 8031b310 8031a0c8 80845e1c 00000006 9f85beb4 9f85bea8
bea0: 8031bfd0 8031b29c 9f85bec4 9f85beb8 8082b14c 8031bf8c 9f85bf54 9f85bec8
bec0: 80008974 8082b140 805fec5c 8007cad0 00000000 00000000 9f85bf1c 9f85bee8
bee0: 9f85bf0c 9f85bef0 9f85bf00 9f85bef8 807fd55c 8141a665 80618964 000000bf
bf00: 9f85bf54 9f85bf10 800426e0 807fd568 9f85bf34 00000006 8141a670 00000006
bf20: 807facb8 807a1260 9f85bf54 80845e1c 00000006 808a0a40 807fd55c 000000bf
bf40: 80839de4 80839df0 9f85bf94 9f85bf58 807fdc78 80008884 00000006 00000006
bf60: 807fd55c 00000000 9f85a000 00000000 805f32b4 00000000 00000000 00000000
bf80: 00000000 00000000 9f85bfac 9f85bf98 805f32c4 807fdb80 ffffffff 00000000
bfa0: 00000000 9f85bfb0 8000eae8 805f32c0 00000000 00000000 00000000 00000000
bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
Backtrace:
[<800d47d0>] (__kmalloc_track_caller+0x0/0x160) from [<80291500>]
(kvasprintf+0x4c/0x70)
[<802914b4>] (kvasprintf+0x0/0x70) from [<80287ec0>]
(kobject_set_name_vargs+0x2c/0x78)
r7:00000000 r6:00000000 r5:9facd280 r4:9facd280
[<80287e94>] (kobject_set_name_vargs+0x0/0x78) from [<80287f78>]
(kobject_init_and_add+0x3c/0x70)
r7:807fd55c r6:00000000 r5:807520ac r4:9facd280
[<80287f40>] (kobject_init_and_add+0x4/0x70) from [<8031a138>]
(bus_add_driver+0x7c/0x1dc)
r6:808799d8 r5:9facd280 r4:8088cd04
[<8031a0bc>] (bus_add_driver+0x0/0x1dc) from [<8031b310>]
(driver_register+0x80/0xfc)
r7:807fd55c r6:808a0a40 r5:00000006 r4:8088cd04
[<8031b290>] (driver_register+0x0/0xfc) from [<8031bfd0>]
(__platform_driver_register+0x50/0x64)
r5:00000006 r4:80845e1c
[<8031bf80>] (__platform_driver_register+0x0/0x64) from [<8082b14c>]
(imx_keypad_driver_init+0x18/0x20)
[<8082b134>] (imx_keypad_driver_init+0x0/0x20) from [<80008974>]
(do_one_initcall+0xfc/0x160)
[<80008878>] (do_one_initcall+0x0/0x160) from [<807fdc78>]
(kernel_init_freeable+0x104/0x1d4)
[<807fdb74>] (kernel_init_freeable+0x0/0x1d4) from [<805f32c4>]
(kernel_init+0x10/0x120)
[<805f32b4>] (kernel_init+0x0/0x120) from [<8000eae8>] (ret_from_fork+0x14/0x2c)
r4:00000000 r3:ffffffff
Code: e790500c e3550000 0a000025 e5942014 (e7959002)
---[ end trace 3406ff24bd97382f ]---
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] clk: fix boot panic with non-dev-associated clocks
2013-10-31 17:05 ` Fabio Estevam
@ 2013-10-31 17:07 ` Olof Johansson
2013-10-31 18:47 ` Fabio Estevam
0 siblings, 1 reply; 8+ messages in thread
From: Olof Johansson @ 2013-10-31 17:07 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Oct 31, 2013 at 10:05 AM, Fabio Estevam <festevam@gmail.com> wrote:
> Hi Olof,
>
> On Thu, Oct 31, 2013 at 2:49 PM, Olof Johansson <olof@lixom.net> wrote:
>> Fixes a panic at boot on many platforms. For example, on imx (wandboard),
>> I get:
>
> With this patch applied console messages appears on 20131031, but it
> seems we still have other issues:
Yeah, there's lots of badness in last night's -next. :(
Of course, this one will be nasty to bisect down since I need the clk
fix on top. I'll give it a go.
-Olof
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] clk: fix boot panic with non-dev-associated clocks
2013-10-31 17:07 ` Olof Johansson
@ 2013-10-31 18:47 ` Fabio Estevam
2013-10-31 18:54 ` Olof Johansson
0 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2013-10-31 18:47 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Oct 31, 2013 at 3:07 PM, Olof Johansson <olof@lixom.net> wrote:
> On Thu, Oct 31, 2013 at 10:05 AM, Fabio Estevam <festevam@gmail.com> wrote:
>> Hi Olof,
>>
>> On Thu, Oct 31, 2013 at 2:49 PM, Olof Johansson <olof@lixom.net> wrote:
>>> Fixes a panic at boot on many platforms. For example, on imx (wandboard),
>>> I get:
>>
>> With this patch applied console messages appears on 20131031, but it
>> seems we still have other issues:
>
>
> Yeah, there's lots of badness in last night's -next. :(
If I apply this change:
--- a/drivers/clk/clkdev.c
+++ b/drivers/clk/clkdev.c
@@ -44,7 +44,7 @@ struct clk *of_clk_get(struct device_node *np, int index)
of_clk_lock();
clk = __of_clk_get_from_provider(&clkspec);
- if (!IS_ERR(clk) && !__clk_get(clk))
+ if (IS_ERR(clk) && !__clk_get(clk))
clk = ERR_PTR(-ENOENT);
of_clk_unlock();
Then I am able to boot until the prompt. (Still get the warning
_clk_get warning though).
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] clk: fix boot panic with non-dev-associated clocks
2013-10-31 18:47 ` Fabio Estevam
@ 2013-10-31 18:54 ` Olof Johansson
2013-10-31 19:00 ` Mike Turquette
0 siblings, 1 reply; 8+ messages in thread
From: Olof Johansson @ 2013-10-31 18:54 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Oct 31, 2013 at 11:47 AM, Fabio Estevam <festevam@gmail.com> wrote:
> On Thu, Oct 31, 2013 at 3:07 PM, Olof Johansson <olof@lixom.net> wrote:
>> On Thu, Oct 31, 2013 at 10:05 AM, Fabio Estevam <festevam@gmail.com> wrote:
>>> Hi Olof,
>>>
>>> On Thu, Oct 31, 2013 at 2:49 PM, Olof Johansson <olof@lixom.net> wrote:
>>>> Fixes a panic at boot on many platforms. For example, on imx (wandboard),
>>>> I get:
>>>
>>> With this patch applied console messages appears on 20131031, but it
>>> seems we still have other issues:
>>
>>
>> Yeah, there's lots of badness in last night's -next. :(
>
> If I apply this change:
>
> --- a/drivers/clk/clkdev.c
> +++ b/drivers/clk/clkdev.c
> @@ -44,7 +44,7 @@ struct clk *of_clk_get(struct device_node *np, int index)
> of_clk_lock();
> clk = __of_clk_get_from_provider(&clkspec);
>
> - if (!IS_ERR(clk) && !__clk_get(clk))
> + if (IS_ERR(clk) && !__clk_get(clk))
> clk = ERR_PTR(-ENOENT);
That doesn't look right, it'll call __clk_get() with an error code as the clock.
Mike, seems like reverting back the clock tree to a known good state
(same as yesterday) and re-target 3.14 for the latest changes is a
suitable course of action at this time in the release cycle.
-Olof
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] clk: fix boot panic with non-dev-associated clocks
2013-10-31 18:54 ` Olof Johansson
@ 2013-10-31 19:00 ` Mike Turquette
2013-10-31 23:57 ` Sylwester Nawrocki
0 siblings, 1 reply; 8+ messages in thread
From: Mike Turquette @ 2013-10-31 19:00 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Oct 31, 2013 at 11:54 AM, Olof Johansson <olof@lixom.net> wrote:
> On Thu, Oct 31, 2013 at 11:47 AM, Fabio Estevam <festevam@gmail.com> wrote:
>> On Thu, Oct 31, 2013 at 3:07 PM, Olof Johansson <olof@lixom.net> wrote:
>>> On Thu, Oct 31, 2013 at 10:05 AM, Fabio Estevam <festevam@gmail.com> wrote:
>>>> Hi Olof,
>>>>
>>>> On Thu, Oct 31, 2013 at 2:49 PM, Olof Johansson <olof@lixom.net> wrote:
>>>>> Fixes a panic at boot on many platforms. For example, on imx (wandboard),
>>>>> I get:
>>>>
>>>> With this patch applied console messages appears on 20131031, but it
>>>> seems we still have other issues:
>>>
>>>
>>> Yeah, there's lots of badness in last night's -next. :(
>>
>> If I apply this change:
>>
>> --- a/drivers/clk/clkdev.c
>> +++ b/drivers/clk/clkdev.c
>> @@ -44,7 +44,7 @@ struct clk *of_clk_get(struct device_node *np, int index)
>> of_clk_lock();
>> clk = __of_clk_get_from_provider(&clkspec);
>>
>> - if (!IS_ERR(clk) && !__clk_get(clk))
>> + if (IS_ERR(clk) && !__clk_get(clk))
>> clk = ERR_PTR(-ENOENT);
>
> That doesn't look right, it'll call __clk_get() with an error code as the clock.
>
> Mike, seems like reverting back the clock tree to a known good state
> (same as yesterday) and re-target 3.14 for the latest changes is a
> suitable course of action at this time in the release cycle.
I think removal of the MSM series and clock deregistration stuff is
prudent. The Tegra pull request (with updated fixes) and EFM32 driver
should be OK.
I'll cull out the questionable bits and force update.
Regards,
Mike
>
>
> -Olof
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] clk: fix boot panic with non-dev-associated clocks
2013-10-31 16:49 [PATCH] clk: fix boot panic with non-dev-associated clocks Olof Johansson
2013-10-31 17:05 ` Fabio Estevam
@ 2013-10-31 19:02 ` Stephen Warren
1 sibling, 0 replies; 8+ messages in thread
From: Stephen Warren @ 2013-10-31 19:02 UTC (permalink / raw)
To: linux-arm-kernel
On 10/31/2013 10:49 AM, Olof Johansson wrote:
> Fixes a panic at boot on many platforms. For example, on imx (wandboard),
> I get:
...
> Fixes: 7c042b5e39c9 ('clk: Allow drivers to pass in a regmap')
> Cc: Stephen Boyd <sboyd@codeaurora.org>
> Signed-off-by: Olof Johansson <olof@lixom.net>
Tested-by: Stephen Warren <swarren@nvidia.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] clk: fix boot panic with non-dev-associated clocks
2013-10-31 19:00 ` Mike Turquette
@ 2013-10-31 23:57 ` Sylwester Nawrocki
0 siblings, 0 replies; 8+ messages in thread
From: Sylwester Nawrocki @ 2013-10-31 23:57 UTC (permalink / raw)
To: linux-arm-kernel
On 10/31/2013 08:00 PM, Mike Turquette wrote:
> On Thu, Oct 31, 2013 at 11:54 AM, Olof Johansson<olof@lixom.net> wrote:
>> On Thu, Oct 31, 2013 at 11:47 AM, Fabio Estevam<festevam@gmail.com> wrote:
>>> On Thu, Oct 31, 2013 at 3:07 PM, Olof Johansson<olof@lixom.net> wrote:
>>>> On Thu, Oct 31, 2013 at 10:05 AM, Fabio Estevam<festevam@gmail.com> wrote:
>>>>> Hi Olof,
>>>>>
>>>>> On Thu, Oct 31, 2013 at 2:49 PM, Olof Johansson<olof@lixom.net> wrote:
>>>>>> Fixes a panic at boot on many platforms. For example, on imx (wandboard),
>>>>>> I get:
>>>>>
>>>>> With this patch applied console messages appears on 20131031, but it
>>>>> seems we still have other issues:
>>>>
>>>>
>>>> Yeah, there's lots of badness in last night's -next. :(
>>>
>>> If I apply this change:
>>>
>>> --- a/drivers/clk/clkdev.c
>>> +++ b/drivers/clk/clkdev.c
>>> @@ -44,7 +44,7 @@ struct clk *of_clk_get(struct device_node *np, int index)
>>> of_clk_lock();
>>> clk = __of_clk_get_from_provider(&clkspec);
>>>
>>> - if (!IS_ERR(clk)&& !__clk_get(clk))
>>> + if (IS_ERR(clk)&& !__clk_get(clk))
>>> clk = ERR_PTR(-ENOENT);
>>
>> That doesn't look right, it'll call __clk_get() with an error code as the clock.
>>
>> Mike, seems like reverting back the clock tree to a known good state
>> (same as yesterday) and re-target 3.14 for the latest changes is a
>> suitable course of action at this time in the release cycle.
>
> I think removal of the MSM series and clock deregistration stuff is
> prudent. The Tegra pull request (with updated fixes) and EFM32 driver
> should be OK.
I agree, I thought the clock deregistration patches is something better
had exposure for couple weeks in -next. It's a bit late now for those
changes unfortunately.
> I'll cull out the questionable bits and force update.
Thanks.
Regards,
Sylwester
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-10-31 23:57 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-31 16:49 [PATCH] clk: fix boot panic with non-dev-associated clocks Olof Johansson
2013-10-31 17:05 ` Fabio Estevam
2013-10-31 17:07 ` Olof Johansson
2013-10-31 18:47 ` Fabio Estevam
2013-10-31 18:54 ` Olof Johansson
2013-10-31 19:00 ` Mike Turquette
2013-10-31 23:57 ` Sylwester Nawrocki
2013-10-31 19:02 ` Stephen Warren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).