[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20060725010852.75afe430.akpm@osdl.org>
Date: Tue, 25 Jul 2006 01:08:52 -0700
From: Andrew Morton <akpm@...l.org>
To: Cornelia Huck <cornelia.huck@...ibm.com>
Cc: linux-kernel@...r.kernel.org, greg@...ah.com
Subject: Re: [Patch] [mm] More driver core fixes for -mm
On Fri, 21 Jul 2006 15:20:00 +0200
Cornelia Huck <cornelia.huck@...ibm.com> 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@...ibm.com
>
> From: Cornelia Huck <cornelia.huck@...ibm.com>
>
> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists