<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers, branch v3.1-rc1</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>sh: Fix boot crash related to SCI</title>
<updated>2011-08-07T22:51:45+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2011-08-07T22:26:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=fc97114b8d67819fadcc5af855da9a3e6a6a329b'/>
<id>fc97114b8d67819fadcc5af855da9a3e6a6a329b</id>
<content type='text'>
Commit d006199e72a9 ("serial: sh-sci: Regtype probing doesn't need to be
fatal.") made sci_init_single() return when sci_probe_regmap() succeeds,
although it should return when sci_probe_regmap() fails.  This causes
systems using the serial sh-sci driver to crash during boot.

Fix the problem by using the right return condition.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit d006199e72a9 ("serial: sh-sci: Regtype probing doesn't need to be
fatal.") made sci_init_single() return when sci_probe_regmap() succeeds,
although it should return when sci_probe_regmap() fails.  This causes
systems using the serial sh-sci driver to crash during boot.

Fix the problem by using the right return condition.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2011-08-07T05:12:37+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-08-07T05:12:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=7cd4767e696123cdb7447fbd7c281eb8c610c8e4'/>
<id>7cd4767e696123cdb7447fbd7c281eb8c610c8e4</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
  net: Compute protocol sequence numbers and fragment IDs using MD5.
  crypto: Move md5_transform to lib/md5.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
  net: Compute protocol sequence numbers and fragment IDs using MD5.
  crypto: Move md5_transform to lib/md5.c
</pre>
</div>
</content>
</entry>
<entry>
<title>net: Compute protocol sequence numbers and fragment IDs using MD5.</title>
<updated>2011-08-07T01:33:19+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-08-04T03:50:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6e5714eaf77d79ae1c8b47e3e040ff5411b717ec'/>
<id>6e5714eaf77d79ae1c8b47e3e040ff5411b717ec</id>
<content type='text'>
Computers have become a lot faster since we compromised on the
partial MD4 hash which we use currently for performance reasons.

MD5 is a much safer choice, and is inline with both RFC1948 and
other ISS generators (OpenBSD, Solaris, etc.)

Furthermore, only having 24-bits of the sequence number be truly
unpredictable is a very serious limitation.  So the periodic
regeneration and 8-bit counter have been removed.  We compute and
use a full 32-bit sequence number.

For ipv6, DCCP was found to use a 32-bit truncated initial sequence
number (it needs 43-bits) and that is fixed here as well.

Reported-by: Dan Kaminsky &lt;dan@doxpara.com&gt;
Tested-by: Willy Tarreau &lt;w@1wt.eu&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Computers have become a lot faster since we compromised on the
partial MD4 hash which we use currently for performance reasons.

MD5 is a much safer choice, and is inline with both RFC1948 and
other ISS generators (OpenBSD, Solaris, etc.)

Furthermore, only having 24-bits of the sequence number be truly
unpredictable is a very serious limitation.  So the periodic
regeneration and 8-bit counter have been removed.  We compute and
use a full 32-bit sequence number.

For ipv6, DCCP was found to use a 32-bit truncated initial sequence
number (it needs 43-bits) and that is fixed here as well.

Reported-by: Dan Kaminsky &lt;dan@doxpara.com&gt;
Tested-by: Willy Tarreau &lt;w@1wt.eu&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6</title>
<updated>2011-08-06T20:26:37+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-08-06T20:26:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ce195d328485459b77672ef20485a8e4f21477b5'/>
<id>ce195d328485459b77672ef20485a8e4f21477b5</id>
<content type='text'>
* 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
  PM / Runtime: Allow _put_sync() from interrupts-disabled context
  PM / Domains: Fix pm_genpd_poweron()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
  PM / Runtime: Allow _put_sync() from interrupts-disabled context
  PM / Domains: Fix pm_genpd_poweron()
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86</title>
<updated>2011-08-06T20:26:15+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-08-06T20:26:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2560540b78b48c8050f56e8ff5903c11a4f7a16e'/>
<id>2560540b78b48c8050f56e8ff5903c11a4f7a16e</id>
<content type='text'>
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (38 commits)
  acer-wmi: support Lenovo ideapad S205 wifi switch
  acerhdf.c: spaces in aliased changed to *
  platform-drivers-x86: ideapad-laptop: add missing ideapad_input_exit in ideapad_acpi_add error path
  x86 driver: fix typo in TDP override enabling
  Platform: fix samsung-laptop DMI identification for N150/N210/220/N230
  dell-wmi: Add keys for Dell XPS L502X
  platform-drivers-x86: samsung-q10: make dmi_check_callback return 1
  Platform: Samsung Q10 backlight driver
  platform-drivers-x86: intel_scu_ipc: convert to DEFINE_PCI_DEVICE_TABLE
  platform-drivers-x86: intel_rar_register: convert to DEFINE_PCI_DEVICE_TABLE
  platform-drivers-x86: intel_menlow: add missing return AE_OK for intel_menlow_register_sensor()
  platform-drivers-x86: intel_mid_thermal: fix memory leak
  platform-drivers-x86: msi-wmi: add missing sparse_keymap_free in msi_wmi_init error path
  Samsung Laptop platform driver: support N510
  asus-wmi: add uwb rfkill support
  asus-wmi: add gps rfkill support
  asus-wmi: add CWAP support and clarify the meaning of WAPF bits
  asus-wmi: return proper value in store_cpufv()
  asus-wmi: check for temp1 presence
  asus-wmi: add thermal sensor
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (38 commits)
  acer-wmi: support Lenovo ideapad S205 wifi switch
  acerhdf.c: spaces in aliased changed to *
  platform-drivers-x86: ideapad-laptop: add missing ideapad_input_exit in ideapad_acpi_add error path
  x86 driver: fix typo in TDP override enabling
  Platform: fix samsung-laptop DMI identification for N150/N210/220/N230
  dell-wmi: Add keys for Dell XPS L502X
  platform-drivers-x86: samsung-q10: make dmi_check_callback return 1
  Platform: Samsung Q10 backlight driver
  platform-drivers-x86: intel_scu_ipc: convert to DEFINE_PCI_DEVICE_TABLE
  platform-drivers-x86: intel_rar_register: convert to DEFINE_PCI_DEVICE_TABLE
  platform-drivers-x86: intel_menlow: add missing return AE_OK for intel_menlow_register_sensor()
  platform-drivers-x86: intel_mid_thermal: fix memory leak
  platform-drivers-x86: msi-wmi: add missing sparse_keymap_free in msi_wmi_init error path
  Samsung Laptop platform driver: support N510
  asus-wmi: add uwb rfkill support
  asus-wmi: add gps rfkill support
  asus-wmi: add CWAP support and clarify the meaning of WAPF bits
  asus-wmi: return proper value in store_cpufv()
  asus-wmi: check for temp1 presence
  asus-wmi: add thermal sensor
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen</title>
<updated>2011-08-06T19:22:30+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-08-06T19:22:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=45a05f9488911851f7a5c536df80b41f0105caf0'/>
<id>45a05f9488911851f7a5c536df80b41f0105caf0</id>
<content type='text'>
* 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  xen/trace: Fix compile error when CONFIG_XEN_PRIVILEGED_GUEST is not set
  xen: Fix misleading WARN message at xen_release_chunk
  xen: Fix printk() format in xen/setup.c
  xen/tracing: it looks like we wanted CONFIG_FTRACE
  xen/self-balloon: Add dependency on tmem.
  xen/balloon: Fix compile errors - missing header files.
  xen/grant: Fix compile warning.
  xen/pciback: remove duplicated #include
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  xen/trace: Fix compile error when CONFIG_XEN_PRIVILEGED_GUEST is not set
  xen: Fix misleading WARN message at xen_release_chunk
  xen: Fix printk() format in xen/setup.c
  xen/tracing: it looks like we wanted CONFIG_FTRACE
  xen/self-balloon: Add dependency on tmem.
  xen/balloon: Fix compile errors - missing header files.
  xen/grant: Fix compile warning.
  xen/pciback: remove duplicated #include
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6</title>
<updated>2011-08-06T19:21:19+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-08-06T19:21:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f38092b50f6e68d046ada7d2a4b3ecbbeab29fb4'/>
<id>f38092b50f6e68d046ada7d2a4b3ecbbeab29fb4</id>
<content type='text'>
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
  Battery: sysfs_remove_battery(): possible circular locking
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
  Battery: sysfs_remove_battery(): possible circular locking
</pre>
</div>
</content>
</entry>
<entry>
<title>savagedb: Fix typo causing regression in savage4 series video chip detection</title>
<updated>2011-08-06T19:02:40+00:00</updated>
<author>
<name>John Stanley</name>
<email>jpsinthemix@verizon.net</email>
</author>
<published>2011-08-04T00:41:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4b00e4b3940eabb38adeec0823751820fe2d6fda'/>
<id>4b00e4b3940eabb38adeec0823751820fe2d6fda</id>
<content type='text'>
Two additional savage4 variants were added, but the S3_SAVAGE4_SERIES
macro was incompletely modified, resulting in a false positive detection
of a savage4 card regardless of which savage card is actually present.

For non-savage4 series cards, such as a Savage/IX-MV card, this results
in garbled video and/or a hard-hang at boot time.  Fix this by changing
an '||' to an '&amp;&amp;' in the S3_SAVAGE4_SERIES macro.

Signed-off-by: John P. Stanley &lt;jpsinthemix@verizon.net&gt;
Reviewed-by: Tormod Volden &lt;debian.tormod@gmail.com&gt;
[ The macros have incomplete parenthesis too, but whatever ..  -Linus ]
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Two additional savage4 variants were added, but the S3_SAVAGE4_SERIES
macro was incompletely modified, resulting in a false positive detection
of a savage4 card regardless of which savage card is actually present.

For non-savage4 series cards, such as a Savage/IX-MV card, this results
in garbled video and/or a hard-hang at boot time.  Fix this by changing
an '||' to an '&amp;&amp;' in the S3_SAVAGE4_SERIES macro.

Signed-off-by: John P. Stanley &lt;jpsinthemix@verizon.net&gt;
Reviewed-by: Tormod Volden &lt;debian.tormod@gmail.com&gt;
[ The macros have incomplete parenthesis too, but whatever ..  -Linus ]
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'battery' into release</title>
<updated>2011-08-06T02:16:42+00:00</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2011-08-06T02:16:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5389102e231d5f06da8b2897336293db18af9d76'/>
<id>5389102e231d5f06da8b2897336293db18af9d76</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Battery: sysfs_remove_battery(): possible circular locking</title>
<updated>2011-08-06T02:15:18+00:00</updated>
<author>
<name>Sergey Senozhatsky</name>
<email>sergey.senozhatsky@gmail.com</email>
</author>
<published>2011-08-05T22:34:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=69d94ec6d83d84044252d9ba03f6a8970816e350'/>
<id>69d94ec6d83d84044252d9ba03f6a8970816e350</id>
<content type='text'>
Commit 9c921c22a7f33397a6774d7fa076db9b6a0fd669
Author: Lan Tianyu &lt;tianyu.lan@intel.com&gt;

    ACPI / Battery: Resolve the race condition in the sysfs_remove_battery()

fixed BUG https://bugzilla.kernel.org/show_bug.cgi?id=35642 , but as a side
effect made lockdep unhappy with sysfs_remove_battery():

[14818.477168]
[14818.477170] =======================================================
[14818.477200] [ INFO: possible circular locking dependency detected ]
[14818.477221] 3.1.0-dbg-07865-g1280ea8-dirty #668
[14818.477236] -------------------------------------------------------
[14818.477257] s2ram/1599 is trying to acquire lock:
[14818.477276]  (s_active#8){++++.+}, at: [&lt;ffffffff81169147&gt;] sysfs_addrm_finish+0x31/0x5a
[14818.477323]
[14818.477325] but task is already holding lock:
[14818.477350]  (&amp;battery-&gt;lock){+.+.+.}, at: [&lt;ffffffffa0047278&gt;] sysfs_remove_battery+0x10/0x4b [battery]
[14818.477395]
[14818.477397] which lock already depends on the new lock.
[14818.477399]
[..]
[14818.479121] stack backtrace:
[14818.479148] Pid: 1599, comm: s2ram Not tainted 3.1.0-dbg-07865-g1280ea8-dirty #668
[14818.479175] Call Trace:
[14818.479198]  [&lt;ffffffff814828c3&gt;] print_circular_bug+0x293/0x2a4
[14818.479228]  [&lt;ffffffff81070cb5&gt;] __lock_acquire+0xfe4/0x164b
[14818.479260]  [&lt;ffffffff81169147&gt;] ? sysfs_addrm_finish+0x31/0x5a
[14818.479288]  [&lt;ffffffff810718d2&gt;] lock_acquire+0x138/0x1ac
[14818.479316]  [&lt;ffffffff81169147&gt;] ? sysfs_addrm_finish+0x31/0x5a
[14818.479345]  [&lt;ffffffff81168a79&gt;] sysfs_deactivate+0x9b/0xec
[14818.479373]  [&lt;ffffffff81169147&gt;] ? sysfs_addrm_finish+0x31/0x5a
[14818.479405]  [&lt;ffffffff81169147&gt;] sysfs_addrm_finish+0x31/0x5a
[14818.479433]  [&lt;ffffffff81167bc5&gt;] sysfs_hash_and_remove+0x54/0x77
[14818.479461]  [&lt;ffffffff811681b9&gt;] sysfs_remove_file+0x12/0x14
[14818.479488]  [&lt;ffffffff81385bf8&gt;] device_remove_file+0x12/0x14
[14818.479516]  [&lt;ffffffff81386504&gt;] device_del+0x119/0x17c
[14818.479542]  [&lt;ffffffff81386575&gt;] device_unregister+0xe/0x1a
[14818.479570]  [&lt;ffffffff813c6ef9&gt;] power_supply_unregister+0x23/0x27
[14818.479601]  [&lt;ffffffffa004729c&gt;] sysfs_remove_battery+0x34/0x4b [battery]
[14818.479632]  [&lt;ffffffffa004778f&gt;] battery_notify+0x2c/0x3a [battery]
[14818.479662]  [&lt;ffffffff8148fe82&gt;] notifier_call_chain+0x74/0xa1
[14818.479692]  [&lt;ffffffff810624b4&gt;] __blocking_notifier_call_chain+0x6c/0x89
[14818.479722]  [&lt;ffffffff810624e0&gt;] blocking_notifier_call_chain+0xf/0x11
[14818.479751]  [&lt;ffffffff8107e40e&gt;] pm_notifier_call_chain+0x15/0x27
[14818.479770]  [&lt;ffffffff8107ee1a&gt;] enter_state+0xa7/0xd5
[14818.479782]  [&lt;ffffffff8107e341&gt;] state_store+0xaa/0xc0
[14818.479795]  [&lt;ffffffff8107e297&gt;] ? pm_async_store+0x45/0x45
[14818.479807]  [&lt;ffffffff81248837&gt;] kobj_attr_store+0x17/0x19
[14818.479820]  [&lt;ffffffff81167e27&gt;] sysfs_write_file+0x103/0x13f
[14818.479834]  [&lt;ffffffff81109037&gt;] vfs_write+0xad/0x13d
[14818.479847]  [&lt;ffffffff811092b2&gt;] sys_write+0x45/0x6c
[14818.479860]  [&lt;ffffffff81492f92&gt;] system_call_fastpath+0x16/0x1b

This patch introduces separate lock to struct acpi_battery to
grab in sysfs_remove_battery() instead of battery-&gt;lock.
So fix by Lan Tianyu is still there, we just grab independent lock.

Signed-off-by: Sergey Senozhatsky &lt;sergey.senozhatsky@gmail.com&gt;
Tested-by: Lan Tianyu &lt;tianyu.lan@intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 9c921c22a7f33397a6774d7fa076db9b6a0fd669
Author: Lan Tianyu &lt;tianyu.lan@intel.com&gt;

    ACPI / Battery: Resolve the race condition in the sysfs_remove_battery()

fixed BUG https://bugzilla.kernel.org/show_bug.cgi?id=35642 , but as a side
effect made lockdep unhappy with sysfs_remove_battery():

[14818.477168]
[14818.477170] =======================================================
[14818.477200] [ INFO: possible circular locking dependency detected ]
[14818.477221] 3.1.0-dbg-07865-g1280ea8-dirty #668
[14818.477236] -------------------------------------------------------
[14818.477257] s2ram/1599 is trying to acquire lock:
[14818.477276]  (s_active#8){++++.+}, at: [&lt;ffffffff81169147&gt;] sysfs_addrm_finish+0x31/0x5a
[14818.477323]
[14818.477325] but task is already holding lock:
[14818.477350]  (&amp;battery-&gt;lock){+.+.+.}, at: [&lt;ffffffffa0047278&gt;] sysfs_remove_battery+0x10/0x4b [battery]
[14818.477395]
[14818.477397] which lock already depends on the new lock.
[14818.477399]
[..]
[14818.479121] stack backtrace:
[14818.479148] Pid: 1599, comm: s2ram Not tainted 3.1.0-dbg-07865-g1280ea8-dirty #668
[14818.479175] Call Trace:
[14818.479198]  [&lt;ffffffff814828c3&gt;] print_circular_bug+0x293/0x2a4
[14818.479228]  [&lt;ffffffff81070cb5&gt;] __lock_acquire+0xfe4/0x164b
[14818.479260]  [&lt;ffffffff81169147&gt;] ? sysfs_addrm_finish+0x31/0x5a
[14818.479288]  [&lt;ffffffff810718d2&gt;] lock_acquire+0x138/0x1ac
[14818.479316]  [&lt;ffffffff81169147&gt;] ? sysfs_addrm_finish+0x31/0x5a
[14818.479345]  [&lt;ffffffff81168a79&gt;] sysfs_deactivate+0x9b/0xec
[14818.479373]  [&lt;ffffffff81169147&gt;] ? sysfs_addrm_finish+0x31/0x5a
[14818.479405]  [&lt;ffffffff81169147&gt;] sysfs_addrm_finish+0x31/0x5a
[14818.479433]  [&lt;ffffffff81167bc5&gt;] sysfs_hash_and_remove+0x54/0x77
[14818.479461]  [&lt;ffffffff811681b9&gt;] sysfs_remove_file+0x12/0x14
[14818.479488]  [&lt;ffffffff81385bf8&gt;] device_remove_file+0x12/0x14
[14818.479516]  [&lt;ffffffff81386504&gt;] device_del+0x119/0x17c
[14818.479542]  [&lt;ffffffff81386575&gt;] device_unregister+0xe/0x1a
[14818.479570]  [&lt;ffffffff813c6ef9&gt;] power_supply_unregister+0x23/0x27
[14818.479601]  [&lt;ffffffffa004729c&gt;] sysfs_remove_battery+0x34/0x4b [battery]
[14818.479632]  [&lt;ffffffffa004778f&gt;] battery_notify+0x2c/0x3a [battery]
[14818.479662]  [&lt;ffffffff8148fe82&gt;] notifier_call_chain+0x74/0xa1
[14818.479692]  [&lt;ffffffff810624b4&gt;] __blocking_notifier_call_chain+0x6c/0x89
[14818.479722]  [&lt;ffffffff810624e0&gt;] blocking_notifier_call_chain+0xf/0x11
[14818.479751]  [&lt;ffffffff8107e40e&gt;] pm_notifier_call_chain+0x15/0x27
[14818.479770]  [&lt;ffffffff8107ee1a&gt;] enter_state+0xa7/0xd5
[14818.479782]  [&lt;ffffffff8107e341&gt;] state_store+0xaa/0xc0
[14818.479795]  [&lt;ffffffff8107e297&gt;] ? pm_async_store+0x45/0x45
[14818.479807]  [&lt;ffffffff81248837&gt;] kobj_attr_store+0x17/0x19
[14818.479820]  [&lt;ffffffff81167e27&gt;] sysfs_write_file+0x103/0x13f
[14818.479834]  [&lt;ffffffff81109037&gt;] vfs_write+0xad/0x13d
[14818.479847]  [&lt;ffffffff811092b2&gt;] sys_write+0x45/0x6c
[14818.479860]  [&lt;ffffffff81492f92&gt;] system_call_fastpath+0x16/0x1b

This patch introduces separate lock to struct acpi_battery to
grab in sysfs_remove_battery() instead of battery-&gt;lock.
So fix by Lan Tianyu is still there, we just grab independent lock.

Signed-off-by: Sergey Senozhatsky &lt;sergey.senozhatsky@gmail.com&gt;
Tested-by: Lan Tianyu &lt;tianyu.lan@intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
