On Mon, May 21, 2012 at 12:14:52AM +0100, Emil Velikov wrote: > Removes unnecessary goto statement I dropped these changes from this patch for the moment, I might want them yet.
> fini subdevices before destroying them I took this hunk, and reworded the commit message to match. > > Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> > --- > drivers/gpu/drm/nouveau/nouveau_device.c | 26 +++++++++++++++----------- > 1 file changed, 15 insertions(+), 11 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_device.c > b/drivers/gpu/drm/nouveau/nouveau_device.c > index 9cc21d1..38ed71a 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_device.c > +++ b/drivers/gpu/drm/nouveau/nouveau_device.c > @@ -55,13 +55,13 @@ nouveau_device_init(struct nouveau_device *ndev) > > for (i = 0; i < NVDEV_SUBDEV_NR; i++) { > ret = nouveau_subdev_init(ndev, i, 0); > - if (ret) > - goto error; > + if (ret) { > + for (--i; i >= 0; i--) > + nouveau_subdev_fini(ndev, i, false); > + break; > + } > } > > -error: > - for (--i; ret && i >= 0; i--) > - nouveau_subdev_fini(ndev, i, false); > return ret; > } > > @@ -72,13 +72,13 @@ nouveau_device_fini(struct nouveau_device *ndev, bool > suspend) > > for (i = NVDEV_SUBDEV_NR - 1; i >= 0; i--) { > ret = nouveau_subdev_fini(ndev, i, suspend); > - if (ret) > - goto error; > + if (ret) { > + for (--i; i >= 0; i--) > + nouveau_subdev_init(ndev, i, 0); > + break; > + } > } > > -error: > - for (--i; ret && i >= 0; i--) > - nouveau_subdev_init(ndev, i, 0); > return ret; > } > > @@ -96,6 +96,7 @@ nouveau_device_create(struct nouveau_device *ndev) > { > int disable = nouveau_noaccel; > int ret = 0; > + int i; > > /* mask out any engines that are known not to work as they should, > * these can be overridden by the user > @@ -553,7 +554,10 @@ nouveau_device_create(struct nouveau_device *ndev) > break; > } > > - if (ret) > + if (ret) { > + for (i = NVDEV_SUBDEV_NR - 1; i >= 0; i--) > + nouveau_subdev_fini(ndev, i, false); > nouveau_device_destroy(ndev); > + } > return ret; > } > -- > 1.7.10.2 > > _______________________________________________ > Nouveau mailing list > Nouveau@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/nouveau _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau