On Wed, 12 Dec 2007 18:00:12 -0800 Geoff Levand <[EMAIL PROTECTED]> wrote:
> > This stray down would cause a permanent sleep which doesn't seem correct. > > The other uses of this semaphore appear fairly mutex like it's even > > initialized > > with init_MUTEX() .. So here a patch for removing this one down(). > > > > Signed-off-by: Daniel Walker <[EMAIL PROTECTED]> > > > > --- > > drivers/ps3/ps3-vuart.c | 1 - > > 1 file changed, 1 deletion(-) > > > Signed-off-by: Geoff Levand <[EMAIL PROTECTED]> > > > Looks, good. Looks bad to me. > Andrew, Please apply. The current code: if (result) { dev_dbg(&dev->core, "%s:%d: drv->probe failed\n", __func__, __LINE__); down(&vuart_bus_priv.probe_mutex); goto fail_probe; } up(&vuart_bus_priv.probe_mutex); return result; fail_probe: ps3_vuart_set_interrupt_mask(dev, 0); kfree(dev->driver_priv); dev->driver_priv = NULL; fail_dev_malloc: vuart_bus_priv.devices[dev->port_number] = NULL; fail_busy: ps3_vuart_bus_interrupt_put(); fail_setup_interrupt: up(&vuart_bus_priv.probe_mutex); dev_dbg(&dev->core, "%s:%d: failed\n", __func__, __LINE__); return result; } is correct. Although not exactly a thing of beauty. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev