2007-05-25 16:37:13

by Matt Mackall

[permalink] [raw]
Subject: 2.6.22-rc2-mm1: NetworkManager fails to find ipw2200 again

2.6.22-rc2 works. CONFIG_SYSFS_DEPRECATED = y, though that shouldn't
matter. Bringing up the interface manually still works, so I suspect
this is sysfs or HAL related again. Again, Debian unstable so
userspace is quite up-to-date.

--
Mathematics is the supreme nostalgia of our time.


2007-05-25 16:48:51

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.22-rc2-mm1: NetworkManager fails to find ipw2200 again

On Fri, May 25, 2007 at 11:36:22AM -0500, Matt Mackall wrote:
> 2.6.22-rc2 works. CONFIG_SYSFS_DEPRECATED = y, though that shouldn't
> matter. Bringing up the interface manually still works, so I suspect
> this is sysfs or HAL related again. Again, Debian unstable so
> userspace is quite up-to-date.

I don't have any driver model changes that affect network devices in my
tree. Could you go through and bisect the -mm tree to see if you can
find the patch that causes this?

thanks,

greg k-h

2007-05-25 17:38:00

by Kay Sievers

[permalink] [raw]
Subject: Re: 2.6.22-rc2-mm1: NetworkManager fails to find ipw2200 again

On 5/25/07, Greg KH <[email protected]> wrote:
> On Fri, May 25, 2007 at 11:36:22AM -0500, Matt Mackall wrote:
> > 2.6.22-rc2 works. CONFIG_SYSFS_DEPRECATED = y, though that shouldn't
> > matter. Bringing up the interface manually still works, so I suspect
> > this is sysfs or HAL related again. Again, Debian unstable so
> > userspace is quite up-to-date.
>
> I don't have any driver model changes that affect network devices in my
> tree. Could you go through and bisect the -mm tree to see if you can
> find the patch that causes this?

Does it work, when you unload and load the kernel module?
Does it work when you restart HAL and then NetworkManager?
Can you compare the sections for the wireless card in the output of "lshal"?

Kay

2007-05-25 17:53:51

by Matt Mackall

[permalink] [raw]
Subject: Re: 2.6.22-rc2-mm1: NetworkManager fails to find ipw2200 again

On Fri, May 25, 2007 at 07:37:46PM +0200, Kay Sievers wrote:
> On 5/25/07, Greg KH <[email protected]> wrote:
> >On Fri, May 25, 2007 at 11:36:22AM -0500, Matt Mackall wrote:
> >> 2.6.22-rc2 works. CONFIG_SYSFS_DEPRECATED = y, though that shouldn't
> >> matter. Bringing up the interface manually still works, so I suspect
> >> this is sysfs or HAL related again. Again, Debian unstable so
> >> userspace is quite up-to-date.
> >
> >I don't have any driver model changes that affect network devices in my
> >tree. Could you go through and bisect the -mm tree to see if you can
> >find the patch that causes this?
>
> Does it work, when you unload and load the kernel module?

rmmod followed by insmod had no effect.

> Does it work when you restart HAL and then NetworkManager?

I restarted dbus, which stopped and restarted HAL and NM. No effect.

> Can you compare the sections for the wireless card in the output of "lshal"?

The unhappy one looks like this:

udi = '/org/freedesktop/Hal/devices/pci_8086_4220'
info.udi = '/org/freedesktop/Hal/devices/pci_8086_4220' (string)
linux.subsystem = 'pci' (string)
linux.hotplug_type = 1 (0x1) (int)
pci.subsys_product = 'Unknown (0x2711)' (string)
pci.subsys_vendor = 'Intel Corporation' (string)
info.product = 'PRO/Wireless 2200BG Network Connection' (string)
pci.product = 'PRO/Wireless 2200BG Network Connection' (string)
info.vendor = 'Intel Corporation' (string)
pci.vendor = 'Intel Corporation' (string)
pci.device_protocol = 0 (0x0) (int)
pci.device_subclass = 128 (0x80) (int)
pci.device_class = 2 (0x2) (int)
pci.subsys_vendor_id = 32902 (0x8086) (int)
pci.subsys_product_id = 10001 (0x2711) (int)
pci.vendor_id = 32902 (0x8086) (int)
pci.product_id = 16928 (0x4220) (int)
info.linux.driver = 'ipw2200' (string)
pci.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
info.parent = '/org/freedesktop/Hal/devices/pci_8086_2448' (string)
info.bus = 'pci' (string)
linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)

Will let you know when my bisecting finds a happy one.

--
Mathematics is the supreme nostalgia of our time.

2007-05-25 21:02:53

by Matt Mackall

[permalink] [raw]
Subject: Re: 2.6.22-rc2-mm1: NetworkManager fails to find ipw2200 again

On Fri, May 25, 2007 at 12:53:19PM -0500, Matt Mackall wrote:
> On Fri, May 25, 2007 at 07:37:46PM +0200, Kay Sievers wrote:
> > On 5/25/07, Greg KH <[email protected]> wrote:
> > >On Fri, May 25, 2007 at 11:36:22AM -0500, Matt Mackall wrote:
> > >> 2.6.22-rc2 works. CONFIG_SYSFS_DEPRECATED = y, though that shouldn't
> > >> matter. Bringing up the interface manually still works, so I suspect
> > >> this is sysfs or HAL related again. Again, Debian unstable so
> > >> userspace is quite up-to-date.
> > >
> > >I don't have any driver model changes that affect network devices in my
> > >tree. Could you go through and bisect the -mm tree to see if you can
> > >find the patch that causes this?
> >
> > Does it work, when you unload and load the kernel module?
>
> rmmod followed by insmod had no effect.
>
> > Does it work when you restart HAL and then NetworkManager?
>
> I restarted dbus, which stopped and restarted HAL and NM. No effect.
>
> > Can you compare the sections for the wireless card in the output of "lshal"?
>
> The unhappy one looks like this:
>
> udi = '/org/freedesktop/Hal/devices/pci_8086_4220'
> info.udi = '/org/freedesktop/Hal/devices/pci_8086_4220' (string)
> linux.subsystem = 'pci' (string)
> linux.hotplug_type = 1 (0x1) (int)
> pci.subsys_product = 'Unknown (0x2711)' (string)
> pci.subsys_vendor = 'Intel Corporation' (string)
> info.product = 'PRO/Wireless 2200BG Network Connection' (string)
> pci.product = 'PRO/Wireless 2200BG Network Connection' (string)
> info.vendor = 'Intel Corporation' (string)
> pci.vendor = 'Intel Corporation' (string)
> pci.device_protocol = 0 (0x0) (int)
> pci.device_subclass = 128 (0x80) (int)
> pci.device_class = 2 (0x2) (int)
> pci.subsys_vendor_id = 32902 (0x8086) (int)
> pci.subsys_product_id = 10001 (0x2711) (int)
> pci.vendor_id = 32902 (0x8086) (int)
> pci.product_id = 16928 (0x4220) (int)
> info.linux.driver = 'ipw2200' (string)
> pci.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
> info.parent = '/org/freedesktop/Hal/devices/pci_8086_2448' (string)
> info.bus = 'pci' (string)
> linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
> linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
>
> Will let you know when my bisecting finds a happy one.

Here's a happy one:

udi = '/org/freedesktop/Hal/devices/pci_8086_4220'
info.udi = '/org/freedesktop/Hal/devices/pci_8086_4220' (string)
linux.subsystem = 'pci' (string)
linux.hotplug_type = 1 (0x1) (int)
pci.subsys_product = 'Unknown (0x2711)' (string)
pci.subsys_vendor = 'Intel Corporation' (string)
info.product = 'PRO/Wireless 2200BG Network Connection' (string)
pci.product = 'PRO/Wireless 2200BG Network Connection' (string)
info.vendor = 'Intel Corporation' (string)
pci.vendor = 'Intel Corporation' (string)
pci.device_protocol = 0 (0x0) (int)
pci.device_subclass = 128 (0x80) (int)
pci.device_class = 2 (0x2) (int)
pci.subsys_vendor_id = 32902 (0x8086) (int)
pci.subsys_product_id = 10001 (0x2711) (int)
pci.vendor_id = 32902 (0x8086) (int)
pci.product_id = 16928 (0x4220) (int)
info.linux.driver = 'ipw2200' (string)
pci.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
info.parent = '/org/freedesktop/Hal/devices/pci_8086_2448' (string)
info.bus = 'pci' (string)
linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)

Look the same to me.

So far I'm down to:

patch 56: good
patch 113: bad

56 powerpc-ps3-use-__maybe_unused.patch
57 do-not-select-macintosh-drivers-by-default.patch
58 powerpc-promc-remove-undef-printk.patch
59 powerpc-fix-kconfig-select-warning-with-ucc_fast.patch
60 8xx-mpc885ads-pcmcia-support.patch
61 8xx-mpc885ads-pcmcia-support-fix.patch
62 8xx-fix-whitespace-and-indentation.patch
63 dts-kill-hardcoded-phandles.patch
64 gregkh-driver-debugfs-add-rename-for-debugfs-files.patch
65
gregkh-driver-update-documentation-driver-model-platformtxt.patch
66
gregkh-driver-driver-core-keep-physdev-for-old-struct-class_device.patch
67 gregkh-driver-driver-core-kill-unused-code.patch
68 gregkh-driver-howto-removing-duplicated-entry.patch
69 gregkh-driver-dmi-based-module-autoloading.patch
70 gregkh-driver-uio.patch
71 gregkh-driver-uio-documentation.patch
72 gregkh-driver-uio-hilscher-cif-card-driver.patch
73 gregkh-driver-idr-fix-obscure-bug-in-allocation-path.patch
74 gregkh-driver-idr-separate-out-idr_mark_full.patch
75 gregkh-driver-ida-implement-idr-based-id-allocator.patch
76 gregkh-driver-sysfs-move-release_sysfs_dirent-to-dirc.patch
77 gregkh-driver-sysfs-allocate-inode-number-using-ida.patch
78 gregkh-driver-sysfs-make-sysfs_put-ignore-null-sd.patch
79 gregkh-driver-sysfs-fix-error-handling-in-binattr-write.patch
80
gregkh-driver-sysfs-flatten-cleanup-paths-in-sysfs_add_link-and-create_dir.patch
81
gregkh-driver-sysfs-flatten-and-fix-sysfs_rename_dir-error-handling.patch
82
gregkh-driver-sysfs-consolidate-sysfs_dirent-creation-functions.patch
83 gregkh-driver-sysfs-add-sysfs_dirent-s_parent.patch
84 gregkh-driver-sysfs-add-sysfs_dirent-s_name.patch
85 gregkh-driver-sysfs-make-sysfs_dirent-s_element-a-union.patch
86 gregkh-driver-sysfs-implement-kobj_sysfs_assoc_lock.patch
87
gregkh-driver-sysfs-reimplement-symlink-using-sysfs_dirent-tree.patch
88 gregkh-driver-sysfs-implement-bin_buffer.patch
89
gregkh-driver-sysfs-implement-sysfs_dirent-active-reference-and-immediate-disconnect.patch
90 gregkh-driver-sysfs-kill-attribute-file-orphaning.patch
91 gregkh-driver-sysfs-separate-out-sysfs_attach_dentry.patch
92 gregkh-driver-sysfs-reimplement-syfs_drop_dentry.patch
93 gregkh-driver-sysfs-kill-unnecessary-attribute-owner.patch
94
gregkh-driver-driver-core-make-devt_attr-and-uevent_attr-static.patch
95 gregkh-driver-put_device-might_sleep.patch
96 gregkh-driver-kobject-warn.patch
97
gregkh-driver-warn-when-statically-allocated-kobjects-are-used.patch
98 gregkh-driver-nozomi.patch
99
fix-gregkh-driver-sysfs-fix-error-handling-in-binattr-write.patch
100 power-management-use-mutexes-instead-of-semaphores.patch
101 sysdev-use-mutex-instead-of-semaphore.patch
102 driver-core-check-return-code-of-sysfs_create_link.patch
103 driver-core-check-return-code-of-sysfs_create_link-fix.patch
104 driver-core-coding-style-cleanup.patch
105 remove-odd-and-misleading-comments-from-uioh.patch
106 drm-spinlock-initializer-cleanup.patch
107 git-dvb.patch
108 dvb_en_50221-convert-to-kthread-api.patch
109 cinergyt2-fix-file-release-handler.patch
110 saa7111-fix-picture-settings-cache-bug.patch
111 saa7134-tvaudio-kthread-conversion.patch
112 jdelvare-i2c-i2c-legacy-drivers-shouldnt-issue-uevents.patch
113 jdelvare-i2c-i2c-kerneldoc.patch


--
Mathematics is the supreme nostalgia of our time.

2007-05-25 21:03:22

by Stephen Hemminger

[permalink] [raw]
Subject: Re: 2.6.22-rc2-mm1: NetworkManager fails to find ipw2200 again

On Fri, 25 May 2007 11:36:22 -0500
Matt Mackall <[email protected]> wrote:

> 2.6.22-rc2 works. CONFIG_SYSFS_DEPRECATED = y, though that shouldn't
> matter. Bringing up the interface manually still works, so I suspect
> this is sysfs or HAL related again. Again, Debian unstable so
> userspace is quite up-to-date.
>

Are you renaming network devices? Using /etc/iftab seems to confuse
NM (maybe a HAL problem).

--
Stephen Hemminger <[email protected]>

2007-05-25 23:01:49

by Matt Mackall

[permalink] [raw]
Subject: Re: 2.6.22-rc2-mm1: NetworkManager fails to find ipw2200 again

On Fri, May 25, 2007 at 04:01:52PM -0500, Matt Mackall wrote:
> On Fri, May 25, 2007 at 12:53:19PM -0500, Matt Mackall wrote:
> > On Fri, May 25, 2007 at 07:37:46PM +0200, Kay Sievers wrote:
> > > On 5/25/07, Greg KH <[email protected]> wrote:
> > > >On Fri, May 25, 2007 at 11:36:22AM -0500, Matt Mackall wrote:
> > > >> 2.6.22-rc2 works. CONFIG_SYSFS_DEPRECATED = y, though that shouldn't
> > > >> matter. Bringing up the interface manually still works, so I suspect
> > > >> this is sysfs or HAL related again. Again, Debian unstable so
> > > >> userspace is quite up-to-date.
> > > >
> > > >I don't have any driver model changes that affect network devices in my
> > > >tree. Could you go through and bisect the -mm tree to see if you can
> > > >find the patch that causes this?
> > >
> > > Does it work, when you unload and load the kernel module?
> >
> > rmmod followed by insmod had no effect.
> >
> > > Does it work when you restart HAL and then NetworkManager?
> >
> > I restarted dbus, which stopped and restarted HAL and NM. No effect.
> >
> > > Can you compare the sections for the wireless card in the output of "lshal"?
> >
> > The unhappy one looks like this:
> >
> > udi = '/org/freedesktop/Hal/devices/pci_8086_4220'
> > info.udi = '/org/freedesktop/Hal/devices/pci_8086_4220' (string)
> > linux.subsystem = 'pci' (string)
> > linux.hotplug_type = 1 (0x1) (int)
> > pci.subsys_product = 'Unknown (0x2711)' (string)
> > pci.subsys_vendor = 'Intel Corporation' (string)
> > info.product = 'PRO/Wireless 2200BG Network Connection' (string)
> > pci.product = 'PRO/Wireless 2200BG Network Connection' (string)
> > info.vendor = 'Intel Corporation' (string)
> > pci.vendor = 'Intel Corporation' (string)
> > pci.device_protocol = 0 (0x0) (int)
> > pci.device_subclass = 128 (0x80) (int)
> > pci.device_class = 2 (0x2) (int)
> > pci.subsys_vendor_id = 32902 (0x8086) (int)
> > pci.subsys_product_id = 10001 (0x2711) (int)
> > pci.vendor_id = 32902 (0x8086) (int)
> > pci.product_id = 16928 (0x4220) (int)
> > info.linux.driver = 'ipw2200' (string)
> > pci.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
> > info.parent = '/org/freedesktop/Hal/devices/pci_8086_2448' (string)
> > info.bus = 'pci' (string)
> > linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
> > linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
> >
> > Will let you know when my bisecting finds a happy one.
>
> Here's a happy one:
>
> udi = '/org/freedesktop/Hal/devices/pci_8086_4220'
> info.udi = '/org/freedesktop/Hal/devices/pci_8086_4220' (string)
> linux.subsystem = 'pci' (string)
> linux.hotplug_type = 1 (0x1) (int)
> pci.subsys_product = 'Unknown (0x2711)' (string)
> pci.subsys_vendor = 'Intel Corporation' (string)
> info.product = 'PRO/Wireless 2200BG Network Connection' (string)
> pci.product = 'PRO/Wireless 2200BG Network Connection' (string)
> info.vendor = 'Intel Corporation' (string)
> pci.vendor = 'Intel Corporation' (string)
> pci.device_protocol = 0 (0x0) (int)
> pci.device_subclass = 128 (0x80) (int)
> pci.device_class = 2 (0x2) (int)
> pci.subsys_vendor_id = 32902 (0x8086) (int)
> pci.subsys_product_id = 10001 (0x2711) (int)
> pci.vendor_id = 32902 (0x8086) (int)
> pci.product_id = 16928 (0x4220) (int)
> info.linux.driver = 'ipw2200' (string)
> pci.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
> info.parent = '/org/freedesktop/Hal/devices/pci_8086_2448' (string)
> info.bus = 'pci' (string)
> linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
> linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0' (string)
>
> Look the same to me.
>
> So far I'm down to:
>
> patch 56: good
> patch 113: bad
>
> 56 powerpc-ps3-use-__maybe_unused.patch
> 57 do-not-select-macintosh-drivers-by-default.patch
> 58 powerpc-promc-remove-undef-printk.patch
> 59 powerpc-fix-kconfig-select-warning-with-ucc_fast.patch
> 60 8xx-mpc885ads-pcmcia-support.patch
> 61 8xx-mpc885ads-pcmcia-support-fix.patch
> 62 8xx-fix-whitespace-and-indentation.patch
> 63 dts-kill-hardcoded-phandles.patch
> 64 gregkh-driver-debugfs-add-rename-for-debugfs-files.patch
> 65
> gregkh-driver-update-documentation-driver-model-platformtxt.patch
> 66
> gregkh-driver-driver-core-keep-physdev-for-old-struct-class_device.patch
> 67 gregkh-driver-driver-core-kill-unused-code.patch
> 68 gregkh-driver-howto-removing-duplicated-entry.patch
> 69 gregkh-driver-dmi-based-module-autoloading.patch
> 70 gregkh-driver-uio.patch
> 71 gregkh-driver-uio-documentation.patch
> 72 gregkh-driver-uio-hilscher-cif-card-driver.patch
> 73 gregkh-driver-idr-fix-obscure-bug-in-allocation-path.patch
> 74 gregkh-driver-idr-separate-out-idr_mark_full.patch
> 75 gregkh-driver-ida-implement-idr-based-id-allocator.patch
> 76 gregkh-driver-sysfs-move-release_sysfs_dirent-to-dirc.patch
> 77 gregkh-driver-sysfs-allocate-inode-number-using-ida.patch
> 78 gregkh-driver-sysfs-make-sysfs_put-ignore-null-sd.patch
> 79 gregkh-driver-sysfs-fix-error-handling-in-binattr-write.patch
> 80
> gregkh-driver-sysfs-flatten-cleanup-paths-in-sysfs_add_link-and-create_dir.patch
> 81
> gregkh-driver-sysfs-flatten-and-fix-sysfs_rename_dir-error-handling.patch
> 82
> gregkh-driver-sysfs-consolidate-sysfs_dirent-creation-functions.patch
> 83 gregkh-driver-sysfs-add-sysfs_dirent-s_parent.patch
> 84 gregkh-driver-sysfs-add-sysfs_dirent-s_name.patch
> 85 gregkh-driver-sysfs-make-sysfs_dirent-s_element-a-union.patch
> 86 gregkh-driver-sysfs-implement-kobj_sysfs_assoc_lock.patch
> 87
> gregkh-driver-sysfs-reimplement-symlink-using-sysfs_dirent-tree.patch
> 88 gregkh-driver-sysfs-implement-bin_buffer.patch
> 89
> gregkh-driver-sysfs-implement-sysfs_dirent-active-reference-and-immediate-disconnect.patch
> 90 gregkh-driver-sysfs-kill-attribute-file-orphaning.patch
> 91 gregkh-driver-sysfs-separate-out-sysfs_attach_dentry.patch
> 92 gregkh-driver-sysfs-reimplement-syfs_drop_dentry.patch
> 93 gregkh-driver-sysfs-kill-unnecessary-attribute-owner.patch
> 94
> gregkh-driver-driver-core-make-devt_attr-and-uevent_attr-static.patch
> 95 gregkh-driver-put_device-might_sleep.patch
> 96 gregkh-driver-kobject-warn.patch
> 97
> gregkh-driver-warn-when-statically-allocated-kobjects-are-used.patch
> 98 gregkh-driver-nozomi.patch
> 99
> fix-gregkh-driver-sysfs-fix-error-handling-in-binattr-write.patch
> 100 power-management-use-mutexes-instead-of-semaphores.patch
> 101 sysdev-use-mutex-instead-of-semaphore.patch
> 102 driver-core-check-return-code-of-sysfs_create_link.patch
> 103 driver-core-check-return-code-of-sysfs_create_link-fix.patch
> 104 driver-core-coding-style-cleanup.patch
> 105 remove-odd-and-misleading-comments-from-uioh.patch
> 106 drm-spinlock-initializer-cleanup.patch
> 107 git-dvb.patch
> 108 dvb_en_50221-convert-to-kthread-api.patch
> 109 cinergyt2-fix-file-release-handler.patch
> 110 saa7111-fix-picture-settings-cache-bug.patch
> 111 saa7134-tvaudio-kthread-conversion.patch
> 112 jdelvare-i2c-i2c-legacy-drivers-shouldnt-issue-uevents.patch
> 113 jdelvare-i2c-i2c-kerneldoc.patch

Bisect sequence went 56+ 84+ 98+ 105- 102- 100+ 101+. Looks like 102's
to blame:

driver-core-check-return-code-of-sysfs_create_link.patch

From: Cornelia Huck <[email protected]>

Check for return value of sysfs_create_link() in device_add() and
device_rename(). Add helper functions device_add_class_symlinks() and
device_remove_class_symlinks() to make the code easier to read.

--
Mathematics is the supreme nostalgia of our time.

2007-05-25 23:13:21

by Greg KH

[permalink] [raw]
Subject: Re: 2.6.22-rc2-mm1: NetworkManager fails to find ipw2200 again

On Fri, May 25, 2007 at 06:01:09PM -0500, Matt Mackall wrote:
> Bisect sequence went 56+ 84+ 98+ 105- 102- 100+ 101+. Looks like 102's
> to blame:
>
> driver-core-check-return-code-of-sysfs_create_link.patch
>
> From: Cornelia Huck <[email protected]>
>
> Check for return value of sysfs_create_link() in device_add() and
> device_rename(). Add helper functions device_add_class_symlinks() and
> device_remove_class_symlinks() to make the code easier to read.

{sigh}

This wouldn't be the first time this patch has broken things :(

Andrew, can you drop this from your tree?

Cornelia, can you rework this to not break things?

thanks,

greg k-h

2007-05-25 23:42:15

by Kay Sievers

[permalink] [raw]
Subject: Re: 2.6.22-rc2-mm1: NetworkManager fails to find ipw2200 again

On Fri, 2007-05-25 at 16:12 -0700, Greg KH wrote:
> On Fri, May 25, 2007 at 06:01:09PM -0500, Matt Mackall wrote:
> > Bisect sequence went 56+ 84+ 98+ 105- 102- 100+ 101+. Looks like 102's
> > to blame:
> >
> > driver-core-check-return-code-of-sysfs_create_link.patch
> >
> > From: Cornelia Huck <[email protected]>
> >
> > Check for return value of sysfs_create_link() in device_add() and
> > device_rename(). Add helper functions device_add_class_symlinks() and
> > device_remove_class_symlinks() to make the code easier to read.
>
> {sigh}
>
> This wouldn't be the first time this patch has broken things :(
>
> Andrew, can you drop this from your tree?
>
> Cornelia, can you rework this to not break things?

Before we continue that road, we should define the expected behavior for
the "cleanup" in error paths. Implementing that transaction-like model,
to rewind a the complete device-creation when something like a symlink
can't be created, may not always be the right thing to do.

I think in most cases, we just want to write something like that to the
error logs and continue, instead of letting a whole subsystem fail, or
in the worst case, prevent the box from booting up.

Thanks,
Kay

2007-05-26 00:02:35

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.22-rc2-mm1: NetworkManager fails to find ipw2200 again

On Fri, 25 May 2007 16:12:57 -0700 Greg KH <[email protected]> wrote:

> On Fri, May 25, 2007 at 06:01:09PM -0500, Matt Mackall wrote:
> > Bisect sequence went 56+ 84+ 98+ 105- 102- 100+ 101+. Looks like 102's
> > to blame:
> >
> > driver-core-check-return-code-of-sysfs_create_link.patch
> >
> > From: Cornelia Huck <[email protected]>
> >
> > Check for return value of sysfs_create_link() in device_add() and
> > device_rename(). Add helper functions device_add_class_symlinks() and
> > device_remove_class_symlinks() to make the code easier to read.
>
> {sigh}
>
> This wouldn't be the first time this patch has broken things :(

Why does checking these errors cause ipw2200 to fail?

> Andrew, can you drop this from your tree?

Would prefer that we debug things first. It could be that ipw2200 is
trying to create symlinks which already exist. This might indicate a
programming error in ipw2200, which is what the patch is *for*. If it
is indeed an ipw2200 bug then the lesson is that we should have been checking
for errors on day one - that way, we'd never have shipped a buggy ipw2200 driver.

I have an ipw2200 - I'll see if I can reproduce this and I'll add some
debugging code in there. Probably that debugging code should become
permanent.

> Cornelia, can you rework this to not break things?

Things might be already broken?

2007-05-27 16:15:36

by Cornelia Huck

[permalink] [raw]
Subject: Re: 2.6.22-rc2-mm1: NetworkManager fails to find ipw2200 again

On Fri, 25 May 2007 17:02:09 -0700,
Andrew Morton <[email protected]> wrote:

> > This wouldn't be the first time this patch has broken things :(
>
> Why does checking these errors cause ipw2200 to fail?

I'd like to know this as well. Could someone stick in some printk's to
find out which symlink creation fails (which is most likely the
problem)?

>
> > Andrew, can you drop this from your tree?
>
> Would prefer that we debug things first. It could be that ipw2200 is
> trying to create symlinks which already exist. This might indicate a
> programming error in ipw2200, which is what the patch is *for*. If it
> is indeed an ipw2200 bug then the lesson is that we should have been checking
> for errors on day one - that way, we'd never have shipped a buggy ipw2200 driver.
>
> I have an ipw2200 - I'll see if I can reproduce this and I'll add some
> debugging code in there. Probably that debugging code should become
> permanent.

Thanks, that would be much appreciated.

>
> > Cornelia, can you rework this to not break things?
>
> Things might be already broken?

Or I might have messed up (I hope not). Sorry for the pain anyway.