- 16 8月, 2014 1 次提交
-
-
由 Hans de Goede 提交于
The new keyboard found on the *40 models is also being sold as a standalone keyboard (with trackpoint): http://shop.lenovo.com/us/en/itemdetails/0B47189/460/60AC6A0372B14F5BA7B12F1FF88E33C7 This uses a standard HUT code for the F12 key with the 6 square boxes on it, which gets mapped to KEY_FILE by the kernel. Change the mapping done of identical laptop key done by thinkpad_acpi to also send KEY_FILE for consistency. Cc: Jamie Lentin <jm@lentin.co.uk> Signed-off-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
-
- 11 6月, 2014 1 次提交
-
-
由 Hans de Goede 提交于
The T440s user guide says that when Fn-lock is not active, the *40s' F9 - F12 keys should be mapped to: control-panel, search, show-all-windows and Computer. These keys generate the sofar unused 28 - 31 hotkey scancodes. For the first 2 this nicely matches the icons on the keys, for the latter 2 the icons are somewhat creative, which is why I ended up looking them up in the user manual. Signed-off-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
-
- 10 4月, 2014 1 次提交
-
-
由 Behan Webster 提交于
The only real change is passing in event_mask to the formerly nested functions. Otherwise it's just moving around function and macro code. This is the only place in the Linux kernel where nested functions are still in use. Nested functions aren't part of the C standards, and complicate the generated code. Although the Linux Kernel has never set out to be entirely C standard compliant, it is increasingly compliant to the standard which is supported by other compilers such as Clang. The LLVMLinux project is working on being able to compile the Linux kernel with Clang. The use of nested functions blocks this effort. Signed-off-by: NBehan Webster <behanw@converseincode.com> Signed-off-by: NJan-Simon Möller <dl9pf@gmx.de> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
-
- 07 4月, 2014 4 次提交
-
-
由 Behan Webster 提交于
The only real change is passing in event_mask to the formerly nested functions. Otherwise it's just moving around function and macro code. This is the only place in the Linux kernel where nested functions are still in use. Nested functions aren't part of the C standards, and complicate the generated code. Although the Linux Kernel has never set out to be entirely C standard compliant, it is increasingly compliant to the standard which is supported by other compilers such as Clang. The LLVMLinux project is working on being able to compile the Linux kernel with Clang. The use of nested functions blocks this effort. Signed-off-by: NBehan Webster <behanw@converseincode.com> Signed-off-by: NJan-Simon Möller <dl9pf@gmx.de> CC: David Woodhouse <David.Woodhouse@intel.com> CC: Matthew Garrett <matthew.garrett@nebula.com> CC: ibm-acpi-devel@lists.sourceforge.net CC: platform-driver-x86@vger.kernel.org CC: linux-kernel@vger.kernel.org Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
-
由 Shuduo Sang 提交于
Dan Aloni has submitted a patch to set adaptive mode to function mode when system resume back. Thanks Dan. :) Following patch can make it to be restored to previous mode like What Windows does. Thanks, Shuduo >From 0ca960138518ceab23110141a0d7c0cafd54a859 Mon Sep 17 00:00:00 2001 From: Shuduo Sang <shuduo.sang@canonical.com> Date: Thu, 27 Mar 2014 17:51:24 +0800 Subject: [PATCH] save and restore adaptive keyboard mode for suspend and resume The mode of adaptive keyboard on X1 Carbon need be saved first before suspend then it can be restored after resume. Otherwise it will be unusable. Signed-off-by: NBruce Ma <bruce.ma@canonical.com> Signed-off-by: NShuduo Sang <shuduo.sang@canonical.com> Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
-
由 Shuduo Sang 提交于
Submit patch V4 to support Adaptive Keyboard on Thinkpad X1 Carbon 2nd generation according to Tobias's comments. Thanks, Shuduo >From b153a7b14791c6e01892c0e274e23eefd625fb8d Mon Sep 17 00:00:00 2001 From: Shuduo Sang <shuduo.sang@canonical.com> Date: Mon, 3 Mar 2014 14:29:32 +0800 Subject: [PATCH] support thinkpad X1 Carbon's adaptive keyboard Thinkpad X1 Carbon's adaptive keyboard has five modes including Home mode, Web browser mode, Web conference mode, Function mode and Lay-flat mode. We support Home mode and Function mode currently. Signed-off-by: NBruce Ma <bruce.ma@canonical.com> Signed-off-by: NShuduo Sang <shuduo.sang@canonical.com> Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
-
由 Takashi Iwai 提交于
The mute LED states have to be restored after resume. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=70351 Cc: <stable@vger.kernel.org> [v3.13+] Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
-
- 14 2月, 2014 1 次提交
-
-
由 Takashi Iwai 提交于
Also remove superfluous snd_card_set_dev() calls. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 07 12月, 2013 1 次提交
-
-
由 Lv Zheng 提交于
Replace direct inclusions of <acpi/acpi.h>, <acpi/acpi_bus.h> and <acpi/acpi_drivers.h>, which are incorrect, with <linux/acpi.h> inclusions and remove some inclusions of those files that aren't necessary. First of all, <acpi/acpi.h>, <acpi/acpi_bus.h> and <acpi/acpi_drivers.h> should not be included directly from any files that are built for CONFIG_ACPI unset, because that generally leads to build warnings about undefined symbols in !CONFIG_ACPI builds. For CONFIG_ACPI set, <linux/acpi.h> includes those files and for CONFIG_ACPI unset it provides stub ACPI symbols to be used in that case. Second, there are ordering dependencies between those files that always have to be met. Namely, it is required that <acpi/acpi_bus.h> be included prior to <acpi/acpi_drivers.h> so that the acpi_pci_root declarations the latter depends on are always there. And <acpi/acpi.h> which provides basic ACPICA type declarations should always be included prior to any other ACPI headers in CONFIG_ACPI builds. That also is taken care of including <linux/acpi.h> as appropriate. Signed-off-by: NLv Zheng <lv.zheng@intel.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Matthew Garrett <mjg59@srcf.ucam.org> Cc: Tony Luck <tony.luck@intel.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> (drivers/pci stuff) Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> (Xen stuff) Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 21 11月, 2013 2 次提交
-
-
由 Takashi Iwai 提交于
SNDRV_CARDS can be specified via Kconfig since 3.11 kernel, so this can be over 32bit integer range, which leads to a build error. Cc: <stable@vger.kernel.org> [v3.11+] Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
-
由 Joe Perches 提交于
Emitting an OOM message isn't necessary after input_allocate_device as there's a generic OOM and a dump_stack already done. Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
-
- 17 10月, 2013 1 次提交
-
-
由 David Henningsson 提交于
The LEDs are currently not visible to userspace, for security reasons. They are exported through thinkpad_acpi.h for use by the snd-hda-intel driver. Thanks to Alex Hung <alex.hung@canonical.com> and Takashi Iwai <tiwai@suse.de> for writing parts of this patch. Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 16 10月, 2013 1 次提交
-
-
由 Aaron Lu 提交于
The tpacpi_acpi_handle_locate function makes use of acpi_get_devices to locate handle for ACPI video by HID, the problem is, ACPI video node doesn't really have HID defined(i.e. no _HID control method is defined for video device), so.. that function would fail. This can be solved by enhancing the callback function for acpi_get_devices, where we can use acpi_device_hid function to check if the ACPI node corresponds to a video controller. In addition to that, the _BCL control method only exists under a video output device node, not a video controller device node. So to evaluate _BCL, we need the handle of a video output device node, which is child of the located video controller node from tpacpi_acpi_handle_locate. The two fix are necessary for some Thinkpad models to emit notification on backlight hotkey press as a result of evaluation of _BCL. Signed-off-by: NAaron Lu <aaron.lu@intel.com> Tested-by: NIgor Gnatenko <i.gnatenko.brain@gmail.com> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 05 9月, 2013 2 次提交
-
-
由 Adam Lee 提交于
Some new Lenovo or ThinkPad laptops don't have EC controllable LEDs, their LED quirks are 0. This patch set led_supported=TPACPI_LED_NONE when quirk equals 0. Signed-off-by: NAdam Lee <adam.lee@canonical.com> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
-
由 Adam Lee 提交于
Not all 0-15 LEDs are available for all models, sometimes it's even not safe. This patch return -NODEV while operating uninitialized LEDs. Signed-off-by: NAdam Lee <adam.lee@canonical.com> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
-
- 15 7月, 2013 2 次提交
-
-
由 Thomas Renninger 提交于
It is somewhat strange that the default value to support the depracated interface is set (1). Anyway this has existed for years. The previous patch already removed the functionality to still export events through /proc. Now this param is useless and should vanish too. Signed-off-by: NThomas Renninger <trenn@suse.de> Acked-by: NMatthew Garrett <matthew.garrett@nebula.com> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
由 Thomas Renninger 提交于
It is quite some time that this one has been deprecated. Get rid of it. Should some really important user be overseen, it may be reverted and the userspace program worked on first, but it is time to do something to get rid of this old stuff... Signed-off-by: NThomas Renninger <trenn@suse.de> Acked-by: NMatthew Garrett <matthew.garrett@nebula.com> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 18 4月, 2013 1 次提交
-
-
由 Oleg Nesterov 提交于
hotkey_kthread() does try_to_freeze() under hotkey_thread_mutex. We can simply kill this mutex, hotkey_poll_stop_sync() does not need to serialize with hotkey_kthread(). When kthread_stop() returns the thread is already dead, it called do_exit()->complete_vfork_done(). Reported-by: NArtem Savkov <artem.savkov@gmail.com> Reported-by: NMaciej Rutecki <maciej.rutecki@gmail.com> Signed-off-by: NOleg Nesterov <oleg@redhat.com> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Cc: Matthew Garrett <matthew.garrett@nebula.com> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Reviewed-by: NMandeep Singh Baines <msb@chromium.org> Cc: Aaron Lu <aaron.lu@intel.com> Cc: Tejun Heo <tj@kernel.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 10 4月, 2013 1 次提交
-
-
由 Al Viro 提交于
The only part of proc_dir_entry the code outside of fs/proc really cares about is PDE(inode)->data. Provide a helper for that; static inline for now, eventually will be moved to fs/proc, along with the knowledge of struct proc_dir_entry layout. Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
-
- 27 2月, 2013 1 次提交
-
-
由 Richard Hartmann 提交于
Handle HKEY event generated on AC power change. The current message asks users to submit data related to this event which leads to a lot of confusion and noise on the mailing list. The following is a list affected models and 'Message-Id' from ibm-acpi-devel@lists.sourceforge.net of people who saw this event when either plugging or unplugging the AC adapter or docking or undocking their laptop. X120e - CAAAujb5v9dHdbdxDVvhNJoG4UrZC1TgKqeB_zGpAy7q8kZHMEQ@mail.gmail.com X121e - 20120817143459.GB3462@x1.osrc.amd.com X220 - Confirmed by Richard Hartmann X220i - 4F406274.7070807@gmail.com X220t - 4F489F5B.9040705@cs.tu-berlin.de X230 - CAKx4u7kqvVH0-gstomsiVYdGC0i6=bGxzaQ8sq9gbg76TGme3w@mail.gmail.com T420 - 9c848ee30b006737d0534d906bab0cf6@niklaas-baudet.net T420s - 20120608080824.GS25324@hexapodia.org W520 - 20121008181050.GF2549@ericlaptop.home.christensenplace.us Signed-off-by: NRichard Hartmann <richih.mailinglist@gmail.com> Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
-
- 25 2月, 2013 1 次提交
-
-
由 Manoj Iyer 提交于
The new B series BIOS has version string 43CN46WW. The driver requires that 2nd and 3rd characters be 'E' and 'T' respectively, where as the newer BIOS has 'C' and 'N' respectively. Failing to load the module causes some of the hotkeys to not work. Before the patch ================ sudo modprobe thinkpad_acpi FATAL: Error inserting thinkpad_acpi (/lib/modules/3.5.0-15-generic/kernel/drivers/platform/x86/thinkpad_acpi.ko): No such device After the patch =============== [44937.265438] thinkpad_acpi: ThinkPad ACPI Extras v0.24 [44937.265445] thinkpad_acpi: http://ibm-acpi.sf.net/ [44937.265449] thinkpad_acpi: ThinkPad BIOS 43CN46WW, EC unknown [44937.265453] thinkpad_acpi: Lenovo Lenovo B470e, model HuronRiver Platform [44937.266479] thinkpad_acpi: detected a 8-level brightness capable ThinkPad [44937.266557] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one [44937.267846] thinkpad_acpi: Console audio control enabled, mode: monitor (read only) [44937.268131] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input17 Signed-off-by: NManoj Iyer <manoj.iyer@canonical.com> Tested-by: NJames Ferguson <james.ferguson@canonical.com> Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
-
- 23 2月, 2013 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
-
- 04 1月, 2013 1 次提交
-
-
由 Greg Kroah-Hartman 提交于
CONFIG_HOTPLUG is going away as an option. As a result, the __dev* markings need to be removed. This change removes the use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit from these drivers. Based on patches originally written by Bill Pemberton, but redone by me in order to handle some of the coding style issues better, by hand. Cc: Bill Pemberton <wfp5p@virginia.edu> Cc: Joey Lee <jlee@novell.com> Cc: Matthew Garrett <mjg@redhat.com> Cc: Peter Feuerer <peter@piie.net> Cc: Corentin Chary <corentin.chary@gmail.com> Cc: Cezary Jackiewicz <cezary.jackiewicz@gmail.com> Cc: Robert Gerlach <khnz@gmx.de> Cc: Ike Panhc <ike.pan@canonical.com> Cc: Henrique de Moraes Holschuh <ibm-acpi@hmh.eng.br> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 29 12月, 2012 1 次提交
-
-
由 Tejun Heo 提交于
There's no need to test whether a (delayed) work item in pending before queueing, flushing or cancelling it. Most uses are unnecessary and quite a few of them are buggy. Remove unnecessary pending tests from thinkpad_acpi. Only compile tested. Signed-off-by: NTejun Heo <tj@kernel.org> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Cc: ibm-acpi-devel@lists.sourceforge.net Cc: platform-driver-x86@vger.kernel.org
-
- 06 10月, 2012 1 次提交
-
-
由 Andi Kleen 提交于
Signed-off-by: NAndi Kleen <ak@linux.intel.com> Cc: Matthew Garrett <mjg@redhat.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 14 9月, 2012 1 次提交
-
-
由 Dan Carpenter 提交于
The acpi_evalf() function modifies four bytes of data but in fan_get_status() we pass a pointer to u8. I have modified the function to use type checking now. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NMatthew Garrett <mjg@redhat.com>
-
- 18 8月, 2012 1 次提交
-
-
由 Manoj Iyer 提交于
In the latest V-series bios DMI_PRODUCT_VERSION does not contain the string Lenovo or Thinkpad, but is set to the model number, this causes the thinkpad_acpi module to fail to load. Recognize laptop as Lenovo using DMI_BIOS_VENDOR instead, which is set to Lenovo. Test on V490u ============= == After the patch == [ 1350.295757] thinkpad_acpi: ThinkPad ACPI Extras v0.24 [ 1350.295760] thinkpad_acpi: http://ibm-acpi.sf.net/ [ 1350.295761] thinkpad_acpi: ThinkPad BIOS H7ET21WW (1.00 ), EC unknown [ 1350.295763] thinkpad_acpi: Lenovo LENOVO, model LV5DXXX [ 1350.296086] thinkpad_acpi: detected a 8-level brightness capable ThinkPad [ 1350.296694] thinkpad_acpi: radio switch found; radios are enabled [ 1350.296703] thinkpad_acpi: possible tablet mode switch found; ThinkPad in laptop mode [ 1350.306466] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked [ 1350.307082] Registered led device: tpacpi::thinklight [ 1350.307215] Registered led device: tpacpi::power [ 1350.307255] Registered led device: tpacpi::standby [ 1350.307294] Registered led device: tpacpi::thinkvantage [ 1350.308160] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one [ 1350.308333] thinkpad_acpi: Console audio control enabled, mode: monitor (read only) [ 1350.312287] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input14 == Before the patch == sudo modprobe thinkpad_acpi FATAL: Error inserting thinkpad_acpi (/lib/modules/3.2.0-27-generic/kernel/drivers/platform/x86/thinkpad_acpi.ko): No such device Test on B485 ============= This patch was also test in a B485 where the thinkpad_acpi module does not have any issues loading. But, I tested it to make sure this patch does not break on already functioning models of Lenovo products. [13486.746359] thinkpad_acpi: ThinkPad ACPI Extras v0.24 [13486.746364] thinkpad_acpi: http://ibm-acpi.sf.net/ [13486.746368] thinkpad_acpi: ThinkPad BIOS HJET15WW(1.01), EC unknown [13486.746373] thinkpad_acpi: Lenovo Lenovo LB485, model 814TR01 [13486.747300] thinkpad_acpi: detected a 8-level brightness capable ThinkPad [13486.752435] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked [13486.752883] Registered led device: tpacpi::thinklight [13486.752915] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one [13486.753216] thinkpad_acpi: Console audio control enabled, mode: monitor (read only) [13486.757147] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input15 Signed-off-by: NManoj Iyer <manoj.iyer@canonical.com> Signed-off-by: NMatthew Garrett <mjg@redhat.com>
-
- 14 8月, 2012 1 次提交
-
-
由 Tejun Heo 提交于
Convert delayed_work users doing cancel_delayed_work() followed by queue_delayed_work() to mod_delayed_work(). Most conversions are straight-forward. Ones worth mentioning are, * drivers/edac/edac_mc.c: edac_mc_workq_setup() converted to always use mod_delayed_work() and cancel loop in edac_mc_reset_delay_period() is dropped. * drivers/platform/x86/thinkpad_acpi.c: No need to remember whether watchdog is active or not. @fan_watchdog_active and related code dropped. * drivers/power/charger-manager.c: Seemingly a lot of delayed_work_pending() abuse going on here. [delayed_]work_pending() are unsynchronized and racy when used like this. I converted one instance in fullbatt_handler(). Please conver the rest so that it invokes workqueue APIs for the intended target state rather than trying to game work item pending state transitions. e.g. if timer should be modified - call mod_delayed_work(), canceled - call cancel_delayed_work[_sync](). * drivers/thermal/thermal_sys.c: thermal_zone_device_set_polling() simplified. Note that round_jiffies() calls in this function are meaningless. round_jiffies() work on absolute jiffies not delta delay used by delayed_work. v2: Tomi pointed out that __cancel_delayed_work() users can't be safely converted to mod_delayed_work(). They could be calling it from irq context and if that happens while delayed_work_timer_fn() is running, it could deadlock. __cancel_delayed_work() users are dropped. Signed-off-by: NTejun Heo <tj@kernel.org> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Acked-by: NAnton Vorontsov <cbouatmailru@gmail.com> Acked-by: NDavid Howells <dhowells@redhat.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Jens Axboe <axboe@kernel.dk> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Doug Thompson <dougthompson@xmission.com> Cc: David Airlie <airlied@linux.ie> Cc: Roland Dreier <roland@kernel.org> Cc: "John W. Linville" <linville@tuxdriver.com> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Len Brown <len.brown@intel.com> Cc: "J. Bruce Fields" <bfields@fieldses.org> Cc: Johannes Berg <johannes@sipsolutions.net>
-
- 10 8月, 2012 1 次提交
-
-
由 Rafael J. Wysocki 提交于
According to compiler warnings, quite some suspend/resume functions in platform x86 drivers are not used for CONFIG_PM_SLEEP unset, so add #ifdefs to prevent them from being built in that case. Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
-
- 28 7月, 2012 3 次提交
-
-
由 Li Dongyang 提交于
We should free hotkey_keycode_map after unregistering tpacpi_inputdev, to aviod use after free like this: [ 99.408388] ============================================================================= [ 99.408393] BUG kmalloc-64 (Not tainted): Poison overwritten [ 99.408394] ----------------------------------------------------------------------------- [ 99.408394] [ 99.408398] INFO: 0xf2751962-0xf2751995. First byte 0x98 instead of 0x6b [ 99.408402] INFO: Allocated in 0xfdc88c28 age=79 cpu=0 pid=1329 [ 99.408407] __slab_alloc.isra.50.constprop.56+0x49f/0x533 [ 99.408410] kmem_cache_alloc_trace+0x10d/0x140 [ 99.408412] 0xfdc88c28 [ 99.408414] 0xfdc898cc [ 99.408417] do_one_initcall+0x112/0x160 [ 99.408420] sys_init_module+0xe6d/0x1bc0 [ 99.408422] sysenter_do_call+0x12/0x28 [ 99.408427] INFO: Freed in hotkey_exit+0x50/0xb0 [thinkpad_acpi] age=14 cpu=1 pid=1333 [ 99.408429] __slab_free+0x3d/0x30b [ 99.408431] kfree+0x129/0x140 [ 99.408435] hotkey_exit+0x50/0xb0 [thinkpad_acpi] [ 99.408438] ibm_exit+0xe3/0x1a0 [thinkpad_acpi] [ 99.408441] thinkpad_acpi_module_exit+0x35/0x208 [thinkpad_acpi] [ 99.408443] sys_delete_module+0x11f/0x280 [ 99.408445] sysenter_do_call+0x12/0x28 [ 99.408447] INFO: Slab 0xf4d5ea20 objects=17 used=17 fp=0x (null) flags=0x40000080 [ 99.408449] INFO: Object 0xf2751960 @offset=2400 fp=0xf2751780 [ 99.408449] [ 99.408452] Bytes b4 f2751950: 64 02 00 00 ae ce fe ff 5a 5a 5a 5a 5a 5a 5a 5a d.......ZZZZZZZZ [ 99.408454] Object f2751960: 6b 6b 98 00 ec 00 8e 00 ee 00 6b 6b e3 00 bf 00 kk........kk.... [ 99.408456] Object f2751970: c2 00 6b 6b 6b 6b cd 00 6b 6b 6b 6b 6b 6b e1 00 ..kkkk..kkkkkk.. [ 99.408458] Object f2751980: e0 00 e4 00 6b 6b 74 01 73 00 72 00 71 00 94 00 ....kkt.s.r.q... [ 99.408460] Object f2751990: 6b 6b 6b 6b f8 00 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkk..kkkkkkkkk. [ 99.408462] Redzone f27519a0: bb bb bb bb .... Signed-off-by: NLi Dongyang <Jerry87905@gmail.com> Signed-off-by: NMatthew Garrett <mjg@redhat.com>
-
由 Li Dongyang 提交于
We should free the thinkpad_id.nummodel_str during exit as it's allocated in get_thinkpad_module_data(). Signed-off-by: NLi Dongyang <Jerry87905@gmail.com> Signed-off-by: NMatthew Garrett <mjg@redhat.com>
-
由 Li Dongyang 提交于
We init work_struct within tpacpi_leds, and we should free tpacpi_leds after the workqueue is empty, in case of the work_struct is referenced after free. This script could trigger the OOPS: #!/bin/sh while true do modprobe -r thinkpad_acpi modprobe thinkpad_acpi done And the OOPS looks like this: [ 73.863557] BUG: unable to handle kernel paging request at 45440000 [ 73.863925] IP: [<c1051d65>] process_one_work+0x25/0x3b0 [ 73.864749] *pde = 00000000 [ 73.865571] Oops: 0000 [#1] PREEMPT SMP [ 73.866443] Modules linked in: thinkpad_acpi(-) nvram netconsole configfs aes_i586 cryptd aes_generic joydev btusb bluetooth arc4 snd_hda_codec_analog iwl4965 uhci_hcd pcmcia microcode iwlegacy mac80211 cfg80211 firewire_ohci firewire_core kvm_intel kvm snd_hda_intel acpi_cpufreq mperf ehci_hcd yenta_socket pcmcia_rsrc crc_itu_t sr_mod snd_hda_codec processor pcmcia_core i2c_i801 usbcore lpc_ich cdrom serio_raw psmouse coretemp rfkill e1000e snd_pcm snd_page_alloc snd_hwdep snd_timer snd pcspkr evdev ac battery thermal soundcore usb_common intel_agp intel_gtt tp_smapi(O) thinkpad_ec(O) ext4 crc16 jbd2 mbcache sd_mod ata_piix ahci libahci libata scsi_mod nouveau button video mxm_wmi wmi i2c_algo_bit drm_kms_helper ttm drm agpgart i2c_core [last unloaded: nvram] [ 73.866676] [ 73.866676] Pid: 62, comm: kworker/u:4 Tainted: G O 3.5.0-1-ARCH #1 LENOVO 7662CTO/7662CTO [ 73.866676] EIP: 0060:[<c1051d65>] EFLAGS: 00010002 CPU: 1 [ 73.866676] EIP is at process_one_work+0x25/0x3b0 [ 73.866676] EAX: 45440065 EBX: f5545090 ECX: 00000088 EDX: 45440000 [ 73.866676] ESI: f568ff40 EDI: c164dd40 EBP: f5705f98 ESP: f5705f68 [ 73.866676] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 [ 73.866676] CR0: 8005003b CR2: 45440000 CR3: 357ed000 CR4: 000007d0 [ 73.866676] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 73.866676] DR6: ffff0ff0 DR7: 00000400 [ 73.866676] Process kworker/u:4 (pid: 62, ti=f5704000 task=f5700540 task.ti=f5704000) [ 73.866676] Stack: [ 73.866676] f56fbf24 00000001 f5705f78 c10683e0 c1294950 00000000 00000000 f568ff40 [ 73.866676] 00000000 f568ff40 f568ff50 c164dd40 f5705fb8 c1052589 c1060c7e c15b9300 [ 73.866676] c164dd40 00000000 f568ff40 c1052490 f5705fe4 c10570b2 00000000 f568ff40 [ 73.866676] Call Trace: [ 73.866676] [<c10683e0>] ? default_wake_function+0x10/0x20 [ 73.866676] [<c1294950>] ? dev_get_drvdata+0x20/0x20 [ 73.866676] [<c1052589>] worker_thread+0xf9/0x280 [ 73.866676] [<c1060c7e>] ? complete+0x4e/0x60 [ 73.866676] [<c1052490>] ? manage_workers.isra.24+0x1c0/0x1c0 [ 73.866676] [<c10570b2>] kthread+0x72/0x80 [ 73.866676] [<c1057040>] ? kthread_freezable_should_stop+0x50/0x50 [ 73.866676] [<c13c20fe>] kernel_thread_helper+0x6/0x10 [ 73.866676] Code: bc 27 00 00 00 00 55 89 e5 57 56 53 83 ec 24 3e 8d 74 26 00 89 c6 8b 02 89 d3 c7 45 f0 00 00 00 00 89 c2 30 d2 a8 04 0f 44 55 f0 <8b> 02 89 55 f0 89 da c1 ea 0a 89 45 ec 89 d8 8b 4d ec c1 e8 04 [ 73.866676] EIP: [<c1051d65>] process_one_work+0x25/0x3b0 SS:ESP 0068:f5705f68 [ 73.866676] CR2: 0000000045440000 [ 73.866676] ---[ end trace 4d8a1887edca08c5 ]--- [ 73.866676] note: kworker/u:4[62] exited with preempt_count 1 Signed-off-by: NLi Dongyang <Jerry87905@gmail.com> Signed-off-by: NMatthew Garrett <mjg@redhat.com>
-
- 01 7月, 2012 2 次提交
-
-
由 Rafael J. Wysocki 提交于
Make the thinkpad_acpi driver define its PM callbacks through a struct dev_pm_ops object rather than by using legacy PM hooks in struct platform_driver. Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Acked-by: NMatthew Garrett <mjg@redhat.com>
-
由 Rafael J. Wysocki 提交于
Multiple suspend routines in drivers/platform/x86/thinkpad_acpi.c use take pm_message_t arguments that aren't used by any of them. Make those routines take no arguments as that's what they should do. Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br> Acked-by: NMatthew Garrett <mjg@redhat.com>
-
- 01 6月, 2012 1 次提交
-
-
由 Alex Hung 提交于
The tp_features.bright_acpimode will not be set correctly for brightness control because ACPI_VIDEO_HID will not be located in ACPI. As a result, a duplicated key event will always be sent. acpi_video_backlight_support() is sufficient to detect standard ACPI brightness control. Signed-off-by: NAlex Hung <alex.hung@canonical.com> Signed-off-by: NMatthew Garrett <mjg@redhat.com>
-
- 27 3月, 2012 1 次提交
-
-
由 Manoj Iyer 提交于
The newer V series bios reports product version as 'Lenovo' instead of 'ThinkPad'. Recoginze this new string so that the module can load. Signed-off-by: NManoj Iyer <manoj.iyer@canonical.com> Signed-off-by: NMatthew Garrett <mjg@redhat.com> Tested-by: NJames Ferguson <james.ferguson@canonical.com> Tested-by: NDennis Chua <dennis.chua@canonical.com> Tested-by: NIke Pan <ike.pan@canonical.com> Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
-
- 13 1月, 2012 1 次提交
-
-
由 Rusty Russell 提交于
module_param(bool) used to counter-intuitively take an int. In fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy trick. It's time to remove the int/unsigned int option. For this version it'll simply give a warning, but it'll break next kernel version. Acked-by: NMauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
-
- 04 1月, 2012 1 次提交
-
-
由 Al Viro 提交于
both proc_dir_entry ->mode and populating functions Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
-
- 22 11月, 2011 1 次提交
-
-
由 Tejun Heo 提交于
Writeback and thinkpad_acpi have been using thaw_process() to prevent deadlock between the freezer and kthread_stop(); unfortunately, this is inherently racy - nothing prevents freezing from happening between thaw_process() and kthread_stop(). This patch implements kthread_freezable_should_stop() which enters refrigerator if necessary but is guaranteed to return if kthread_stop() is invoked. Both thaw_process() users are converted to use the new function. Note that this deadlock condition exists for many of freezable kthreads. They need to be converted to use the new should_stop or freezable workqueue. Tested with synthetic test case. Signed-off-by: NTejun Heo <tj@kernel.org> Acked-by: NHenrique de Moraes Holschuh <ibm-acpi@hmh.eng.br> Cc: Jens Axboe <axboe@kernel.dk> Cc: Oleg Nesterov <oleg@redhat.com>
-
- 07 10月, 2011 1 次提交
-
-
由 Paul Bolle 提交于
Signed-off-by: NPaul Bolle <pebolle@tiscali.nl> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-