1. 21 4月, 2017 7 次提交
  2. 20 4月, 2017 1 次提交
  3. 14 4月, 2017 2 次提交
  4. 15 3月, 2017 1 次提交
  5. 29 6月, 2016 1 次提交
  6. 24 3月, 2016 2 次提交
    • M
      hp-wmi: Remove GPS rfkill support via pre-2009 interface · fffcad87
      Maciej S. Szmigiero 提交于
      GPS rfkill support via pre-2009 WMI interface uses hp_wmi_get_sw_state()
      and hp_wmi_get_hw_state() to query its current hard and soft block state,
      respectively.
      
      In hp_wmi_get_sw_state() a mask is calculated which bit should be checked
      in an int value returned by firmware to get current block state: 0x200 <<
      (r * 8) which with r being 3 for GPS results in overflow and mask of zero.
      The same goes for hp_wmi_get_hw_state().
      
      This effectively means that GPS rfkill on this WMI interface is considered
      always both hard and soft blocked.
      
      Unfortunately, later when rfkill subsystem calls hp_wmi_set_block() to sync
      this block to hardware firmware at least on my old nc6400 gets confused and
      sets both hard and soft blocks on WiFi and BT.
      
      This happens for example on hp-wmi module load.
      
      Since due to overflow described above it is dubious that this ever worked
      correctly and HP laptops with modems having GPS support seem to all have
      been released well past year 2009 let's just remove GPS rfkill support via
      pre-2009 WMI interface.
      Signed-off-by: NMaciej S. Szmigiero <mail@maciej.szmigiero.name>
      Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
      fffcad87
    • M
      hp-wmi: fix unregister order in hp_wmi_rfkill_setup() once again · c7805e54
      Maciej S. Szmigiero 提交于
      rfkill registration order in hp_wmi_rfkill_setup() is:
      1) WiFi,
      2) BT,
      3) WWAN,
      5) GPS.
      
      Unregistration when cleaning up on error return should happen in reverse
      order.
      
      This means that: If BT rfkill fails to be allocated we possibly need to
      first unregister WiFi rfkill before destroying it.
      
      The same goes with (WWAN, BT) and (GPS, WWAN) pairs.
      
      Also, if WWAN rfkill fails to register we need to (possibly) unregister BT
      not the GPS one.  And if GPS rfkill fails to register we need to unregister
      WWAN not the BT one.
      
      We never need to unregister GPS rfkill here since if GPS rfkill
      registration succeeds this function returns without error so no cleanup is
      necessary.
      Signed-off-by: NMaciej S. Szmigiero <mail@maciej.szmigiero.name>
      Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
      c7805e54
  7. 18 9月, 2015 1 次提交
    • K
      hp-wmi: limit hotkey enable · 8a1513b4
      Kyle Evans 提交于
      Do not write initialize magic on systems that do not have
      feature query 0xb. Fixes Bug #82451.
      
      Redefine FEATURE_QUERY to align with 0xb and FEATURE2 with 0xd
      for code clearity.
      
      Add a new test function, hp_wmi_bios_2008_later() & simplify
      hp_wmi_bios_2009_later(), which fixes a bug in cases where
      an improper value is returned. Probably also fixes Bug #69131.
      
      Add missing __init tag.
      Signed-off-by: NKyle Evans <kvans32@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDarren Hart <dvhart@linux.intel.com>
      8a1513b4
  8. 07 3月, 2015 1 次提交
  9. 20 10月, 2014 1 次提交
  10. 16 8月, 2014 1 次提交
  11. 11 6月, 2014 1 次提交
    • K
      hp-wmi: Enable hotkeys on some systems · f82bdd0d
      Kyle Evans 提交于
      This is a third attempt to enable these buttons. The new variable being
      commit 997daa1b (i.e. hp-wmi: detect
      "2009 BIOS or later"). Older systems that do not have the 2009 BIOS query
      method respond with a dummy value, in this case 4. Using that, we can
      target a fairly narrow group of systems. i.e. old enough to not have
      HPWMI_FEATURE_QUERY 0xd, but new enough to have HPWMI_BIOS_QUERY 0x9.
      This group may be further limited if some systems respond with something
      other than 4 to non-existant feature queries.
      Signed-off-by: NKyle Evans <kvans32@gmail.com>
      Signed-off-by: NMatthew Garrett <matthew.garrett@nebula.com>
      f82bdd0d
  12. 21 11月, 2013 1 次提交
  13. 05 9月, 2013 1 次提交
  14. 19 8月, 2013 1 次提交
  15. 11 7月, 2013 1 次提交
  16. 08 7月, 2013 1 次提交
  17. 02 6月, 2013 1 次提交
    • L
      x86 / platform / hp_wmi: Fix bluetooth_rfkill misuse in hp_wmi_rfkill_setup() · af1d486c
      lan,Tianyu 提交于
      HP wmi platform driver fails to initialize GPS and causes poweroff
      failure in HP Elitebook 6930p.
      
      Call Trace:
       [<ffffffffa088d25a>] hp_wmi_bios_setup+0x25a/0x3a0 [hp_wmi]
       [<ffffffff8135978c>] platform_drv_probe+0x3c/0x70
       [<ffffffff81356d6a>] ? driver_sysfs_add+0x7a/0xb0
       [<ffffffff81357407>] driver_probe_device+0x87/0x3a0
       [<ffffffff813577f3>] __driver_attach+0x93/0xa0
       [<ffffffff81357760>] ? __device_attach+0x40/0x40
       [<ffffffff81355403>] bus_for_each_dev+0x63/0xa0
       [<ffffffff81356e8e>] driver_attach+0x1e/0x20
       [<ffffffff81356a28>] bus_add_driver+0x1f8/0x2b0
       [<ffffffff81357e81>] driver_register+0x71/0x150
       [<ffffffff813594e6>] platform_driver_register+0x46/0x50
       [<ffffffff813595ab>] platform_driver_probe+0x1b/0xa0
       [<ffffffffa088d55e>] hp_wmi_init+0x1be/0x1fb [hp_wmi]
       [<ffffffffa088d3a0>] ? hp_wmi_bios_setup+0x3a0/0x3a0 [hp_wmi]
       [<ffffffff8100210a>] do_one_initcall+0x10a/0x160
       [<ffffffff810bdac6>] load_module+0x1b46/0x2640
       [<ffffffff8128da20>] ? ddebug_proc_write+0xf0/0xf0
       [<ffffffff810be662>] sys_init_module+0xa2/0xf0
       [<ffffffff814d975d>] system_call_fastpath+0x1a/0x1f
      Code: 48 ff ff ff 80 7b 24 00 74 d2 41 83 e5 01 45 38 ec 74 c9 48 8d bb a0 03 00 00 e8 ed fb aa e0 5b 41 5c 41 5d 44 89 f0 41 5e 5d c3 <0f> 0b 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 66 66
      RIP  [<ffffffffa05c57af>] rfkill_set_hw_state+0x9f/0xb0 [rfkill]
       RSP <ffff880071523b60>
      
      Check code and find this error is caused by misusing variable bluetooth_rfkill
      where gps_rfkill should be.
      Reported-and-tested-by: NIru Cai <mytbk920423@gmail.com>
      References: https://bugzilla.kernel.org/show_bug.cgi?id=58401
      Cc: All <stable@vger.kernel.org>
      Signed-off-by: NLan Tianyu <tianyu.lan@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      af1d486c
  18. 09 5月, 2013 1 次提交
  19. 19 4月, 2013 1 次提交
  20. 27 2月, 2013 2 次提交
  21. 25 2月, 2013 1 次提交
  22. 04 1月, 2013 1 次提交
    • G
      Drivers: platform: x86: remove __dev* attributes. · b859f159
      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>
      b859f159
  23. 01 6月, 2012 1 次提交
  24. 11 7月, 2011 1 次提交
    • E
      hp-wmi: fix use after free · 0401846c
      Eric Dumazet 提交于
      [  191.310008] WARNING: kmemcheck: Caught 32-bit read from freed memory (f0d25f14)
      [  191.310011] c056d2f088000000105fd2f00000000050415353040000000000000000000000
      [  191.310020]  i i i i f f f f f f f f f f f f f f f f f f f f f f f f f f f f
      [  191.310027]                                          ^
      [  191.310029]
      [  191.310032] Pid: 737, comm: modprobe Not tainted 3.0.0-rc5+ #268 Hewlett-Packard HP Compaq 6005 Pro SFF PC/3047h
      [  191.310036] EIP: 0060:[<f80b3104>] EFLAGS: 00010286 CPU: 0
      [  191.310039] EIP is at hp_wmi_perform_query+0x104/0x150 [hp_wmi]
      [  191.310041] EAX: f0d25601 EBX: f0d25f00 ECX: 000121cf EDX: 000121ce
      [  191.310043] ESI: f0d25f10 EDI: f0f97ea8 EBP: f0f97ec4 ESP: c173f34c
      [  191.310045]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      [  191.310046] CR0: 8005003b CR2: f540c000 CR3: 30f30000 CR4: 000006d0
      [  191.310048] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
      [  191.310050] DR6: ffff4ff0 DR7: 00000400
      [  191.310051]  [<f80b317b>] hp_wmi_dock_state+0x2b/0x40 [hp_wmi]
      [  191.310054]  [<f80b6093>] hp_wmi_init+0x93/0x1a8 [hp_wmi]
      [  191.310057]  [<c10011f0>] do_one_initcall+0x30/0x170
      [  191.310061]  [<c107ab9f>] sys_init_module+0xef/0x1a60
      [  191.310064]  [<c149f998>] sysenter_do_call+0x12/0x28
      [  191.310067]  [<ffffffff>] 0xffffffff
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      0401846c
  25. 28 5月, 2011 1 次提交
  26. 28 3月, 2011 6 次提交