Age | Commit message (Collapse) | Author | Files | Lines |
|
compal-laptop uses hwmon interfaces, so it should depend on HWMON.
compal-laptop.c:(.devinit.text+0x4071f): undefined reference to `hwmon_device_register'
compal-laptop.c:(.devexit.text+0x6ec0): undefined reference to `hwmon_device_unregister'
Signed-off-by: Randy Dunlap <[email protected]>
Cc: Roald Frederickx <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
input_free_device() should only be used if input_register_device() was not
called yet or if it failed. This patch removes unnecessary
input_free_device calls.
Signed-off-by: Axel Lin <[email protected]>
Acked-by: Jonathan Woithe <[email protected]>
Acked-by: Dmitry Torokhov <[email protected]>
Cc: Matthew Garrett <[email protected]>a
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
netbooks
Signed-off-by: Peter Feuerer <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Andreas Mohr <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Driver didn't verify the pointers in which it got product information back
from DMI; on QEMU one of the pointers came back null, which made the
driver crash and subsequently caused a kernel panic.
Signed-off-by: Rahul Chaturvedi <[email protected]>
Signed-off-by: Peter Feuerer <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Andreas Mohr <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Remove "chk_off" as it was only needed for T31 netbooks. But those
netbooks can also be handled just with "cmd_off" register (0x9e) for
reading the state back.
Signed-off-by: Peter Feuerer <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Andreas Mohr <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Matthew Garrett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Add new BIOS versions for Acer 1410 and 1810xx and Packard Bell netbooks.
Fixed registers of Acer AOA150 BIOS version v0.3114: Old registers caused
Fan to spin up at every temperature check.
Signed-off-by: Peter Feuerer <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Andreas Mohr <[email protected]>
Cc: Len Brown <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Thomas Renninger <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Axel Lin <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Thomas Bächler reports that his machine generates two keycodes for zooming
in and out. Add these to the default keymap.
Signed-off-by: Matthew Garrett <[email protected]>
Cc: Thomas Bächler <[email protected]>
|
|
platform_device_unregister calls platform_device_del and platform_device_put,
thus this change is logically equivalent to original code.
I made this change because the documents in platform.c shows that:
platform_device_del and platform_device_put must _only_ be externally called
in error cases. All other usage is a bug.
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
If dell_new_hk_type is true, dell_legacy_wmi_keymap will point to a memory
allocated in setup_new_hk_map().
In this case, the memory is not freed in current implementation.
This patch fixes the leak by kfree(dell_wmi_keymap) if dell_new_hk_type is true.
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
dmi_check_system() walks the table running matching functions until someone
returns non zero or we hit the end.
This patch makes dmi_matched to return 1 so dmi_check_system() return
immediately when a match is found.
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
The interface file is not writable, thus set permissions to S_IRUGO.
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
The callers of write_acpi_int_ret() pass ACPI_ALLOCATE_BUFFER,
the caller must kfree the returned buffer if AE_OK is returned.
This patch adds a missing kfree(buffer.pointer) before return -ENOMEM
if kstrdup fail.
Signed-off-by: Axel Lin <[email protected]>
Acked-by: Corentin Chary <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
When acpi_evaluate_object() is passed ACPI_ALLOCATE_BUFFER,
the caller must kfree the returned buffer if AE_OK is returned.
The callers of wmi_get_event_data() pass ACPI_ALLOCATE_BUFFER,
and thus must check its return value before accessing
or kfree() on the buffer.
This patch adds return value checking for wmi_get_event_data()
and adds a missing kfree(obj) in the end of wmi_notify_debug
Signed-off-by: Axel Lin <[email protected]>
Acked-by: Thomas Renninger <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Fixes pressing the eject key on Dell Studio 1555 does not work and produces
message :
dell-wmi: Unknown key 0 pressed
Signed-off-by: Islam Amer <[email protected]>
|
|
We exit staging rar! rar! rar!...
Signed-off-by: Alan Cox <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
Acked-by: Greg Kroah-Hartman <[email protected]>
|
|
platform_device_del in module_exit
platform_device_unregister will also call platform_device_put() to drop reference count.
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
This patch properly kfree out.pointer and gblock in error path.
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
This is to support Precision M4500 and others.
Signed-off-by: Rezwanul Kabir <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
This patch fixes the resource reclaim in acer_wmi_init error path.
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Stanse found that there are two NULL checks missing in ips_monitor. So
check their value too and bail out appropriately if the allocation
failed.
While at it, add one more kfree to the fail path. It is not necessary
now, but may be needed in the future when a new allocation is added.
And for completeness.
Also remove unneeded initialization of the variables. They are all set
right after their declaration.
Signed-off-by: Jiri Slaby <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
Acked-by: Jesse Barnes <[email protected]>
|
|
Current implementation in hp_wmi_init does not check any error and always
return success.
This patch properly handles recource reclaim and return err in error path.
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Signed-off-by: Feng Tang <[email protected]>
Signed-off-by: Alan Cox <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
rfkill_alloc returns NULL when it fails if RFKILL is enabled. When RFKILL is
disabled, its return value of ERR_PTR(-ENODEV) is OK to use as all rfkill
functions will work with it, as they are simply empty stubs.
Reported-by: Alan Jenkins <[email protected]>
Cc: Johannes Berg <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Thadeu Lima de Souza Cascardo <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Be sure to enable GPU turbo by default at load time and check GPU busy
and MCP exceeded status correctly. Also fix up CPU power comparison and
work around buggy MCH temp reporting.
Signed-off-by: Jesse Barnes <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
Intel Core i3/5 platforms with integrated graphics support both CPU and
GPU turbo mode. CPU turbo mode is opportunistic: the CPU will use any
available power to increase core frequencies if thermal headroom is
available. The GPU side is more manual however; the graphics driver
must monitor GPU power and temperature and coordinate with a core
thermal driver to take advantage of available thermal and power headroom
in the package.
The intelligent power sharing (IPS) driver is intended to coordinate
this activity by monitoring MCP (multi-chip package) temperature and
power, allowing the CPU and/or GPU to increase their power consumption,
and thus performance, when possible. The goal is to maximize
performance within a given platform's TDP (thermal design point).
Signed-off-by: Jesse Barnes <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
In some cases (for instance with kernel threads) it may be desireable to
use on-stack deferrable timers to get their power saving benefits. Add
interfaces to support this for the IPS driver.
Signed-off-by: Jesse Barnes <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
msi-laptop uses i8042_*() interfaces, so it should depend on
SERIO_I8042. E.g., when SERIO_I8042=m and MSI_LAPTOP=y:
msi-laptop.c:(.text+0x18a7fe): undefined reference to `i8042_install_filter'
msi-laptop.c:(.init.text+0xd69d): undefined reference to `i8042_remove_filter'
msi-laptop.c:(.exit.text+0x19c3): undefined reference to `i8042_remove_filter'
Signed-off-by: Randy Dunlap <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
Cc: Lennart Poettering <[email protected]>
|
|
Randy Dunlap has reported that building classmate-laptop fails when
CONFIG_RFKILL=m and CONFIG_ACPI_CMPC=y. He suggested depending on
RFKILL, but, then, it will not be possible to select classmate-laptop
when RFKILL is off. There's no known problem with building and using
classmate-laptop with RFKILL off. So depend on RFKILL or RFKILL=n.
Signed-off-by: Thadeu Lima de Souza Cascardo <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
Reported-by: Randy Dunlap <[email protected]>
Cc: Randy Dunlap <[email protected]>
Cc: [email protected]
Cc: Daniel Oliveira Nascimento <[email protected]>
|
|
Give different error messages if device_enum is NULL or if its type field
has the wrong value.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@r exists@
expression E,E1;
identifier f;
statement S1,S2,S3;
@@
if ((E == NULL && ...) || ...)
{
... when != if (...) S1 else S2
when != E = E1
* E->f
... when any
return ...;
}
else S3
// </smpl>
Signed-off-by: Julia Lawall <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
- Improve error handling, by explictly return zero for success, error otherwise
- WMI query command can have arbitrary input sized params
- WMI query command can have specific output sized params (0, 4, 128,..) byte
I like to go on here, but this is a rather intrusive change that should
be looked at first. I am sure the one or other thing can be done better or
there might be typo/bug somewhere.
This did not get any testing yet, only compile tested.
Next steps could be:
- Eventually introduce hp_wmi_perform_{read,write}_query macros
- Introduce new wireless query interface (0x1B)
- more
Signed-off-by: Thomas Renninger <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
CC: [email protected]
CC: [email protected]
|
|
Depending on ACPI version (1.0 -> 32 bit) an integer could be
32 or 64 bit long. _WED internal concatenates two integers and
the return value will be 8 byte (2* 32 bit) or 16 byte (2* 64 bit)
long, depending on the ACPI version.
Also the data send with the WMI event is defined to be splitted into:
- Event ID -> 4 bytes
- Event Data -> 4 bytes
This gets messed up with new ACPI versions.
But it's a HP BIOS bug that may get fixed in the future
-> Support both, 16 and 8 byte _WED buffers.
Also the wrong assumption that from the event data sent, only the
first byte is relevant got cleaned up that it fits event_id/event_data
as described above.
Signed-off-by: Thomas Renninger <[email protected]>
CC: [email protected]
Signed-off-by: Matthew Garrett <[email protected]>
CC: [email protected]
CC: [email protected]
|
|
Rather than print unknown events when we know what caused them
Signed-off-by: Thomas Renninger <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
CC: [email protected]
CC: [email protected]
|
|
Signed-off-by: Thomas Renninger <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
CC: [email protected]
CC: [email protected]
|
|
Signed-off-by: Thomas Renninger <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
CC: [email protected]
CC: [email protected]
|
|
Signed-off-by: Thomas Renninger <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
CC: [email protected]
CC: [email protected]
|
|
Event id 0x4 defines the hotkey event.
No need (or even wrong) to query HPWMI_HOTKEY_QUERY if event id is != 0x4.
Reorder the eventcode conditionals and use switch case instead of if/else.
Use an enum for the event ids cases.
Signed-off-by: Thomas Renninger <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
CC: [email protected]
CC: [email protected]
|
|
This patch includes below fixes in error path:
1. fix a memory leak if device_create_file failed in
intel_menlow_add_one_attribute
2. properly free added attributes before return error in
intel_menlow_register_sensor error handler
3. properly call acpi_bus_unregister_driver before return error in
intel_menlow_module_init
Signed-off-by: Axel Lin <[email protected]>
Signed-off-by: Matthew Garrett <[email protected]>
|
|
|
|
nfs_commit_inode() needs to be defined irrespectively of whether or not
we are supporting NFSv3 and NFSv4.
Allow the compiler to optimise away code in the NFSv2-only case by
converting it into an inlined stub function.
Reported-and-tested-by: Ingo Molnar <[email protected]>
Signed-off-by: Trond Myklebust <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
|
|
* master.kernel.org:/home/rmk/linux-2.6-arm:
cyber2000fb: fix console in truecolor modes
cyber2000fb: fix machine hang on module load
SA1111: Eliminate use after free
ARM: Fix Versatile/Realview/VExpress MMC card detection sense
ARM: 6279/1: highmem: fix SMP preemption bug in kmap_high_l1_vipt
ARM: Add barriers to io{read,write}{8,16,32} accessors as well
ARM: 6273/1: Add barriers to the I/O accessors if ARM_DMA_MEM_BUFFERABLE
ARM: 6272/1: Convert L2x0 to use the IO relaxed operations
ARM: 6271/1: Introduce *_relaxed() I/O accessors
ARM: 6275/1: ux500: don't use writeb() in uncompress.h
ARM: 6270/1: clean files in arch/arm/boot/compressed/
ARM: Fix csum_partial_copy_from_user()
|
|
* 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
NFS: Ensure that writepage respects the nonblock flag
NFS: kswapd must not block in nfs_release_page
nfs: include space for the NUL in root path
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
drm/edid: Fix the HDTV hack sync adjustment
drm/radeon/kms: fix radeon mid power profile reporting
|
|
Debian's ia64 autobuilders have been seeing kernel freeze or reboot
when running the gdb testsuite (Debian bug 588574): dannf bisected to
2.6.32 62eede62dafb4a6633eae7ffbeb34c60dba5e7b1 "mm: ZERO_PAGE without
PTE_SPECIAL"; and reproduced it with gdb's gcore on a simple target.
I'd missed updating the gate_vma handling in __get_user_pages(): that
happens to use vm_normal_page() (nowadays failing on the zero page),
yet reported success even when it failed to get a page - boom when
access_process_vm() tried to copy that to its intermediate buffer.
Fix this, resisting cleanups: in particular, leave it for now reporting
success when not asked to get any pages - very probably safe to change,
but let's not risk it without testing exposure.
Why did ia64 crash with 16kB pages, but succeed with 64kB pages?
Because setup_gate() pads each 64kB of its gate area with zero pages.
Reported-by: Andreas Barth <[email protected]>
Bisected-by: dann frazier <[email protected]>
Signed-off-by: Hugh Dickins <[email protected]>
Tested-by: dann frazier <[email protected]>
Cc: [email protected]
Signed-off-by: Linus Torvalds <[email protected]>
|
|
Remove the __exit mark from cifs_exit_dns_resolver() as it's called by the
module init routine in case of error, and so may have been discarded during
linkage.
Signed-off-by: David Howells <[email protected]>
Acked-by: Jeff Layton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
|
|
Return value was not set to 0 in setcolreg() with truecolor modes. This causes
fb_set_cmap() to abort after first color, resulting in blank palette - and
blank console in 24bpp and 32bpp modes.
Signed-off-by: Ondrej Zary <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
I was testing two CyberPro 2000 based PCI cards on x86 and the machine always
hanged completely when the cyber2000fb module was loaded. It seems that the
card hangs when some registers are accessed too quickly after writing RAMDAC
control register. With this patch, both card work.
Add delay after RAMDAC control register write to prevent hangs on module load.
Signed-off-by: Ondrej Zary <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
__sa1111_remove always frees its argument, so the subsequent reference to
sachip->saved_state represents a use after free. __sa1111_remove does not
appear to use the saved_state field, so the patch simply frees it first.
A simplified version of the semantic patch that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
expression E,E2;
@@
__sa1111_remove(E)
...
(
E = E2
|
* E
)
// </smpl>
Signed-off-by: Julia Lawall <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
The MMC card detection sense has become really confused with negations
at various levels, leading to some platforms not detecting inserted
cards. Fix this by converting everything to positive logic throughout,
thereby getting rid of these negations.
Signed-off-by: Russell King <[email protected]>
|
|
smp_processor_id() must not be called from a preemptible context (this
is checked by CONFIG_DEBUG_PREEMPT). kmap_high_l1_vipt() was doing so.
This lead to a problem where the wrong per_cpu kmap_high_l1_vipt_depth
could be incremented, causing a BUG_ON(*depth <= 0); in
kunmap_high_l1_vipt().
The solution is to move the call to smp_processor_id() after the call
to preempt_disable().
Originally by: Andrew Howe <[email protected]>
Signed-off-by: Gary King <[email protected]>
Acked-by: Nicolas Pitre <[email protected]>
Signed-off-by: Russell King <[email protected]>
|