Re: sysfs/udev broken in latest git?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/24/07, Greg KH <[email protected]> wrote:
On Tue, Jul 24, 2007 at 10:03:14AM +0200, Cornelia Huck wrote:
> On Tue, 24 Jul 2007 00:25:40 -0700,
> Greg KH <[email protected]> wrote:
>
> > On Tue, Jul 24, 2007 at 07:39:38AM +0100, Simon Arlott wrote:
> > > The following commit appears to break some of my udev rules (I don't
> > > have the time to finish the bisect right now, but there's only four
> > > changes showing in "git bisect visualize" - this one is tagged
> > > bisect/bad, and the other three are docs/docs/unrelated).
> > >
> > > Neither of these symlinks get created by udev on kernels marked bad
> > > (see bisect log below):
> > >
> > > ACTION=="add", \
> > >         KERNEL=="event*", \
> > >         SUBSYSTEM=="input", \
> > >         SYSFS{description}=="i8042 KBD port", \
> > >         NAME="input/%k", \
> > >         SYMLINK="input/i8042-kbd", \
> > >         MODE="0640", \
> > >         GROUP="event"
> > >
> > > ACTION=="add", \
> > >         KERNEL=="event*", \
> > >         SUBSYSTEM=="input", \
> > >         SYSFS{manufacturer}=="Logitech", \
> > >         SYSFS{product}=="USB-PS/2 Optical Mouse", \
> > >         NAME="input/%k", \
> > >         SYMLINK="input/logitech-mouse", \
> > >         MODE="0640", \
> > >         GROUP="event"

Simon, please run:
 udevinfo --attribute-walk --path=<devpath>
for the mouse on the working and the non-working kernel.

And make sure you have only one rule for input devices or  use
SYMLINK+="", otherwise it overwrites any earlier rule. And if you have
an earlier rule which already names the device, this one will be
ignored because it has NAME= in it.

> > Ugh, I thought this was all fixed up properly :(
>
> I thought this as well :(
>
> But I'm a bit confused: The patch in git has
>
> +       /* only bus-device parents get a "device"-link */
> +       if (dev->parent && dev->parent->bus) {
> +               error = sysfs_create_link(&dev->kobj, &dev->parent->kobj,
> +                                         "device");
>
> and
>
> -               if (parent) {
> -                       sysfs_create_link(&dev->kobj, &dev->parent->kobj,
> -                                                       "device");
>
> which really look like two different things. (My original patch didn't
> have the check for the parent's bus.) Don't know what happened here :(

Ugh, this might be a merge issue with Kay's block layer device work that
was in my tree, but I had to merge by hand around this area.

> (Simon: Do the links reappear if you change
>       if (dev->parent && dev->parent->bus)
> to
>       if (dev->parent)
> in device_add_class_symlinks()?)

Yeah, that would be good to find out.

Kay, did I mess up the merge here?

It looks fine to me. "device" links must never point to anything else
than a bus device.

Kay
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux