Hi, Ameya Palande wrote: > From: Ameya Palande <ameya.palande@xxxxxxxxx> > > This prevents a panic caused by an IOCTL call before driver completes its > initialization. > > Signed-off-by: Ameya Palande <ameya.palande@xxxxxxxxx> > --- > drivers/dsp/bridge/rmgr/drv_interface.c | 29 +++++++++++++---------------- > 1 files changed, 13 insertions(+), 16 deletions(-) > > diff --git a/drivers/dsp/bridge/rmgr/drv_interface.c b/drivers/dsp/bridge/rmgr/drv_interface.c > index 9466409..79f75c9 100755 > --- a/drivers/dsp/bridge/rmgr/drv_interface.c > +++ b/drivers/dsp/bridge/rmgr/drv_interface.c > @@ -298,14 +298,6 @@ static int __devinit omap34xx_bridge_probe(struct platform_device *pdev) > bridge_device->cdev.owner = THIS_MODULE; > bridge_device->cdev.ops = &bridge_fops; > > - status = cdev_add(&bridge_device->cdev, dev, 1); > - > - if (status) { > - GT_0trace(driverTrace, GT_7CLASS, > - "Failed to add the bridge device \n"); > - return status; > - } > - > /* udev support */ > bridge_class = class_create(THIS_MODULE, "ti_bridge"); > > @@ -328,14 +320,6 @@ static int __devinit omap34xx_bridge_probe(struct platform_device *pdev) > > GT_0trace(driverTrace, GT_ENTER, "-> driver_init\n"); > > -#ifdef CONFIG_PM > - /* Initialize the wait queue */ > - if (!status) { > - bridge_suspend_data.suspended = 0; > - init_waitqueue_head(&bridge_suspend_data.suspend_wq); > - } > -#endif > - > SERVICES_Init(); > > /* Autostart flag. This should be set to true if the DSP image should > @@ -429,6 +413,19 @@ static int __devinit omap34xx_bridge_probe(struct platform_device *pdev) > } else { > GT_0trace(driverTrace, GT_5CLASS, > "DSP/BIOS Bridge driver loaded\n"); > + /* Announce to kernel that we are ready */ > + status = cdev_add(&bridge_device->cdev, dev, 1); > + if (status) { > + GT_0trace(driverTrace, GT_7CLASS, > + "Failed to add the bridge device \n"); > + } > + else { Checkpatch: else should follow close brace '}' > + #ifdef CONFIG_PM Moving this #ifdef & #endif to the start of the line will make it a bit easier to read. > + /* Initialize the wait queue */ > + bridge_suspend_data.suspended = 0; > + init_waitqueue_head(&bridge_suspend_data.suspend_wq); > + #endif > + } Line over 80 characters. What if you replace "if (DSP_SUCCEEDED(initStatus)) {" on line 403 for a goto and a failure comment, then you can remove one level of indentation. > } > } > > -- > 1.6.2.4 - omar -- 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