From mboxrd@z Thu Jan 1 00:00:00 1970 From: Timur Tabi Date: Fri, 07 Dec 2007 14:43:06 -0600 Subject: [U-Boot-Users] Can't call printf() in functions called via function pointers? Message-ID: <4759B05A.4090800@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On and 8323E-MDS, I added a printf() to fdt_set_qe_busfreq(): static int fdt_set_qe_busfreq(void *blob, int nodeoffset, const char *name, bd_t *bd) { u32 tmp; /* Create or update the property */ printf("%s:%u\n", __FUNCTION__, __LINE__); tmp = cpu_to_be32(gd->qe_clk); return fdt_setprop(blob, nodeoffset, name, &tmp, sizeof(tmp)); } Adding this printf() causes the system to reset. The odd thing is that I can add all the printfs I want to ft_cpu_setup(). Is this because fdt_set_qe_busfreq() is being called via function pointer, and these calls are screwed up because of the relocation? -- Timur Tabi Linux kernel developer at Freescale