diff options
| -rw-r--r-- | driver-core/kobject-catch-kobjects-that-are-not-initialized.patch | 2 | ||||
| -rw-r--r-- | driver-core/kobjects-mark-cleaned-up-kobjects-as-unitialized.patch | 24 | ||||
| -rw-r--r-- | pci/ide-remove-ide-reverse-ide-core.patch | 8 | ||||
| -rw-r--r-- | series | 2 | ||||
| -rw-r--r-- | sysdev-fix-problem-with-sysdev_class-being-re-registered.patch | 29 | ||||
| -rw-r--r-- | version | 2 |
6 files changed, 51 insertions, 16 deletions
diff --git a/driver-core/kobject-catch-kobjects-that-are-not-initialized.patch b/driver-core/kobject-catch-kobjects-that-are-not-initialized.patch index 7127339723a8dd..8be49d6651a5b6 100644 --- a/driver-core/kobject-catch-kobjects-that-are-not-initialized.patch +++ b/driver-core/kobject-catch-kobjects-that-are-not-initialized.patch @@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/lib/kobject.c +++ b/lib/kobject.c -@@ -595,8 +595,15 @@ static void kobject_release(struct kref +@@ -599,8 +599,15 @@ static void kobject_release(struct kref */ void kobject_put(struct kobject *kobj) { diff --git a/driver-core/kobjects-mark-cleaned-up-kobjects-as-unitialized.patch b/driver-core/kobjects-mark-cleaned-up-kobjects-as-unitialized.patch index 22c1b5ca30b2bd..a8c7e6da0b6a6f 100644 --- a/driver-core/kobjects-mark-cleaned-up-kobjects-as-unitialized.patch +++ b/driver-core/kobjects-mark-cleaned-up-kobjects-as-unitialized.patch @@ -20,18 +20,22 @@ Signed-off-by: Balaji Rao <balajirrao@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- - lib/kobject.c | 3 +++ - 1 file changed, 3 insertions(+) + lib/kobject.c | 7 +++++++ + 1 file changed, 7 insertions(+) --- a/lib/kobject.c +++ b/lib/kobject.c -@@ -577,6 +577,9 @@ static void kobject_cleanup(struct kobje - pr_debug("kobject: '%s': free name\n", name); - kfree(name); +@@ -566,6 +566,13 @@ static void kobject_cleanup(struct kobje + kobject_del(kobj); } -+ -+ /* Set the state to uninitialized */ -+ kobj->state_initialized = 0; - } - static void kobject_release(struct kref *kref) ++ /* set the states incase someone tries to use this object again */ ++ kobj->state_initialized = 0; ++ kobj->state_in_sysfs = 0; ++ kobj->state_add_uevent_sent = 0; ++ kobj->state_remove_uevent_sent = 0; ++ kobj->state_initialized = 0; ++ + if (t && t->release) { + pr_debug("kobject: '%s' (%p): calling ktype release\n", + kobject_name(kobj), kobj); diff --git a/pci/ide-remove-ide-reverse-ide-core.patch b/pci/ide-remove-ide-reverse-ide-core.patch index 1e19b3f43a6116..66d285beab0581 100644 --- a/pci/ide-remove-ide-reverse-ide-core.patch +++ b/pci/ide-remove-ide-reverse-ide-core.patch @@ -14,7 +14,7 @@ Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- - Documentation/ide.txt | 2 -- + Documentation/ide/ide.txt | 2 -- Documentation/kernel-parameters.txt | 2 +- drivers/ide/Kconfig | 9 +-------- drivers/ide/ide-scan-pci.c | 9 ++------- @@ -22,8 +22,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> include/linux/ide.h | 1 - 6 files changed, 4 insertions(+), 31 deletions(-) ---- a/Documentation/ide.txt -+++ b/Documentation/ide.txt +--- a/Documentation/ide/ide.txt ++++ b/Documentation/ide/ide.txt @@ -280,8 +280,6 @@ Summary of ide driver parameters for ker ability to bit test for detection is currently unknown. @@ -41,7 +41,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> ide= [HW] (E)IDE subsystem - Format: ide=nodma or ide=doubler or ide=reverse + Format: ide=nodma or ide=doubler - See Documentation/ide.txt. + See Documentation/ide/ide.txt. ide?= [HW] (E)IDE subsystem --- a/drivers/ide/Kconfig @@ -170,6 +170,8 @@ driver-core/video-add-the-go7007-driver.patch #pending/greg-debugobjects-add-documentation.patch #pending/greg-debugobjects-add-timer-specific-object-debugging-code.patch +sysdev-fix-problem-with-sysdev_class-being-re-registered.patch + scsi-ib-convert-struct-class_device-to-struct-device.patch firmware-add-kconfig-and-makefile-to-build-the-firmware-samples.patch f2.patch diff --git a/sysdev-fix-problem-with-sysdev_class-being-re-registered.patch b/sysdev-fix-problem-with-sysdev_class-being-re-registered.patch new file mode 100644 index 00000000000000..25995a79d6cce2 --- /dev/null +++ b/sysdev-fix-problem-with-sysdev_class-being-re-registered.patch @@ -0,0 +1,29 @@ +From foo@baz Tue Apr 9 12:12:43 2002 +Date: Sun, 9 Mar 2008 03:37:16 +0530 +To: Greg KH <greg@kroah.com> +From: Greg Kroah-Hartman <gregkh@suse.de> +Subject: sysdev: fix problem with sysdev_class being re-registered + +We need to initialize the kobject for a sysdev_class as it could have +been recycled (stupid static kobjects...) + +Thanks to Balaji Rao <balajirrao@gmail.com> for pointing out the +problem. + +Cc: Balaji Rao <balajirrao@gmail.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/base/sys.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/base/sys.c ++++ b/drivers/base/sys.c +@@ -133,6 +133,7 @@ int sysdev_class_register(struct sysdev_ + pr_debug("Registering sysdev class '%s'\n", + kobject_name(&cls->kset.kobj)); + INIT_LIST_HEAD(&cls->drivers); ++ memset(&cls->kset.kobj, 0x00, sizeof(struct kobject)); + cls->kset.kobj.parent = &system_kset->kobj; + cls->kset.kobj.ktype = &ktype_sysdev_class; + cls->kset.kobj.kset = system_kset; @@ -1 +1 @@ -2.6.25-rc4-git2 +2.6.25-rc4-git3 |
