linux最稳定的内核,号称最稳定 Linux内核2.6.24版本发布

作为 Linux 操作系统核心的 Kernel 最新稳定版 2.6.24 在今日得以发布。根据 Kernel Newbies 网站的描述,Linux Kernel 2.6.24 改善了 CFS、针对 x86-64、PPC、UML、ARM、MIPS 等架构添加了 Tickless 支持、新增了无线驱动程序及配置界面、引入了 Anti-fragmentation 补丁、使 MMC 层获得了 SPI/SDIO 支持、添加了 USB authorization、per-device dirty thresholds、PID 及网络命名空间、针对 TCP 流量的 LRO (Large Receive Offload) 支持、TCG (Task Control Groups)、Linux Kernel Markers、read-only bind mounts、x86-32/64 arch reunification 等特性。

此外,该版本的 Linux 内核还添加了包括显卡、SATA/IDE、网络、声卡、MTD、USB、V4L/DVB、Hwmon、I2C、蓝芽等设备在内的新驱动程序。你可以从 The Linux Kernel Archives 网站获取 Linux Kernel 2.6.24 的源代码及补丁。

下载:

chengelog:commit 49914084e797530d9baaf51df9eda77babc98fa8

Author: Linus Torvalds Date: Thu Jan 24 14:58:37 2008 -0800

Linux 2.6.24

commit feed9bab7b14b77be8d796bcee95e2343fb82955

Author: Kalle Valo Date: Thu Jan 24 14:00:40 2008 -0800

spi: omap2_mcspi PIO RX fix

Before transmission of the last word in PIO RX_ONLY mode rx+tx mode

is enabled:

/* prevent last RX_ONLY read from triggering

* more word i/o: switch to rx+tx

*/

if (c == 0 && tx == NULL)

mcspi_write_cs_reg(spi,

OMAP2_MCSPI_CHCONF0, l);

But because c is decremented after the test, c will never be zero and

rx+tx will not be enabled. This breaks RX_ONLY mode PIO transfers.

Fix it by decrementing c in the beginning of the various I/O loops.

Signed-off-by: Kalle Valo Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbcc2ec60fe15448e5dfe4153f7347ac82b4da73

Author: Linus Torvalds Date: Thu Jan 24 13:35:10 2008 -0800

Revert "mac80211: warn when receiving frames with unaligned data"

This reverts commit 81100eb80add328c4d2a377326f15aa0e7236398 for the

release, to avoid the unnecessary warning noise that is only really

relevant to wireless driver developers.

The warning will probably go right back in after I cut the release, but

at least we won't unnecessarily worry users.

Acked-by: John W. Linville Signed-off-by: Linus Torvalds commit 9c09a95cf431fcf5720f2e408befa24b32b8cf4d

Author: Mel Gorman Date: Thu Jan 24 05:49:54 2008 -0800

slab: partially revert list3 changes

Partial revert the changes made by 04231b3002ac53f8a64a7bd142fde3fa4b6808c6

to the kmem_list3 management. On a machine with a memoryless node, this

BUG_ON was triggering

static void *____cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid)

{

struct list_head *entry;

struct slab *slabp;

struct kmem_list3 *l3;

void *obj;

int x;

l3 = cachep->nodelists[nodeid];

BUG_ON(!l3);

Signed-off-by: Mel Gorman Cc: Pekka Enberg Acked-by: Christoph Lameter Cc: "Aneesh Kumar K.V" Cc: Nishanth Aravamudan Cc: KAMEZAWA Hiroyuki Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5c99429fa57dcf6e05203ebe3676db1ec646793

Author: Larry Woodman Date: Thu Jan 24 05:49:25 2008 -0800

fix hugepages leak due to pagetable page sharing

The shared page table code for hugetlb memory on x86 and x86_64

is causing a leak. When a user of hugepages exits using this code

the system leaks some of the hugepages.

-------------------------------------------------------

Part of /proc/meminfo just before database startup:

HugePages_Total: 5500

HugePages_Free: 5500

HugePages_Rsvd: 0

Hugepagesize: 2048 kB

Just before shutdown:

HugePages_Total: 5500

HugePages_Free: 4475

HugePages_Rsvd: 0

Hugepagesize: 2048 kB

After shutdown:

HugePages_Total: 5500

HugePages_Free: 4988

HugePages_Rsvd:

0 Hugepagesize: 2048 kB

----------------------------------------------------------

The problem occurs durring a fork, in copy_hugetlb_page_range(). It

locates the dst_pte using huge_pte_alloc(). Since huge_pte_alloc() calls

huge_pmd_share() it will share the pmd page if can, yet the main loop in

copy_hugetlb_page_range() does a get_page() on every hugepage. This is a

violation of the shared hugepmd pagetable protocol and creates additional

referenced to the hugepages causing a leak when the unmap of the VMA

occurs. We can skip the entire replication of the ptes when the hugepage

pagetables are shared. The attached patch skips copying the ptes and the

get_page() calls if the hugetlbpage pagetable is shared.

[akpm@linux-foundation.org: coding-style cleanups]

Signed-off-by: Larry Woodman Signed-off-by: Adam Litke Cc: Badari Pulavarty Cc: Ken Chen Cc: David Gibson Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2f3dabefa73fe3307578553f456e93f0a1bca08

Author: Eric W. Biederman Date: Thu Jan 24 05:52:13 2008 -0800

sysctl: kill binary sysctl KERN_PPC_L2CR

: Stefan Roese said:

> ppc: 4xx: sysctl table check failed: /kernel/l2cr .1.31 Missing strategy

>

> I'm seeing this error message when booting an recent arch/ppc kernel on

> 4xx platforms (tested on Ocotea and other 4xx platforms). Booting NFS

> rootfs still works fine, but this message kind of makes me "nervous".

> This is not seen on 4xx arch/powerpc platforms. Here the bootlog:

Because the data field was never filled and a binary sysctl handler was

never written this sysctl has never been usable through the sys_sysctl

interface. So just remove the binary sysctl number. Making the kernel

sanity checks happy.

Signed-off-by: Eric W. Biederman Reported-by: Stefan Roese Cc: Josh Boyer Cc: Wolfgang Denk Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fabe874a48de45b137f99b4ed3641e0413f465ce

Author: Arjan van de Ven Date: Thu Jan 24 07:00:45 2008 +0100

lockdep: fix kernel crash on module unload

Michael Wu noticed in his lkml post at

that certain wireless drivers ended up having their name in module

memory, which would then crash the kernel on module unload.

The patch he proposed was a bit clumsy in that it increased the size of

a lockdep entry significantly; the patch below tries another approach,

it checks, on module teardown, if the name of a class is in module space

and then zaps the class. This is very similar to what we already do

with keys that are in module space.

Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Acked-by: Peter Zijlstra Signed-off-by: Linus Torvalds commit de195fd0016f9ab85f1d596dca48dade33f26d36

Author: David S. Miller Date: Wed Jan 23 21:32:04 2008 -0800

[SPARC64]: Partially revert "Constify function pointer tables."

This partially reverts 872e2be7c4056496c2871bd9b0f2fae6c374fe47

(Constify function pointer tables.)

The solaris/socksys.c transformation wasn't valid:

arch/sparc64/solaris/socksys.c:192: error: assignment of read-only variable ‘socksys_file_ops’

arch/sparc64/solaris/socksys.c:195: error: assignment of read-only variable ‘socksys_file_ops’

arch/sparc64/solaris/socksys.c:196: error: assignment of read-only variable ‘socksys_file_ops’

Signed-off-by: David S. Miller commit ec68373c04495edbe39fb94fad963fb781e062e5

Author: Len Brown Date: Wed Jan 23 22:41:20 2008 -0500

Revert "ACPI: Fan: Drop force_power_state acpi_device option"

This reverts commit 93ad7c07ad487b036add8760dabcc35666a550ef.

Signed-off-by: Len Brown commit d772b3b323a15588a757f5af28e51a57d0d2f622

Author: Márton Németh Date: Wed Jan 23 22:34:09 2008 -0500

ACPI: EC: "DEBUG" needs to be defined earlier

The "DEBUG" symbol needs to be defined before #including to

get the pr_debug() working.

Signed-off-by: Márton Németh Signed-off-by: Len Brown commit 86dae0154a49b67c908faffeb33ba37eddceba74

Author: Márton Németh Date: Wed Jan 23 22:33:06 2008 -0500

ACPI: EC: add leading zeros to debug messages

Add leading zeros to pr_debug() calls. For example if x=0x0a, the format

"0x%2x" will result the string "0x a", the format "0x%2.2x" will result "0x0a".

Signed-off-by: Márton Németh Signed-off-by: Len Brown commit 03d1d99c55649ca641b86d2e3489b167ede1671a

Author: Alexey Starikovskiy Date: Wed Jan 23 22:28:34 2008 -0500

ACPI: EC: fix dmesg spam regression

Return OBF_1 optimization workaround

Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a1bd4e35e8d9df24db7d7addd74cbfcc87ec9fb3

Author: Len Brown Date: Wed Jan 23 21:19:27 2008 -0500

ACPI: DMI blacklist to reduce console warnings on OSI(Linux) systems.

This DMI blacklist reduces the console messages

on systems which have a BIOS that invokes OSI(Linux).

As the DMI blacklist already knows about these systems,

the request for DMI info itself is disabled.

Further, if OSI(Linux) has already been determined

to have no beneift, we disable the console message

requesting acpi_osi=Linux test results.

Signed-off-by: Len Brown commit 98f1db22d70b0660a27cc8818a61181b5d503671

Author: Len Brown Date: Wed Jan 23 20:56:18 2008 -0500

ACPI: Add ThinkPad R61, ThinkPad T61 to OSI(Linux) white-list

acpi_osi=Linux helps sound on these systems.

Signed-off-by: Len Brown commit d4b7dc499daae909e62dc260b95cd618f2970ded

Author: Len Brown Date: Wed Jan 23 20:50:56 2008 -0500

ACPI: make _OSI(Linux) console messages smarter

If BIOS invokes _OSI(Linux), the kernel response

depends on what the ACPI DMI list knows about the system,

and that is reflectd in dmesg:

1) System unknown to DMI:

ACPI: BIOS _OSI(Linux) query ignored

ACPI: DMI System Vendor: LENOVO

ACPI: DMI Product Name: 7661W1P

ACPI: DMI Product Version: ThinkPad T61

ACPI: DMI Board Name: 7661W1P

ACPI: DMI BIOS Vendor: LENOVO

ACPI: DMI BIOS Date: 10/18/2007

ACPI: Please send DMI info above to linux-acpi@vger.kernel.org

ACPI: If "acpi_osi=Linux" works better, please notify linux-acpi@vger.kernel.org

2) System known to DMI, but effect of OSI(Linux) unknown:

ACPI: DMI detected: Lenovo ThinkPad T61

...

ACPI: BIOS _OSI(Linux) query ignored via DMI

ACPI: If "acpi_osi=Linux" works better, please notify linux-acpi@vger.kernel.org

3) System known to DMI, which disables _OSI(Linux):

ACPI: DMI detected: Lenovo ThinkPad T61

...

ACPI: BIOS _OSI(Linux) query ignored via DMI

4) System known to DMI, which enable _OSI(Linux):

ACPI: DMI detected: Lenovo ThinkPad T61

ACPI: Added _OSI(Linux)

...

ACPI: BIOS _OSI(Linux) query honored via DMI

cmdline overrides take precidence over the built-in

default and the DMI prescribed default.

cmdline "acpi_osi=Linux" results in:

ACPI: BIOS _OSI(Linux) query honored via cmdline

Signed-off-by: Len Brown commit 7ce95ce5c6dbbc3f70933f04537860ffd9dbe17e

Author: Len Brown Date: Wed Jan 23 20:06:41 2008 -0500

ACPI: Delete Intel Customer Reference Board (CRB) from OSI(Linux) DMI list

Linux does not want BIOS writers to invoke _OSI(Linux) -

for in the field it causes more Windows incompatibility problems

than it solves.

So when it is seen in the BIOS for an Intel Customer Reference Board,

Linux should ignore its effect by default, and should complain loudly.

Otherwise, the reference BIOS will go unfixed, and the bad BIOS

will spread to the field.

Users of this board can get the old behavior with "acpi_osi=Linux"

As this was the only entry, delete acpi_osl_dmi_table[].

Signed-off-by: Len Brown commit f40cd6fddcb1d51d8a2a67ddc81c14a3532f3cb7

Author: Len Brown Date: Wed Jan 23 20:04:28 2008 -0500

ACPI: on OSI(Linux), print needed DMI rather than requesting dmidecode output

Signed-off-by: Len Brown commit 5a4e143271b97dcaa113761a76942c4d4bc273a2

Author: Len Brown Date: Wed Jan 23 20:01:22 2008 -0500

ACPI: create acpi_dmi_dump()

A utility routine to print common entries used

for ACPI-related DMI blacklist entries.

Signed-off-by: Len Brown commit f89e3b0620a0dc19f313218f55373b9361142203

Author: Len Brown Date: Wed Jan 23 16:36:45 2008 -0500

DMI: create dmi_get_slot()

This simply allows other sub-systems (such as ACPI)

to access and print out slots in static dmi_ident[].

Signed-off-by: Len Brown commit 81b4e1f6269cea345f17d3aa349ec9beb31a8cd3

Author: Len Brown Date: Wed Jan 16 17:20:37 2008 -0500

DMI: move dmi_available declaration to linux/dmi.h

Signed-off-by: Len Brown commit 53256f59116b541f087eb9423c1578e09a1b4b2f

Author: Carlos Martín Date: Thu Jan 24 10:34:10 2008 +1000

drm/i915: add support for E7221 chipset

E7221 chipset is a server version of the i915.

Signed-off-by: Dave Airlie Signed-off-by: Linus Torvalds commit e914a36ac7158235e3f65f0b33bc001a4193e0b5

Author: Carlos Martín Date: Thu Jan 24 10:34:09 2008 +1000

agp/intel: add support for E7221 chipset

The E7221 chipset is a 915 rebadged for the Intel server line.

Signed-off-by: Dave Airlie Signed-off-by: Linus Torvalds commit f9c4cfe95451b7f4531d73d2a8a6651cba9760ab

Author: Jeremy Fitzhardinge Date: Wed Jan 23 16:07:17 2008 -0800

xen: disable vcpu_info placement for now

There have been several reports of Xen guest domains locking up when

using vcpu_info structure placement. Disable it for now.

Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Linus Torvalds commit e2d435ea4084022ab88efa74214accb45b1f9e92

Author: Stuart Swales Date: Wed Jan 23 20:00:48 2008 +0000

[SCSI] initio: fix module hangs on loading

I've verified (on my Initio 9100 with a DAT drive) that the

2.6.24-rc8-git6 initio module still hangs on loading.

These fixes (other than the printk) are needed to get the module to load

ok (and work correctly) with my adapter & tape drive.

a) printk cosmetic fix

b) cblk->sglen needs setting for later DMA I/O routines to use

c) host->bios_addr needs setting for debug output correctness

d) semaph & semaph_lock initialisation had got lost since 2.6.22

e) since 2.6.22 the bios data address was truncated to 16 bits (needs 20

when shifted left)

Signed-off-by: James Bottomley commit 8f7b3d156d348b6766833cd4e272d0d19b501e64

Author: Anton Salikhmetov Date: Wed Jan 23 02:21:18 2008 +0300

Update ctime and mtime for memory-mapped files

Update ctime and mtime for memory-mapped files at a write access on

a present, read-only PTE, as well as at a write on a non-present PTE.

Signed-off-by: Anton Salikhmetov Signed-off-by: Linus Torvalds commit b334349eb4c8562fd60bc8a8bd5ba6b42f22b8ac

Author: Francois Romieu Date: Sat Nov 17 21:29:47 2007 +0100

sis190: scheduling while atomic error

sis190_tx_timeout

-> sis190_hw_start

-> sis190_soft_reset

-> msleep *splat*

PCI transactions are correctly flushed here.

The msleep() is probably useless.

Signed-off-by: Francois Romieu Cc: K.M. Liu commit 7bf3f232f7c78efee8c4d14ad9af8a5a40304916

Author: Francois Romieu Date: Sat Nov 17 16:56:43 2007 +0100

sis190: mdio operation failure is not correctly detected

i ranges from 0 to 100 in the 'for' loop a few lines above.

Reported by davem.

Signed-off-by: Francois Romieu Cc: K.M. Liu commit 11913d30b9fb985b12835037281ae0483be59623

Author: Francois Romieu Date: Sat Nov 17 15:55:10 2007 +0100

sis190: remove duplicate INIT_WORK

It is already done in sis190_init_one.

Signed-off-by: Francois Romieu Cc: K.M. Liu commit ebc71647309539aaf9088f4e41b9f364cce8f7eb

Author: Francois Romieu Date: Tue Dec 4 22:58:41 2007 +0100

sis190: add cmos ram access code for the SiS19x/968 chipset pair

More work is needed to handle correctly the PHY of the new devices

when connected to a 10Mb link but this change already helps some

users as is.

Fix for:

Signed-off-by: Francois Romieu Cc: K.M. Liu Cc: J. Gleacher Cc: Alexandre Penasso Teixeira Cc: Arliton Rocha Cc: Juan Jose Pablos Cc: Wipat Srutiprom commit f945fa7ad9c12a3356a3de7fb2143ccc2f2c3bca

Author: Herbert Xu Date: Tue Jan 22 22:39:26 2008 -0800

[INET]: Fix truesize setting in ip_append_data

As it is ip_append_data only counts page fragments to the skb that

allocated it. As such it means that the first skb gets hit with a

4K charge even though it might have only used a fraction of it while

all subsequent skb's that use the same page gets away with no charge

at all.

This bug was exposed by the UDP accounting patch.

[ The wmem_alloc bumping needs to be moved with the truesize,

noticed by Takahiro Yasui. -DaveM ]

Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ff4b950277b6534caab2b2b956dba6ce29757551

Author: Denis V. Lunev Date: Tue Jan 22 22:05:33 2008 -0800

[NETNS]: Re-export init_net via EXPORT_SYMBOL.

init_net is used added as a parameter to a lot of old API calls, f.e.

ip_dev_find. These calls were exported as EXPORT_SYMBOL. So, export init_net

as EXPORT_SYMBOL to keep networking API consistent.

Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a781cf94e6dcc09bf13e548298185d916d9ff3c8

Author: Reinette Chatre Date: Mon Jan 21 10:08:31 2008 -0800

iwlwifi: fix possible read attempt on ucode that is not available

This fixes a NULL pointer dereference that can occur when the

ucode is not loaded at the time __iwl_up is called.

The problem was reported at

Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1e34a11d55c9437775367d72ad03f9af99e78bd0

Author: David S. Miller Date: Tue Jan 22 23:44:31 2008 -0800

[IPV4]: Add missing skb->truesize increment in ip_append_page().

And as noted by Takahiro Yasui, we thus need to bump the

sk->sk_wmem_alloc at this spot as well.

Signed-off-by: David S. Miller commit 4c93566e2a61b48ef071a8d8a8fa9904c83a668e

Author: David S. Miller Date: Mon Jan 21 23:20:58 2008 -0800

[TULIP] DMFE: Fix SROM parsing regression.

Changeset 16b110c3fd760620b4a787db6ed512fe531ab1b5 (dmfe warning fix)

bothed up the offsets read from the SROM so that it doesn't read the

same datums it used to.

The change made transformations like turning:

"srom + 34"

into

"(__le32 *)srom + 34/4"

which doesn't work because 4 does not divide evenly

into 34 so we're using a different pointer offset

than in the original code.

I've changed theses cases in dmfe_parse_srom() to

consistently use "(type *)(srom + offset)" preserving

the offsets from the original code.

Signed-off-by: David S. Miller commit acea6852f32b8805e166d885ed7e9f0c7cd10d41

Author: Dave Young Date: Mon Jan 21 22:35:21 2008 -0800

[BLUETOOTH]: Move children of connection device to NULL before connection down.

The rfcomm tty device will possibly retain even when conn is down, and

sysfs doesn't support zombie device moving, so this patch move the tty

device before conn device is destroyed.

For the bug refered please see :

Signed-off-by: Dave Young Signed-off-by: David S. Miller commit 872e2be7c4056496c2871bd9b0f2fae6c374fe47

Author: Jan Engelhardt Date: Tue Jan 22 18:29:20 2008 -0800

[SPARC]: Constify function pointer tables.

Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 667984d9e481e43a930a478c588dced98cb61fea

Author: Jordan Crouse Date: Tue Jan 22 23:30:16 2008 +0100

x86: GEODE fix a race condition in the MFGPT timer tick

When we set the MFGPT timer tick, there is a chance that we'll

immediately assert an event. If for some reason the IRQ routing

for this clock has been setup for some other purpose, then we

could end up firing an interrupt into the SMM handler or worse.

This rearranges the timer tick init function to initalize the handler

before we set up the MFGPT clock to make sure that even if we get

an event, it will go to the handler.

Furthermore, in the handler we need to make sure that we clear the

event, even if the timer isn't running.

Signed-off-by: Jordan Crouse Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Tested-by: Arnd Hannemann commit 889c94a14e38e749c8060f597ee7825ea0764229

Author: Johann Felix Soden Date: Sun Jan 20 14:41:18 2008 +0100

Fix file references in documentation and Kconfig

Fix typo in arch/powerpc/boot/flatdevtree_env.h.

There is no Documentation/networking/ixgbe.txt.

README.cycladesZ is now in Documentation/.

wavelan.p.h is now in drivers/net/wireless/.

HFS.txt is now Documentation/filesystems/hfs.txt.

OSS-files are now in sound/oss/.

Signed-off-by: Johann Felix Soden Acked-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 00e10776ff908a767b3d36a53d330db8fdc53a56

Author: Randy Dunlap Date: Tue Jan 22 03:31:39 2008 -0800

rcu: fix section mismatch

rcu_online_cpu() should be __cpuinit instead of __devinit.

WARNING: vmlinux.o(.text+0x4b6d5): Section mismatch: reference to .init.text: (between 'rcu_cpu_notify' and 'wakeme_after_rcu')

Signed-off-by: Randy Dunlap Cc: Sam Ravnborg Acked-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80c002ddd2e732062e4371314d40515d0b5d8415

Author: David Fries Date: Tue Jan 22 03:31:39 2008 -0800

W1: w1_therm.c is flagging 0C etc as invalid

The extra rom[0] check is flagging valid temperatures as invalid when

there is already a CRC data transmission check.

w1_therm_read_bin()

if (rom[8] == crc && rom[0])

verdict = 1;

Requiring rom[0] to be non-zero will flag as invalid temperature

conversions when the low byte is zero, specifically the temperatures 0C,

16C, 32C, 48C, -16C, -32C, and -48C.

The CRC check is produced on the device for the previous 8 bytes and is

required to ensure the data integrity in transmission. I don't see why the

extra check for rom[0] being non-zero is in there. Evgeniy Polyakov didn't

know either. Just for a check I unplugged the sensor, executed a

temperature conversion, and read the results. The read was all ff's, which

also failed the CRC, so it doesn't need to protect against a disconnected

sensor.

I have more extensive patches in the work, but these two trivial ones will

do for today. I would like to hear from people who use the ds2490 USB to

one wire dongle. 1 if you would be willing to test the patches as I

currently only have the one sensor on a short parisite powered wire, 2 if

there is any cheap sources for the ds2490.

Signed-off-by: David Fries Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 941ed3b53086697eac7449f3ab5d2c5ab3259de2

Author: David Fries Date: Tue Jan 22 03:31:37 2008 -0800

W1: w1_therm.c ds18b20 decode freezing temperatures correctly

Correct the decoding of negative C temperatures. The code did a binary OR

of two bytes to make a 16 bit value, but assignd it to an integer. This

caused the value to not be sign extended and to loose that it was a

negative number in the assignment.

Before the patch (in my freezer),

w1_slave

ed fe 4b 46 7f ff 03 10 e4 : crc=e4 YES

ed fe 4b 46 7f ff 03 10 e4 t=4078

With the patch,

e3 fe 4b 46 7f ff 0d 10 81 : crc=81 YES

e3 fe 4b 46 7f ff 0d 10 81 t=-17

Signed-off-by: David Fries Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87b4b6634ac112ddfe7b92aae50eb4bf7b128d1a

Author: Bjorn Helgaas Date: Tue Jan 22 07:21:03 2008 -0500

hwmon: (it87) request only Environment Controller ports

The IT8705F and related parts are Super I/O controllers that contain

many separate devices.

Some BIOSes describe IT8705F I/O port usage under a motherboard device

(PNP0C02) with overlapping regions, e.g., 0x290-0x29f and 0x290-0x294.

The it87 driver supports only the Environment Controller, which requires

only two ISA ports, but it used to request an eight-port range. If that

range exceeds a range reported by the BIOS, as 0x290-0x297 would, the

request fails, and the it87 driver cannot claim the device.

This patch makes the it87 driver request only the two ports used for the

Environment Controller device.

Systems where this problem has been reported:

Gigabyte GA-K8N Ultra 9

Gigabyte M56S-S3

Gigabyte GA-965G-DS3

Kernel bug reports:

Related change:

The patch above increases the number of PNP port resources we support.

Prior to this patch, we ignored some port resources, which masked the

it87 problem.

Signed-off-by: Bjorn Helgaas Signed-off-by: Mark M. Hoffman commit c61935fd0e7f087a643827b4bf5ef646963c10fa

Author: Ingo Molnar Date: Tue Jan 22 11:24:58 2008 +0100

sched: group scheduler, set uid share fix

setting cpu share to 1 causes hangs, as reported in:

as the default share is 1024, the values of 0 and 1 can indeed

cause problems. Limit it to 2 or higher values.

These values can only be set by the root user - but still it

makes sense to protect against nonsensical values.

Signed-off-by: Ingo Molnar commit 4960c9df1407c2723459c60ff13e6efe0c209c62

Author: Thomas Gleixner Date: Tue Jan 22 10:23:01 2008 +0100

Revert "x86: fix NMI watchdog & 'stopped time' problem"

This reverts commit d4d25deca49ec2527a634557bf5a6cf449f85deb.

It tried to fix long standing bugzilla entries, but the solution was

reported to break other systems. The reporter of

tracked it down to this commit and confirmed that reverting the patch

restores the correct behaviour. It's too late in the release cycle to

find a better solution than reverting the commit to avoid regressions.

Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar commit 2ad913babd5d597f9d9d71d9e93dd589d55e66cd

Author: Sam Ravnborg Date: Mon Jan 21 17:25:37 2008 -0800

[SPARC64]: Fix section error in sparcspkr

With a sparc64 defconfig modified to set CONFIG_HOTPLUG=n

the following error happened during link of vmlinux:

local symbol 0: discarded in section `.devexit.text' from drivers/built-in.o

local symbol 1: discarded in section `.devexit.text' from drivers/built-in.o

(The error message above is from kbuild.git but it happens in mainline too)

The error happens becase there is a reference from .text/.data to a

function marked __devexit. With CONFIG_HOTPLUG=n all code marked

__devexit are discarded and the linker complains.

It was tracked down to sparcspkr.c which were missing __devexit_p()

around the function pointers.

Unfortunately modpost did not catch this since modpost do not warn

about references from .data to .devexit from variables named *_driver.

Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit a1f35ba374bc421ab33e40163be2b57995b09962

Author: Sam Ravnborg Date: Mon Jan 21 17:22:46 2008 -0800

[SPARC64]: Fix of section mismatch warnings.

Fix following Section mismatch warning in sparc64:

WARNING: arch/sparc64/kernel/built-in.o(.text+0x13dec): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'psycho_scan_bus' and 'psycho_pbm_init')

WARNING: arch/sparc64/kernel/built-in.o(.text+0x14b58): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'sabre_scan_bus' and 'sabre_init')

WARNING: arch/sparc64/kernel/built-in.o(.text+0x15ea4): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'schizo_scan_bus' and 'schizo_pbm_init')

WARNING: arch/sparc64/kernel/built-in.o(.text+0x17780): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'pci_sun4v_scan_bus' and 'pci_sun4v_get_head')

WARNING: arch/sparc64/kernel/built-in.o(.text+0x17d5c): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'pci_fire_scan_bus' and 'pci_fire_get_head')

WARNING: arch/sparc64/kernel/built-in.o(.text+0x23860): Section mismatch: reference to .devinit.text:vio_dev_release (between 'vio_create_one' and 'vio_add')

WARNING: arch/sparc64/kernel/built-in.o(.text+0x23868): Section mismatch: reference to .devinit.text:vio_dev_release (between 'vio_create_one' and 'vio_add')

The pci_* were all missing __init annotations.

For the vio.c case it was a function with a wrong annotation which was removed.

Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit d384e35a25445bb60457b7dab8cffe178c6b7ecb

Author: Linus Nilsson Date: Sun Jan 20 17:10:01 2008 +0100

Makefile: Change typoed 'behavour' to 'behaviour'

Change two occurances of "behavour" to "behaviour".

Signed-off-by: Linus Nilsson Signed-off-by: Linus Torvalds commit a6dbb1ef2fc8d73578eacd02ac701f4233175c9f

Author: Andrew G. Morgan Date: Mon Jan 21 17:18:30 2008 -0800

Fix filesystem capability support

In linux-2.6.24-rc1, security/commoncap.c:cap_inh_is_capped() was

introduced. It has the exact reverse of its intended behavior. This

led to an unintended privilege esculation involving a process'

inheritable capability set.

To be exposed to this bug, you need to have Filesystem Capabilities

enabled and in use. That is:

- CONFIG_SECURITY_FILE_CAPABILITIES must be defined for the buggy code

to be compiled in.

- You also need to have files on your system marked with fI bits raised.

Signed-off-by: Andrew G. Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a10336043b8193ec603ad54bb79cdcd26bbf94b3

Author: Stefan Schmidt Date: Mon Jan 21 17:18:27 2008 -0800

s3c2410_fb: fix line length calculation

Fix line length calculation. var->width is the size of the display in mm. We

like to use the pixel size.

Without this fix, dynamic (fbset) based resolution and depths changes with

s3c2410_fb don't work at all.

Spotted by john cass Signed-off-by: Stefan Schmidt Signed-off-by: Harald Welte Acked-by: Ben Dooks Acked-by: Arnaud Patard Acked-by: Krzysztof Helt Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a56d00bbea018cfa6dc62f76db52760872efa1a7

Author: Cyrill Gorcunov Date: Mon Jan 21 17:18:26 2008 -0800

CRIS: add missed local_irq_restore call

Signed-off-by: Cyrill Gorcunov Acked-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48ccf3dac341118992b70ca89c47728e8b1d300b

Author: Randy Dunlap Date: Mon Jan 21 17:18:25 2008 -0800

timer: fix section mismatch

The caller is __cpuinit.

Also, this code block and its caller are inside #ifdef CONFIG_HOTPLUG_CPU

blocks, so this code should reflect that config symbol's usage.

WARNING: vmlinux.o(.text+0x4252f): Section mismatch: reference to .init.text: (between 'timer_cpu_notify' and 'msleep')

Signed-off-by: Randy Dunlap Cc: Sam Ravnborg Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ec160dd48b666ddef39d639323d0da26d0b710d

Author: Randy Dunlap Date: Mon Jan 21 17:18:24 2008 -0800

hrtimer: fix section mismatch

Fix section mismatch in hrtimer.c:

WARNING: vmlinux.o(.text+0x50c61): Section mismatch: reference to .init.text: (between 'hrtimer_cpu_notify' and 'down_read_trylock')

Noticed by Johannes Berg and confirmed by Sam Ravnborg.

Signed-off-by: Randy Dunlap Cc: Sam Ravnborg Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5569a565f7315fe7241cf963f2cc74e53871e11

Author: Alan Cox Date: Mon Jan 21 17:18:24 2008 -0800

keyspan: fix oops

If we get a data URB back from the hardware after we have put the tty to

bed we go kaboom. Fortunately all we need to do is process the URB without

trying to ram its contents down the throat of an ex-tty.

Signed-off-by: Alan Cox Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06675e6f4fb00a63575f4b85da305c3ab19e6e5d

Author: Atsushi Nemoto Date: Sat Jan 19 01:15:52 2008 +0900

tc35815: Use irq number for tc35815-mac platform device id

The tc35815-mac platform device used a pci bus number and a devfn to

identify its target device, but the pci bus number may vary if some

bus-bridges are found. Use irq number which is be unique for embedded

con

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值