aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-09-29ACPI, APEI, Fix ERST MOVE_DATA instruction implementationHuang Ying1-3/+20
The src_base and dst_base fields in apei_exec_context are physical address, so they should be ioremaped before being used in ERST MOVE_DATA instruction. Reported-by: Javier Martinez Canillas <[email protected]> Reported-by: Andrew Morton <[email protected]> Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-29ACPI: fan: Fix more unbalanced code blockLuis Henriques1-0/+2
commit 934231de706d2579fae14f5857fcd8de991009ff fixes an unbalanced CONFIG_ACPI_PROCFS code block during module initialisation. This patch fixes similar issue but for the module exit. Signed-off-by: Luis Henriques <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-29ACPI: acpi_pad: simplify code to avoid false gcc build warningLen Brown1-16/+18
acpi_pad.c:432: warning: ‘num_cpus’ may be used uninitialized in this function gcc 4.4.4 was unable to notice that num_cpus is always set. Re-arrange the code to un-confuse gcc, and also make it easier for humans to read.... Signed-off-by: Len Brown <[email protected]>
2010-09-29ACPI, APEI, Fix error path for memory allocationHuang Ying2-11/+26
In ERST debug/test support patch, a dynamic allocated buffer is used. The may-failed memory allocation should be tried firstly before free the previous buffer. APEI resource management memory allocation related error path is fixed too. v2: - Fix error messages for APEI resources management Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-29ACPI, APEI, HEST Fix the unsuitable usage of platform_dataJin Dongming2-5/+8
platform_data in hest_parse_ghes() is used for saving the address of entry information of erst_tab. When the device is failed to be added, platform_data will be freed by platform_device_put(). But the value saved in platform_data should not be freed here. If it is done, it will make system panic. So I think platform_data should save the address of allocated memory which saves entry information of erst_tab. This patch fixed it and I confirmed it on x86_64 next-tree. v2: Transport the pointer of hest_hdr to platform_data using platform_device_add_data() Signed-off-by: Jin Dongming <[email protected]> Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-29ACPI, APEI, Fix acpi_pre_map() return valueJin Dongming1-1/+1
After we ioremap() a new region, we call __acpi_try_ioremap() to see whether another thread has already mapped the same region. This check clobbers "vaddr", so compute the return value of acpi_pre_map() using the ioremap() result "map->vaddr" instead. v2: Modified the unsuitable description of patch. v3: Removed unlikely() check and made description simpler. Signed-off-by: Jin Dongming <[email protected]> Reviewed-by: Andi Kleen <[email protected]> Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-29ACPI, APEI, Fix APEI related table size checkingHuang Ying2-2/+6
On Huang Ying's machine: erst_tab->header_length == sizeof(struct acpi_table_einj) but Yinghai reported that on his machine, erst_tab->header_length == sizeof(struct acpi_table_einj) - sizeof(struct acpi_table_header) To make erst table size checking code works on all systems, both testing are treated as PASS. Same situation applies to einj_tab->header_length, so corresponding table size checking is changed in similar way too. v2: - Treat both table size as valid Originally-by: Yinghai Lu <[email protected]> Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-29xfs: force background CIL push under sustained loadDave Chinner2-19/+30
I have been seeing occasional pauses in transaction throughput up to 30s long under heavy parallel workloads. The only notable thing was that the xfsaild was trying to be active during the pauses, but making no progress. It was running exactly 20 times a second (on the 50ms no-progress backoff), and the number of pushbuf events was constant across this time as well. IOWs, the xfsaild appeared to be stuck on buffers that it could not push out. Further investigation indicated that it was trying to push out inode buffers that were pinned and/or locked. The xfsbufd was also getting woken at the same frequency (by the xfsaild, no doubt) to push out delayed write buffers. The xfsbufd was not making any progress because all the buffers in the delwri queue were pinned. This scan- and-make-no-progress dance went one in the trace for some seconds, before the xfssyncd came along an issued a log force, and then things started going again. However, I noticed something strange about the log force - there were way too many IO's issued. 516 log buffers were written, to be exact. That added up to 129MB of log IO, which got me very interested because it's almost exactly 25% of the size of the log. He delayed logging code is suppose to aggregate the minimum of 25% of the log or 8MB worth of changes before flushing. That's what really puzzled me - why did a log force write 129MB instead of only 8MB? Essentially what has happened is that no CIL pushes had occurred since the previous tail push which cleared out 25% of the log space. That caused all the new transactions to block because there wasn't log space for them, but they kick the xfsaild to push the tail. However, the xfsaild was not making progress because there were buffers it could not lock and flush, and the xfsbufd could not flush them because they were pinned. As a result, both the xfsaild and the xfsbufd could not move the tail of the log forward without the CIL first committing. The cause of the problem was that the background CIL push, which should happen when 8MB of aggregated changes have been committed, is being held off by the concurrent transaction commit load. The background push does a down_write_trylock() which will fail if there is a concurrent transaction commit holding the push lock in read mode. With 8 CPUs all doing transactions as fast as they can, there was enough concurrent transaction commits to hold off the background push until tail-pushing could no longer free log space, and the halt would occur. It should be noted that there is no reason why it would halt at 25% of log space used by a single CIL checkpoint. This bug could definitely violate the "no transaction should be larger than half the log" requirement and hence result in corruption if the system crashed under heavy load. This sort of bug is exactly the reason why delayed logging was tagged as experimental.... The fix is to start blocking background pushes once the threshold has been exceeded. Rework the threshold calculations to keep the amount of log space a CIL checkpoint can use to below that of the AIL push threshold to avoid the problem completely. Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Alex Elder <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]>
2010-09-29mfd: Fix max8925 irq control bit incorrect settingKevin Liu1-6/+7
In max8925_irq_sync_unlock(), irq control bit is set at the same time. Zero means enabling irq, and one means disabling irq. The original code is: irq_chg[0] &= irq_data->enable; It should be changed to: irq_chg[0] &= ~irq_data->enable; Otherwise, irq control bit is mess. Signed-off-by: Kevin Liu <[email protected]> Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-09-29mfd: Ignore non-GPIO IRQs when setting wm831x IRQ typesMark Brown1-2/+7
The driver was originally tested with an additional patch which made this unneeded but that patch had issuges and got lost on the way to mainline, causing problems when the errors are reported. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]> Cc: [email protected]
2010-09-28Merge branch 'meego-7093' into idle-releaseLen Brown1-0/+20
2010-09-28acpi_idle: add missing \n to printkLen Brown1-1/+1
otherwise, these two lines print as one: ACPI: acpi_idle yielding to intel_idle ACPI: SSDT 3f5d8741 00203 (v02 PmRef Cpu0Ist 00003000 INTL 20050624) Signed-off-by: Len Brown <[email protected]>
2010-09-28intel_idle: add missing __percpu markupNamhyung Kim1-1/+1
intel_idle_cpuidle_devices is a percpu pointer but was missing __percpu markup. Signed-off-by: Namhyung Kim <[email protected]> Acked-by: Tejun Heo <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-28intel_idle: Change mode 755 => 644Thomas Weber1-0/+0
Remove execution permission from source file. Signed-off-by: Thomas Weber <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-28cpuidle: Fix typosLucas De Marchi1-1/+1
Signed-off-by: Len Brown <[email protected]>
2010-09-28ACPI: Disable Windows Vista compatibility for Toshiba P305DZhang Rui1-0/+8
Disable the Windows Vista (SP1) compatibility for Toshiba P305D. http://bugzilla.kernel.org/show_bug.cgi?id=14736 Signed-off-by: Zhang Rui <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-28ACPI: Kconfig: fix typo.Andrea Gelmini1-1/+1
"power of" -> "power off" Signed-off-by: Len Brown <[email protected]>
2010-09-28ACPI: add missing __percpu markup in arch/x86/kernel/acpi/cstate.cNamhyung Kim1-1/+1
cpu_cstate_entry is a percpu pointer but was missing __percpu markup. Signed-off-by: Namhyung Kim <[email protected]> Acked-by: Tejun Heo <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-28ACPI: Fix typosLucas De Marchi8-10/+10
Signed-off-by: Len Brown <[email protected]>
2010-09-28ACPI video: fix a poor warning messageZhang Rui1-2/+2
Fix a vague warning message. https://bugzilla.kernel.org/show_bug.cgi?id=16599 Signed-off-by: Zhang Rui <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-28ACPI: fix build warnings resulting from merge window conflictZhang Rui1-6/+14
drivers/acpi/sysfs.c:154: warning: passing argument 1 of '__check_old_set_param' from incompatible pointer type include/linux/moduleparam.h:165: note: expected 'int (*)(const char *, struct kernel_param *)' but argument is of type 'int (*)(const char *, const struct kernel_param *)' Introduced by commit 1c8fce27e275fd7c6b75bc6455745f02d3903ee6 ("ACPI: introduce drivers/acpi/sysfs.c") interacting with commit 9bbb9e5a33109b2832e2e63dcc7a132924ab374b ("param: use ops in struct kernel_param, rather than get and set fns directly"). Use module_param_cb instead of the obsoleted module_param_call to fix a build warning. Signed-off-by: Zhang Rui <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-28Linux 2.6.36-rc6Linus Torvalds1-1/+1
2010-09-28MN10300: Handle missing sys_cacheflush() when caching disabledDavid Howells2-8/+27
When caching is disabled on the MN10300 arch, the sys_cacheflush() function is removed by conditional stuff in the makefiles, but is still referred to by the syscall table. Provide a null version that just returns 0 when caching is disabled (or -EINVAL if the arguments are silly). Signed-off-by: David Howells <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-09-28x86, cpu: After uncapping CPUID, re-run CPU feature detectionH. Peter Anvin3-1/+3
After uncapping the CPUID level, we need to also re-run the CPU feature detection code. This resolves kernel bugzilla 16322. Reported-by: boris64 <[email protected]> Cc: <[email protected]> v2.6.29..2.6.35 LKML-Reference: <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2010-09-28ACPI: EC: add Vista incompatibility DMI entry for Toshiba Satellite L355Len Brown1-0/+8
https://bugzilla.kernel.org/show_bug.cgi?id=12641 Signed-off-by: Len Brown <[email protected]>
2010-09-28ACPI: expand Vista blacklist to include SP1 and SP2Len Brown1-0/+2
When we claim incompatibility with Vista, include both Vista SP1 and SP2. https://bugzilla.kernel.org/show_bug.cgi?id=12641 Signed-off-by: Len Brown <[email protected]>
2010-09-28ACPI: delete ZEPTO idle=nomwait DMI quirkLen Brown1-6/+0
per comments in the bug report, this entry seems to hurt at much as it helps. https://bugzilla.kernel.org/show_bug.cgi?id=10807 Signed-off-by: Len Brown <[email protected]>
2010-09-28alpha: fix compile problem in arch/alpha/kernel/signal.cLinus Torvalds1-2/+2
Tssk. Apparently Al hadn't checked commit c52c2ddc1dfa ("alpha: switch osf_sigprocmask() to use of sigprocmask()") at all. It doesn't compile. Fixed as per suggestions from Michael Cree. Reported-by: Michael Cree <[email protected]> Cc: Al Viro <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-09-28ACPI: enable repeated PCIEXP wakeup by clearing PCIEXP_WAKE_STS on resumeColin Ian King1-0/+1
Section 4.7.3.1.1 (PM1 Status Registers) of version 4.0 of the ACPI spec concerning PCIEXP_WAKE_STS points out in in the final note field in table 4-11 that if this bit is set to 1 and the system is put into a sleeping state then the system will not automatically wake. This bit gets set by hardware to indicate that the system woke up due to a PCI Express wakeup event, so clear it during acpi_hw_clear_acpi_status() calls to enable subsequent resumes to work. BugLink: http://bugs.launchpad.net/bugs/613381 Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Len Brown <[email protected]>
2010-09-28Merge branch 'upstream-linus' of ↵Linus Torvalds4-14/+24
git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: fix module refcount breakage introduced by libahci split
2010-09-28ahci: fix module refcount breakage introduced by libahci splitTejun Heo4-14/+24
libata depends on scsi_host_template for module reference counting and sht's should be owned by each low level driver. During libahci split, the sht was left with libahci.ko leaving the actual low level drivers not reference counted. This made ahci and ahci_platform always unloadable even while they're being actively used. Fix it by defining AHCI_SHT() macro in ahci.h and defining a sht for each low level ahci driver. stable: only applicable to 2.6.35. Signed-off-by: Tejun Heo <[email protected]> Reported-by: Pedro Francisco <[email protected]> Tested-by: Michael Tokarev <[email protected]> Cc: [email protected] Signed-off-by: Jeff Garzik <[email protected]>
2010-09-28Merge branch 'hwmon-for-linus' of ↵Linus Torvalds1-0/+1
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging: hwmon (coretemp): Fix build breakage if SMP is undefined
2010-09-28Merge branch 'for-linus' of ↵Linus Torvalds2-3/+4
git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: fix pci_resource_alignment prototype
2010-09-28Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds53-196/+444
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits) tcp: Fix >4GB writes on 64-bit. net/9p: Mount only matching virtio channels de2104x: fix ethtool tproxy: check for transparent flag in ip_route_newports ipv6: add IPv6 to neighbour table overflow warning tcp: fix TSO FACK loss marking in tcp_mark_head_lost 3c59x: fix regression from patch "Add ethtool WOL support" ipv6: add a missing unregister_pernet_subsys call s390: use free_netdev(netdev) instead of kfree() sgiseeq: use free_netdev(netdev) instead of kfree() rionet: use free_netdev(netdev) instead of kfree() ibm_newemac: use free_netdev(netdev) instead of kfree() smsc911x: Add MODULE_ALIAS() net: reset skb queue mapping when rx'ing over tunnel br2684: fix scheduling while atomic de2104x: fix TP link detection de2104x: fix power management de2104x: disable autonegotiation on broken hardware net: fix a lockdep splat e1000e: 82579 do not gate auto config of PHY by hardware during nominal use ...
2010-09-28hwmon (coretemp): Fix build breakage if SMP is undefinedGuenter Roeck1-0/+1
Commit e40cc4bdfd4b89813f072f72bd9c7055814d3f0f introduced a build breakage if CONFIG_SMP is undefined. This commit fixes the problem. This fix is only a workaround. For a real fix, cpu_sibling_mask() should be defined in UP include code, eg in linux/smp.h, and asm/smp.h should not be included directly. This fix is currently not possible because asm/smp.h defines cpu_sibling_mask() unconditionally and is included directly from many source files. Reported-by: Ingo Molnar <[email protected]> Tested-by: Ingo Molnar <[email protected]> Signed-off-by: Guenter Roeck <[email protected]> Cc: Fenghua Yu <[email protected]>
2010-09-27Merge branch 'x86/urgent' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Avoid 'constant_test_bit()' misoptimization due to cast to non-volatile
2010-09-27tcp: Fix >4GB writes on 64-bit.David S. Miller3-4/+5
Fixes kernel bugzilla #16603 tcp_sendmsg() truncates iov_len to an 'int' which a 4GB write to write zero bytes, for example. There is also the problem higher up of how verify_iovec() works. It wants to prevent the total length from looking like an error return value. However it does this using 'int', but syscalls return 'long' (and thus signed 64-bit on 64-bit machines). So it could trigger false-positives on 64-bit as written. So fix it to use 'long'. Reported-by: Olaf Bonorden <[email protected]> Reported-by: Daniel Büse <[email protected]> Reported-by: Andrew Morton <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-09-27Fix pktcdvd ioctl dev_minor range checkDan Rosenberg1-1/+1
The PKT_CTRL_CMD_STATUS device ioctl retrieves a pointer to a pktcdvd_device from the global pkt_devs array. The index into this array is provided directly by the user and is a signed integer, so the comparison to ensure that it falls within the bounds of this array will fail when provided with a negative index. This can be used to read arbitrary kernel memory or cause a crash due to an invalid pointer dereference. This can be exploited by users with permission to open /dev/pktcdvd/control (on many distributions, this is readable by group "cdrom"). Signed-off-by: Dan Rosenberg <[email protected]> [ Rather than add a cast, just make the function take the right type -Linus ] Signed-off-by: Linus Torvalds <[email protected]>
2010-09-27MN10300: Default config choice GDBSTUB_TTYSM0 should be GDBSTUB_ON_TTYSM0David Howells1-1/+1
The configuration choice for the port on which the GDB stub listens has a default of GDBSTUB_TTYSM0, but this should be GDBSTUB_ON_TTYSM0 to match the option. Signed-off-by: David Howells <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-09-28drm/radeon/kms: add quirk for MSI K9A2GM motherboardAlex Deucher1-0/+9
Board has no digital connectors Reported-by: Andy Walls <[email protected]> Tested-by: Andy Walls <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-09-28drm/radeon/kms: fix potential segfault in r600_ioctl_wait_idleAlex Deucher1-1/+2
radeon_gem_wait_idle_ioctl can apparently get called prior to the vram page being set up or even if accel if false, so make sure it's valid before using it. Should fix: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597636 https://bugs.freedesktop.org/show_bug.cgi?id=29834 Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-09-28drm: Prune GEM vma entriesChris Wilson3-11/+27
Hook the GEM vm open/close ops into the generic drm vm open/close so that the private vma entries are created and destroy appropriately. Fixes the leak of the drm_vma_entries during the lifetime of the filp. Reported-by: Matt Mackall <[email protected]> Cc: Jesse Barnes <[email protected]> Signed-off-by: Chris Wilson <[email protected]> Acked-by: Jesse Barnes <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-09-28i2c-davinci: Fix race when setting up for TXJon Povey1-3/+3
When setting up to transmit, a race exists between the ISR and i2c_davinci_xfer_msg() trying to load the first byte and adjust counters. This is mostly visible for transmits > 1 byte long. The hardware starts sending immediately that MDR is loaded. IMR trickery doesn't work because if we start sending, finish the first byte and an XRDY event occurs before we load IMR to unmask it, we never get an interrupt, and we timeout. Move the MDR load after DXR,IMR loads to avoid this race without locking. Tested on DM355 connected to Techwell TW2836 and Wolfson WM8985 Signed-off-by: Jon Povey <[email protected]> Signed-off-by: Ben Dooks <[email protected]>
2010-09-27net/9p: Mount only matching virtio channelsSven Eckelmann1-1/+2
p9_virtio_create will only compare the the channel's tag characters against the device name till the end of the channel's tag but not till the end of the device name. This means that if a user defines channels with the tags foo and foobar then he would mount foo when he requested foonot and may mount foo when he requested foobar. Thus it is necessary to check both string lengths against each other in case of a successful partial string match. Signed-off-by: Sven Eckelmann <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-09-27de2104x: fix ethtoolOndrej Zary1-2/+5
When the interface is up, using ethtool breaks it because: a) link is put down but media_timer interval is not shortened to NO_LINK b) rxtx is stopped but not restarted Also manual 10baseT-HD (and probably FD too - untested) mode does not work - the link is forced up, packets are transmitted but nothing is received. Changing CSR14 value to match documentation (not disabling link check) fixes this. Signed-off-by: Ondrej Zary <[email protected]> Acked-by: Jeff Garzik <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-09-27i2c-octeon: Return -ETIMEDOUT in octeon_i2c_wait() on timeoutBernhard Walle1-1/+1
It doesn't make sense to set result to -ETIMEDOUT but return 0 (success) afterwards. Since there's code in octeon_i2c_start() to handle the error, it should be called. Signed-off-by: Bernhard Walle <[email protected]> Acked-by: David Daney <[email protected]> Signed-off-by: Ben Dooks <[email protected]>
2010-09-27Merge branch 'vhost-net' of ↵David S. Miller1-3/+4
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
2010-09-27tproxy: check for transparent flag in ip_route_newportsUlrich Weber1-0/+2
as done in ip_route_connect() Signed-off-by: Ulrich Weber <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-09-27ipv6: add IPv6 to neighbour table overflow warningUlrich Weber2-2/+2
IPv4 and IPv6 have separate neighbour tables, so the warning messages should be distinguishable. [ Add a suitable message prefix on the ipv4 side as well -DaveM ] Signed-off-by: Ulrich Weber <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-09-27tcp: fix TSO FACK loss marking in tcp_mark_head_lostYuchung Cheng1-1/+2
When TCP uses FACK algorithm to mark lost packets in tcp_mark_head_lost(), if the number of packets in the (TSO) skb is greater than the number of packets that should be marked lost, TCP incorrectly exits the loop and marks no packets lost in the skb. This underestimates tp->lost_out and affects the recovery/retransmission. This patch fargments the skb and marks the correct amount of packets lost. Signed-off-by: Yuchung Cheng <[email protected]> Acked-by: Ilpo Järvinen <[email protected]> Signed-off-by: David S. Miller <[email protected]>