commit 0173a3265b228da319ceb9c1ec6a5682fd1b2d92 Author: Linus Torvalds Date: Sun Oct 26 12:13:29 2008 -0700 Linux 2.6.28-rc2 .. fix all the worst problems in -rc1 commit d1a35e4d74d070b06163e435e590ca90a2420b9e Author: Geert Uytterhoeven Date: Sun Oct 26 19:51:14 2008 +0100 m68k: Disable Amiga serial console support if modular If CONFIG_AMIGA_BUILTIN_SERIAL=m, I get the following warnings: | drivers/char/amiserial.c: At top level: | drivers/char/amiserial.c:2138: warning: data definition has no type or storage class | drivers/char/amiserial.c:2138: warning: type defaults to 'int' in declaration of 'console_initcall' | drivers/char/amiserial.c:2138: warning: parameter names (without types) in function declaration | drivers/char/amiserial.c:2134: warning: 'amiserial_console_init' defined but not used because console_initcall() is not defined (nor really sensible) in the modular case. So disable serial console support if the driver is modular. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 9ce209d64d820a6d5ed6b952e2c0f917faad6031 Author: Davide Libenzi Date: Fri Oct 17 16:17:40 2008 -0700 epoll: avoid double-inserts in case of EFAULT In commit f337b9c58332bdecde965b436e47ea4c94d30da0 ("epoll: drop unnecessary test") Thomas found that there is an unnecessary (always true) test in ep_send_events(). The callback never inserts into ->rdllink while the send loop is performed, and also does the ~EP_PRIVATE_BITS test. Given we're holding the mutex during this time, the conditions tested inside the loop are always true. HOWEVER. The test "!ep_is_linked(&epi->rdllink)" wasn't there because we insert into ->rdllink, but because the send-events loop might terminate before the whole list is scanned (-EFAULT). In such cases, when the loop terminates early, and when a (leftover) file received an event while we're performing the lockless loop, we need such test to avoid to double insert the epoll items. The list_splice() done a few steps below, will correctly re-insert the ones that were left on "txlist". This should fix the kenrel.org bugzilla entry 11831. Signed-off-by: Davide Libenzi Signed-off-by: Linus Torvalds commit 4d36a9e65d4966b433b2f3424d9457468bc80e00 Author: Arjan van de Ven Date: Sat Oct 25 12:41:41 2008 -0700 select: deal with math overflow from borderline valid userland data Some userland apps seem to pass in a "0" for the seconds, and several seconds worth of usecs to select(). The old kernels accepted this just fine, so the new kernels must too. However, due to the upscaling of the microseconds to nanoseconds we had some cases where we got math overflow, and depending on the GCC version (due to inlining decisions) that actually resulted in an -EINVAL return. This patch fixes this by adding the excess microseconds to the seconds field. Also with thanks to Marcin Slusarz for spotting some implementation bugs in the diagnostics patches. Reported-by: Carlos R. Mafra Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit 44a504c405ae5c3a80e71acf71d6b1cb0db70715 Author: Arjan van de Ven Date: Sun Oct 26 10:25:30 2008 -0700 wireless: fix regression caused by regulatory config option The default for the regulatory compatibility option is wrong; if you picked the default you ended up with a non-functional wifi system (at least I did on Fedora 9 with iwl4965). I don't think even the October 2008 releases of the various distros has the new userland so clearly the default is wrong, and also we can't just go about deleting this in 2.6.29... Change the default to "y" and also adjust the config text a little to reflect this. This patch fixes regression #11859 With thanks to Johannes Berg for the diagnostics Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit 2077776641b6ffb0049f13018d2e162340ec51c7 Author: Stephen Rothwell Date: Tue Oct 21 16:11:20 2008 +1100 cgroup: remove unused variable /scratch/sfr/next/kernel/cgroup.c: In function 'cgroup_tasks_start': /scratch/sfr/next/kernel/cgroup.c:2107: warning: unused variable 'i' Introduced in commit cc31edceee04a7b87f2be48f9489ebb72d264844 "cgroups: convert tasks file to use a seq_file with shared pid array". Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit b1cd2ee3b95f1c3108c68c82342c614e58ce1f13 Merge: e383d56... c02d656... Author: Linus Torvalds Date: Sun Oct 26 09:36:19 2008 -0700 Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: hwmon: (abituguru3) enable DMI probing feature on AW9D-MAX hwmon: (abituguru3) Cosmetic whitespace fixes hwmon: (adt7473) Fix voltage conversion routines hwmon: (lm90) Add support for the LM99 16 degree offset hwmon: (lm90) Fix handling of hysteresis value hwmon-vid: Add support for AMD family 10h CPUs hwmon: (w83781d) Fix linking when built-in commit e383d56487062275e9971094f2efcca34227ee60 Author: Francois Romieu Date: Sun Oct 26 17:02:49 2008 +0100 r8169: revert "read MAC address from EEPROM on init" This reverts commit 7bf6bf4803df1adc927f585168d2135fb019c698. The code has both a short existence and an increasing track of failures despite some work to amend it for -rc1. It is not just a matter of reading the eeprom: sometimes the eeprom is read correctly, then the mac address is not written correctly back into the mac registers. Some chipsets seem to work reliably but it is not clear at this point if the code can simply be made to work on a per-chipset basis and post -rc1 is not the place where I want to experiment these things. Signed-off-by: Francois Romieu Signed-off-by: Linus Torvalds commit 1137fb670465b6b5d15b9db7d01707a5833ee3ae Author: Al Viro Date: Sun Oct 26 05:40:26 2008 +0000 arm ide breakage a) semicolon before the function body is a bad idea b) it's const struct foo, not struct const foo c) incidentally, it's ecard_remove_driver(), not ecard_unregister_driver() d) compiling is occasionally useful. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ce97e13e52848c6388598696b7d44748598db759 Author: Al Viro Date: Sun Oct 26 05:12:34 2008 +0000 fix allmodconfig breakage If you use KCONFIG_ALLCONFIG (even with empty file) you get broken allmodconfig/allyesconfig; CONFIG_MODULES gets turned off, with obvious massive fallout. Breakage had been introduced when conf_set_all_new_symbols() got used for allmodconfig et.al. What happens is that sym_calc_value(modules_sym) done in conf_read_simple() sets SYMBOL_VALID on both modules_sym and MODULES. When we get to conf_set_all_new_symbols(), we set sym->def[S_DEF_USER] on everything, but it has no effect on sym->curr for the symbols that already have SYMBOL_VALID - these are stuck. Solution: use sym_clear_all_valid() in there. Note that it makes reevaluation of modules_sym redundant - sym_clear_all_valid() will do that itself. [ Fixes http://bugzilla.kernel.org/show_bug.cgi?id=11512, says Alexey ] Signed-off-by: Al Viro Cc: Sam Ravnborg Cc: Roman Zippel Cc: Alexey Dobriyan Signed-off-by: Linus Torvalds commit c02d65694debbc82dc48453a9fd52efb036c7258 Author: Alistair John Strachan Date: Sun Oct 26 17:04:40 2008 +0100 hwmon: (abituguru3) enable DMI probing feature on AW9D-MAX Switch the AW9D-MAX over from port probing to the preferred DMI probe method. Signed-off-by: Alistair John Strachan Tested-by: Justin Piszcz Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit 4777e4e6b8540ee4226876a737833d03bbc55394 Author: Alistair John Strachan Date: Sun Oct 26 17:04:40 2008 +0100 hwmon: (abituguru3) Cosmetic whitespace fixes As the probable result of zealous copy/pasting, many supported boards contain sensor names with trailing whitespace. Though this is not a huge problem, it is inconsistent with other sensor names, and with other similar hwmon drivers. Additionally, the DMI nag message added in 2.6.27 was missing a space between two sentence fragments -- might as well clean that up too. Doesn't alter any kernel text, just data. Signed-off-by: Alistair John Strachan Reported-by: Justin Piszcz Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit be821b78af9de886571e3565515a59f966d66f42 Author: Jean Delvare Date: Sun Oct 26 17:04:40 2008 +0100 hwmon: (adt7473) Fix voltage conversion routines Fix voltage conversion routines. Based on an earlier patch from Paulius Zaleckas. According to the datasheet voltage is scaled with resistors and value 192 is nominal voltage. 0 is 0V. Signed-off-by: Jean Delvare Cc: Paulius Zaleckas Cc: Darrick J. Wong commit 97ae60bb38279e1941c738b1037a57e6b14efeaf Author: Jean Delvare Date: Sun Oct 26 17:04:39 2008 +0100 hwmon: (lm90) Add support for the LM99 16 degree offset The LM99 differs from the LM86, LM89 and LM90 in that it reports remote temperatures (temp2) 16 degrees lower than they really are. So far we have been cheating and handled this in userspace but it really should be handled by the driver directly. Signed-off-by: Jean Delvare Cc: Matthew Garrett commit ec38fa2b35f13e7fa1d676a5bc997d0df1b02574 Author: Jean Delvare Date: Sun Oct 26 17:04:39 2008 +0100 hwmon: (lm90) Fix handling of hysteresis value There are several problems in the way the hysteresis value is handled by the lm90 driver: * In show_temphyst(), specific handling of the MAX6646 is missing, so the hysteresis is reported incorrectly if the critical temperature is over 127 degrees C. * In set_temphyst(), the new hysteresis register value is written to the chip but data->temp_hyst isn't updated accordingly, so there is a short period of time (up to 2 seconds) where the old hystereris value will be returned while the new one is already active. * In set_temphyst(), the critical temperature which is used as a base to compute the value of the hysteresis register lacks device-specific handling. As a result, the value of the hysteresis register might be incorrect for the ADT7461 and MAX6646 chips. Fix these 3 bugs. Signed-off-by: Jean Delvare Cc: Ben Hutchings Cc: Nate Case commit 1b871826b3dfcdcd78140d17c00e452eec6c12a4 Author: Jean Delvare Date: Sun Oct 26 17:04:39 2008 +0100 hwmon-vid: Add support for AMD family 10h CPUs The AMD family 10h CPUs use the same VID decoding table as the family 0Fh CPUs. Signed-off-by: Jean Delvare Cc: Rudolf Marek commit dd56b638951936cda945ba5641cc44927a5f1c6d Author: Geert Uytterhoeven Date: Sun Oct 26 17:04:38 2008 +0100 hwmon: (w83781d) Fix linking when built-in When w83781d is built-in, the final links fails with the following vague error message: `.exit.text' referenced in section `.init.text' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o w83781d_isa_unregister() cannot be marked __exit, as it's also called from sensors_w83781d_init(), which is marked __init. Signed-off-by: Geert Uytterhoeven Cc: Wolfgang Grandegger Signed-off-by: Jean Delvare commit 23cf24c0c83a5a6eb39b9fa4d3843a8b9414db40 Merge: 4403b40... 3c37fc8... Author: Linus Torvalds Date: Sat Oct 25 19:57:30 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Fix duplicate entries returned from getdents() system call ext3: Fix duplicate entries returned from getdents() system call commit 4403b406d4369a275d483ece6ddee0088cc0d592 Author: Linus Torvalds Date: Sat Oct 25 19:53:38 2008 -0700 Revert "Call init_workqueues before pre smp initcalls." This reverts commit a802dd0eb5fc97a50cf1abb1f788a8f6cc5db635 by moving the call to init_workqueues() back where it belongs - after SMP has been initialized. It also moves stop_machine_init() - which needs workqueues - to a later phase using a core_initcall() instead of early_initcall(). That should satisfy all ordering requirements, and was apparently the reason why init_workqueues() was moved to be too early. Cc: Heiko Carstens Cc: Rusty Russell Signed-off-by: Linus Torvalds commit 3c37fc86d20fe35be656f070997d62f75c2e4874 Author: Theodore Ts'o Date: Sat Oct 25 11:39:08 2008 -0400 ext4: Fix duplicate entries returned from getdents() system call Fix a regression caused by commit d0156417, "ext4: fix ext4_dx_readdir hash collision handling", where deleting files in a large directory (requiring more than one getdents system call), results in some filenames being returned twice. This was caused by a failure to update info->curr_hash and info->curr_minor_hash, so that if the directory had gotten modified since the last getdents() system call (as would be the case if the user is running "rm -r" or "git clean"), a directory entry would get returned twice to the userspace. Signed-off-by: "Theodore Ts'o" This patch fixes the bug reported by Markus Trippelsdorf at: http://bugzilla.kernel.org/show_bug.cgi?id=11844 Signed-off-by: "Theodore Ts'o" Tested-by: Markus Trippelsdorf commit 8c9fa93d51123c5540762b1a9e1919d6f9c4af7c Author: Theodore Ts'o Date: Sat Oct 25 11:38:37 2008 -0400 ext3: Fix duplicate entries returned from getdents() system call Fix a regression caused by commit 6a897cf4, "ext3: fix ext3_dx_readdir hash collision handling", where deleting files in a large directory (requiring more than one getdents system call), results in some filenames being returned twice. This was caused by a failure to update info->curr_hash and info->curr_minor_hash, so that if the directory had gotten modified since the last getdents() system call (as would be the case if the user is running "rm -r" or "git clean"), a directory entry would get returned twice to the userspace. This patch fixes the bug reported by Markus Trippelsdorf at: http://bugzilla.kernel.org/show_bug.cgi?id=11844 Signed-off-by: "Theodore Ts'o" Tested-by: Markus Trippelsdorf commit e013e13bf605b9e6b702adffbe2853cfc60e7806 Author: Jens Axboe Date: Fri Oct 24 09:22:42 2008 +0200 libata: fix bug with non-ncq devices The recent commit 2fca5ccf97d2c28bcfce44f5b07d85e74e3cd18e ("libata: switch to using block layer tagging support") to enable support for block layer tagging in libata was broken for non-NCQ devices The block layer initializes the tag field to -1 to detect invalid uses of a tag, and if the libata devices does NOT support NCQ, we just used that field to index the internal command list. So we need to check for -1 first and only use the tag field if it's valid. Signed-off-by: Jens Axboe Reported-by: Alexander Beregalov Tested-by: Paul Mundt Tested-by: Dave Young Tested-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds