OK, so I reverted
gregkh-driver-kset-convert-block_subsys-to-use-kset_create (which made me
also revert gregkh-driver-kobject-remove-subsystem_register-functions and
gregkh-driver-kset-remove-decl_subsys-macro so that we compile). Both the
error message from lockdep and more importantly the spinlock lockup have
gone, and the system with these patches reverted boots for me fine.
Well not that fine, I still see (which is the same backtrace that caused
the lockup with plain -rc2-mm1, but doesn't make the machine hang):
floppy0: Floppy io-port 0x03f2 in use
WARNING: at lib/kref.c:33 kref_get()
Call Trace:
[<ffffffff8035bd43>] kobject_add+0x9b/0x197
[<ffffffff8035c6e1>] kref_get+0x2f/0x36
[<ffffffff8035b82f>] kobject_get+0x12/0x17
[<ffffffff8035bd55>] kobject_add+0xad/0x197
[<ffffffff802c9a36>] register_disk+0x48/0x205
[<ffffffff80355cf3>] add_disk+0x34/0x3d
[<ffffffff8083cd99>] rd_init+0x172/0x1e1
[<ffffffff8082063a>] kernel_init+0x175/0x2e6
[<ffffffff8025193c>] trace_hardirqs_on+0x115/0x139
[<ffffffff80598769>] trace_hardirqs_on_thunk+0x35/0x3a
[<ffffffff8025193c>] trace_hardirqs_on+0x115/0x139
[<ffffffff8020c628>] child_rip+0xa/0x12
[<ffffffff8020bd3f>] restore_args+0x0/0x30
[<ffffffff808204c5>] kernel_init+0x0/0x2e6
[<ffffffff8020c61e>] child_rip+0x0/0x12
--
Jiri Kosina
-