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 > ======================================================== -- 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