Re: [Patch] [mm] More driver core fixes for -mm

From: Andrew Morton
Date: Tue Jul 25 2006 - 04:07:18 EST


On Fri, 21 Jul 2006 15:20:00 +0200
Cornelia Huck <cornelia.huck@xxxxxxxxxx> wrote:

>
> I've looked some more into the __must_check stuff in the driver core,
> and tried to fix some functions (especially device_add() is a bit of a
> beast; I split off helper functions).

OK.

> Question: What is considered "good style" concerning symlinks? I would
> think I should remove symlinks I created, but most places don't seem to
> do this...

Removing symlinks seems like a good idea. Leaving them around might cause
a subsequent driver load to fail due to EEXIST (assuming that the caller
checks error codes, as if).

I assume you're referring to error paths here?

> --
> Cornelia Huck
> Linux for zSeries Developer
> Tel.: +49-7031-16-4837, Mail: cornelia.huck@xxxxxxxxxx
>
> From: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
>
> Fix missing checks of return codes for driver model functions called in
> the driver core.
>
> Also fix bus_attach_device(), which didn't take into account that
> device_attach() may return 0 or 1 on success.
>

Yes, this was nasty (oopses).

> @@ -401,13 +401,33 @@ int bus_attach_device(struct device * de
>
> if (bus) {
> ret = device_attach(dev);
> - if (ret == 0)
> + if (ret >= 0)
> klist_add_tail(&dev->knode_bus, &bus->klist_devices);
> }

But I made bus_attach_device() convert the positive return value to zero.
See
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.18-rc1/2.6.18-rc1-mm2/hot-fixes/drivers-base-check-errors-fix.patch.

Is there a reason to propagate this irritating "1" back out of
bus_attach_device() as well?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/