mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-14 10:29:31 +00:00
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@738 7894878c-1315-0410-8ee3-d5d059ff63e0
63 lines
2.6 KiB
Plaintext
63 lines
2.6 KiB
Plaintext
Except for many unimplemented things (listed in the TODO file), there may be
|
|
true bugs too. If you experience any problems, do not hesitate to mail
|
|
sensors@stimpy.netroedge.com. But read the documentation first, please!
|
|
|
|
Pre-2.1.58 /proc directory Oops
|
|
===============================
|
|
|
|
There is a problem in pre 2.1.58 kernels that can make the kernel Oops. You
|
|
can trigger this Oops if you have opened any file, or are in any directory,
|
|
created by a module. If you remove the module at such a moment, successive
|
|
access to those files or directories will make the kernel complain through
|
|
an Oops. There is really no good way to solve this. Stock kernel modules
|
|
exhibit the same problem, by the way. Kernels from 2.1.58 onwards have new
|
|
fill_inode() semantics; using this function, we can increase the module use
|
|
count while a module file or directory is accessed. This solves the problem,
|
|
because it makes it impossible to remove the module.
|
|
Alan Cox (alan@lxorguk.ukuu.org.uk), the maintainer of 2.0 kernels, has
|
|
said he will consider patches that backport this 2.1 feature; perhaps it
|
|
will be in 2.0.37. Until then, be careful when you unload modules.
|
|
|
|
|
|
2.2.x cdrom.o Oops
|
|
==================
|
|
|
|
Module cdrom.o in all 2.2 kernels conflicts with our sensors.o module.
|
|
You can get an Oops if cdrom.o is unloaded after sensors.o was loaded.
|
|
Below is a small diff that you can apply to the kernel to correct this.
|
|
Another solution is to make sure cdrom.o is never unloaded, or to make
|
|
sure it is not a module but compiled into the kernel proper.
|
|
|
|
The diff corrects a long-standing /proc bug. It will go into kernel 2.2.2
|
|
or later in a somewhat modified form. It was written by Jens Axboe
|
|
<axboe@image.dk>.
|
|
|
|
-----cut here-----
|
|
--- virgin/kernel/sysctl.c Sat Jan 9 07:54:16 1999
|
|
+++ linux/kernel/sysctl.c Mon Feb 1 23:44:58 1999
|
|
@@ -559,12 +559,12 @@
|
|
unregister_proc_table(table->child, de);
|
|
}
|
|
/* Don't unregister proc directories which still have
|
|
- entries... */
|
|
- if (!((de->mode & S_IFDIR) && de->subdir)) {
|
|
+ entries or are still being used... */
|
|
+ if (!((de->mode & S_IFDIR) && de->subdir) && !de->count)
|
|
{
|
|
proc_unregister(root, de->low_ino);
|
|
table->de = NULL;
|
|
kfree(de);
|
|
- }
|
|
+ }
|
|
}
|
|
}
|
|
-----cut here-----
|
|
|
|
|
|
Kernel i2c conflict
|
|
===================
|
|
|
|
An older version of the i2c modules is distributed in 2.2 and late 2.1
|
|
kernels. If you try to use it at the same moment as our i2c modules, you
|
|
may get into trouble. This should be fixed for lm_sensors-2.4.0 and newer.
|