Hi, You are right. I checked with my JTAG debugger. It crashes just exactly there because of the reason you issued. Cheers, Nate On Thu, Mar 5, 2009 at 12:53 PM, Hiremath, Vaibhav <hvaibhav@xxxxxx> wrote: > > > Thanks, > Vaibhav Hiremath > >> -----Original Message----- >> From: DongSoo(Nathaniel) Kim [mailto:dongsoo.kim@xxxxxxxxx] >> Sent: Thursday, March 05, 2009 5:41 AM >> To: Sakari Ailus >> Cc: Hiremath, Vaibhav; linux-media@xxxxxxxxxxxxxxx; linux- >> omap@xxxxxxxxxxxxxxx; Aguirre Rodriguez, Sergio Alberto; Toivonen >> Tuukka Olli Artturi; Hiroshi DOYU >> Subject: Re: [RFC 0/9] OMAP3 ISP and camera drivers >> >> Hi Sakari, >> >> I'm also facing same issue with Hiremath. >> >> Here you are my kernel stack dump. >> > [Hiremath, Vaibhav] I was getting same kernel crash, The reason is - > > Since isp_probe doesn't get called, leaving omap3isp = NULL. So isp_get will return -EBUSY from the very beginning of function. And the function "omap34xxcam_device_register" which calls isp_get tries to access vdev->vfd->dev where it crashes. Which is completely wrong, since the vfd gets initialize later part of function > > > if (hwc.dev_type == OMAP34XXCAM_SLAVE_SENSOR) { > rval = isp_get(); > if (rval < 0) { > dev_err(&vdev->vfd->dev, "can't get ISP, sensor init failed\n"); > [Vaibhav] - Here it crashes. > goto err; > } > } > > There are some instances where vdev->vfd is being accessed before initializing. > >> Cheers, >> >> Nate >> >> [ 6.465606] [<c019e194>] (dev_driver_string+0x0/0x44) from >> [<c01cc5e0>] (omap34xxcam_device_register+0x110/0x2f8) >> [ 6.475952] [<c01cc4d0>] (omap34xxcam_device_register+0x0/0x2f8) >> from [<c01b91a0>] (__v4l2_int_device_try_attach_all+0xb0/0x108) >> [ 6.487609] r7:00000000 r6:c03e4fcc r5:cfbbf834 r4:c03e4f94 >> [ 6.493347] [<c01b90f0>] >> (__v4l2_int_device_try_attach_all+0x0/0x108) from [<c01b9258>] >> (v4l2_int_device_register+0x60/0x7c) >> [ 6.504638] r7:c03e4eec r6:cf9e5020 r5:c03e4f94 r4:c03e03f8 >> [ 6.510375] [<c01b91f8>] (v4l2_int_device_register+0x0/0x7c) from >> [<c00182e4>] (ce131f_probe+0x88/0xa8) >> [ 6.519836] r5:00000000 r4:cf9e5000 >> [ 6.523437] [<c001825c>] (ce131f_probe+0x0/0xa8) from >> [<c01cefa4>] >> (i2c_device_probe+0x78/0x90) >> [ 6.532226] r5:cf9e5000 r4:c001825c >> [ 6.535827] [<c01cef2c>] (i2c_device_probe+0x0/0x90) from >> [<c01a1634>] (driver_probe_device+0xd4/0x180) >> [ 6.545318] r7:c03e4eec r6:c03e4eec r5:cf9e50a8 r4:cf9e5020 >> [ 6.551025] [<c01a1560>] (driver_probe_device+0x0/0x180) from >> [<c01a1748>] (__driver_attach+0x68/0x8c) >> [ 6.560394] r7:c03e4eec r6:c03e4eec r5:cf9e50a8 r4:cf9e5020 >> [ 6.566131] [<c01a16e0>] (__driver_attach+0x0/0x8c) from >> [<c01a0a8c>] (bus_for_each_dev+0x4c/0x84) >> [ 6.575164] r7:c03e4eec r6:c01a16e0 r5:cf821cc8 r4:00000000 >> [ 6.580871] [<c01a0a40>] (bus_for_each_dev+0x0/0x84) from >> [<c01a1478>] (driver_attach+0x20/0x28) >> [ 6.589721] r7:cfb121a0 r6:c0018224 r5:c03e4eec r4:00000000 >> [ 6.595458] [<c01a1458>] (driver_attach+0x0/0x28) from >> [<c01a1054>] >> (bus_add_driver+0xa8/0x214) >> [ 6.604217] [<c01a0fac>] (bus_add_driver+0x0/0x214) from >> [<c01a196c>] (driver_register+0x98/0x120) >> [ 6.613250] r8:00000000 r7:c03ef760 r6:c0018224 r5:c03e4eec >> r4:c03e4ec0 >> [ 6.620025] [<c01a18d4>] (driver_register+0x0/0x120) from >> [<c01cfffc>] (i2c_register_driver+0x98/0xfc) >> [ 6.629425] [<c01cff64>] (i2c_register_driver+0x0/0xfc) from >> [<c001823c>] (ce131f_isp_init+0x18/0x38) >> [ 6.638702] r7:c03ef760 r6:c0018224 r5:c0022d78 r4:c0023128 >> [ 6.644439] [<c0018224>] (ce131f_isp_init+0x0/0x38) from >> [<c002a2d0>] (do_one_initcall+0x78/0x1d8) >> [ 6.653472] r5:c0022d78 r4:c0023128 >> [ 6.657073] [<c002a258>] (do_one_initcall+0x0/0x1d8) from >> [<c0008720>] (kernel_init+0x74/0xe0) >> [ 6.665740] r8:00000000 r7:00000000 r6:00000000 r5:c0022d78 >> r4:c0023128 >> [ 6.672515] [<c00086ac>] (kernel_init+0x0/0xe0) from [<c005c234>] >> (do_exit+0x0/0x684) >> [ 6.680419] r5:00000000 r4:00000000 >> [ 6.684020] Code: c036e993 e1a0c00d e92dd800 e24cb004 (e5903098) >> [ 6.690246] ---[ end trace cc13b15a4191e849 ]--- >> [ 6.694915] Kernel panic - not syncing: Attempted to kill init! >> >> On Thu, Mar 5, 2009 at 12:38 AM, Sakari Ailus >> <sakari.ailus@xxxxxxxxxxxxxxxxxxxxxxxxxx> wrote: >> > Hiremath, Vaibhav wrote: >> >> >> >> [Hiremath, Vaibhav] Sakari, Let me ask you basic question, have >> you >> >> tested/verified these patch-sets? >> > >> > For the ISP and camera drivers, yes. That's actually the only >> thing that's >> > contained in the patchset. >> > >> >> The reason I am asking this question is, for me it was not >> working. I >> >> had to debug this and found that - >> >> >> >> - Changes missing in devices.c file, so isp_probe function will >> not >> >> be called at all, keeping omap3isp = NULL. You will end up into >> >> kernel crash in omap34xxcam_device_register. >> > >> > Anyway a crash shouldn't happen here. Could I see the kernel oops >> if there >> > was such? >> > >> >> - The patches from Hiroshi DOYU doesn't build as is, you need to >> add >> >> one include line #include <linux/hardirq.h> in iovmmu.c (I am >> using >> >> the patches submitted on 16th Jan 2009) >> > >> > Just pull the iommu branch, the Hiroshi's original patches are >> missing some >> > hacks that you need to use them now. I'd expect Hiroshi to update >> the >> > patchset when he comes back. >> > >> >> I have attached "git diff" output here with this mail for >> reference. >> > >> > Please pull also the "base" branch. >> > >> > -- >> > Sakari Ailus >> > sakari.ailus@xxxxxxxxxxxxxxxxxxxxxxxxxx >> > >> >> >> >> -- >> ======================================================== >> DongSoo(Nathaniel), Kim >> Engineer >> Mobile S/W Platform Lab. S/W centre >> Telecommunication R&D Centre >> Samsung Electronics CO., LTD. >> e-mail : dongsoo.kim@xxxxxxxxx >> dongsoo45.kim@xxxxxxxxxxx >> ======================================================== > > -- ======================================================== DongSoo(Nathaniel), Kim Engineer Mobile S/W Platform Lab. S/W Team. DMC Samsung Electronics CO., LTD. e-mail : dongsoo.kim@xxxxxxxxx dongsoo45.kim@xxxxxxxxxxx ======================================================== -- 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