<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/acpi/tables.c, branch linux-4.2.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>ACPI / table: Print GIC information when MADT is parsed</title>
<updated>2015-03-25T11:49:31+00:00</updated>
<author>
<name>Hanjun Guo</name>
<email>hanjun.guo@linaro.org</email>
</author>
<published>2015-03-24T14:02:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4c1c8d7a7ebc8b909493a14b21b233e5377b69aa'/>
<id>4c1c8d7a7ebc8b909493a14b21b233e5377b69aa</id>
<content type='text'>
When MADT is parsed, print GIC information as debug message:

ACPI: GICC (acpi_id[0x0000] address[00000000e112f000] MPIDR[0x0] enabled)
ACPI: GICC (acpi_id[0x0001] address[00000000e112f000] MPIDR[0x1] enabled)
...
ACPI: GICC (acpi_id[0x0201] address[00000000e112f000] MPIDR[0x201] enabled)

This debug information will be very helpful to bring up early systems to
see if acpi_id and MPIDR are matched or not as spec defined.

CC: Rafael J. Wysocki &lt;rjw@rjwysocki.net&gt;
Tested-by: Suravee Suthikulpanit &lt;Suravee.Suthikulpanit@amd.com&gt;
Tested-by: Yijing Wang &lt;wangyijing@huawei.com&gt;
Tested-by: Mark Langsdorf &lt;mlangsdo@redhat.com&gt;
Tested-by: Jon Masters &lt;jcm@redhat.com&gt;
Tested-by: Timur Tabi &lt;timur@codeaurora.org&gt;
Tested-by: Robert Richter &lt;rrichter@cavium.com&gt;
Acked-by: Robert Richter &lt;rrichter@cavium.com&gt;
Acked-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Acked-by: Lorenzo Pieralisi &lt;lorenzo.pieralisi@arm.com&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Signed-off-by: Tomasz Nowicki &lt;tomasz.nowicki@linaro.org&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When MADT is parsed, print GIC information as debug message:

ACPI: GICC (acpi_id[0x0000] address[00000000e112f000] MPIDR[0x0] enabled)
ACPI: GICC (acpi_id[0x0001] address[00000000e112f000] MPIDR[0x1] enabled)
...
ACPI: GICC (acpi_id[0x0201] address[00000000e112f000] MPIDR[0x201] enabled)

This debug information will be very helpful to bring up early systems to
see if acpi_id and MPIDR are matched or not as spec defined.

CC: Rafael J. Wysocki &lt;rjw@rjwysocki.net&gt;
Tested-by: Suravee Suthikulpanit &lt;Suravee.Suthikulpanit@amd.com&gt;
Tested-by: Yijing Wang &lt;wangyijing@huawei.com&gt;
Tested-by: Mark Langsdorf &lt;mlangsdo@redhat.com&gt;
Tested-by: Jon Masters &lt;jcm@redhat.com&gt;
Tested-by: Timur Tabi &lt;timur@codeaurora.org&gt;
Tested-by: Robert Richter &lt;rrichter@cavium.com&gt;
Acked-by: Robert Richter &lt;rrichter@cavium.com&gt;
Acked-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Acked-by: Lorenzo Pieralisi &lt;lorenzo.pieralisi@arm.com&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Signed-off-by: Tomasz Nowicki &lt;tomasz.nowicki@linaro.org&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI / table: Use pr_debug() instead of pr_info() for MADT table scanning</title>
<updated>2015-03-25T11:49:30+00:00</updated>
<author>
<name>Hanjun Guo</name>
<email>hanjun.guo@linaro.org</email>
</author>
<published>2015-03-24T14:02:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=07f438df22886432ff50772446768f65fbbf3ee0'/>
<id>07f438df22886432ff50772446768f65fbbf3ee0</id>
<content type='text'>
For a normal 8 cpu sockets system, it will up to 240 cpu threads (Xeon E7
v2 family for now), and we need 240 entries for local apic or local x2apic
in MADT table, so it will be much verbose information printed with a slow
uart console when system booted, this will be even worse with large system
with 16/32 cpu sockets.

This patch just use pr_debug() instead of pr_info() for ioapic/iosapic,
local apic/x2apic/sapic structures when scanning the MADT table to remove
those verbose information, but leave other structures unchanged.

CC: Rafael J Wysocki &lt;rjw@rjwysocki.net&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Acked-by: Olof Johansson &lt;olof@lixom.net&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Tested-by: Timur Tabi &lt;timur@codeaurora.org&gt;
Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For a normal 8 cpu sockets system, it will up to 240 cpu threads (Xeon E7
v2 family for now), and we need 240 entries for local apic or local x2apic
in MADT table, so it will be much verbose information printed with a slow
uart console when system booted, this will be even worse with large system
with 16/32 cpu sockets.

This patch just use pr_debug() instead of pr_info() for ioapic/iosapic,
local apic/x2apic/sapic structures when scanning the MADT table to remove
those verbose information, but leave other structures unchanged.

CC: Rafael J Wysocki &lt;rjw@rjwysocki.net&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Acked-by: Olof Johansson &lt;olof@lixom.net&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Tested-by: Timur Tabi &lt;timur@codeaurora.org&gt;
Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI / table: Always count matched and successfully parsed entries</title>
<updated>2014-11-27T01:07:41+00:00</updated>
<author>
<name>Tomasz Nowicki</name>
<email>tomasz.nowicki@linaro.org</email>
</author>
<published>2014-11-26T14:01:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4ceacd02f5a1795c5c697e0345ee10beef675290'/>
<id>4ceacd02f5a1795c5c697e0345ee10beef675290</id>
<content type='text'>
acpi_parse_entries() allows to traverse all available table entries (aka
subtables) by passing max_entries parameter equal to 0, but since its count
variable is only incremented if max_entries is not 0, the function always
returns 0 for max_entries equal to 0.  It would be more useful if it returned
the number of entries matched instead, so make it increment count in that
case too.

Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Signed-off-by: Tomasz Nowicki &lt;tomasz.nowicki@linaro.org&gt;
Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
acpi_parse_entries() allows to traverse all available table entries (aka
subtables) by passing max_entries parameter equal to 0, but since its count
variable is only incremented if max_entries is not 0, the function always
returns 0 for max_entries equal to 0.  It would be more useful if it returned
the number of entries matched instead, so make it increment count in that
case too.

Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Signed-off-by: Tomasz Nowicki &lt;tomasz.nowicki@linaro.org&gt;
Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI / table: Add new function to get table entries</title>
<updated>2014-11-27T01:06:17+00:00</updated>
<author>
<name>Ashwin Chaugule</name>
<email>ashwin.chaugule@linaro.org</email>
</author>
<published>2014-11-26T14:01:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f08bb472bff3c0397fb7d6f47bc5cec41dad76e3'/>
<id>f08bb472bff3c0397fb7d6f47bc5cec41dad76e3</id>
<content type='text'>
The acpi_table_parse() function has a callback that
passes a pointer to a table_header. Add a new function
which takes this pointer and parses its entries. This
eliminates the need to re-traverse all the tables for
each call. e.g. as in acpi_table_parse_madt() which is
normally called after acpi_table_parse().

Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Signed-off-by: Ashwin Chaugule &lt;ashwin.chaugule@linaro.org&gt;
Signed-off-by: Tomasz Nowicki &lt;tomasz.nowicki@linaro.org&gt;
Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The acpi_table_parse() function has a callback that
passes a pointer to a table_header. Add a new function
which takes this pointer and parses its entries. This
eliminates the need to re-traverse all the tables for
each call. e.g. as in acpi_table_parse_madt() which is
normally called after acpi_table_parse().

Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
Signed-off-by: Ashwin Chaugule &lt;ashwin.chaugule@linaro.org&gt;
Signed-off-by: Tomasz Nowicki &lt;tomasz.nowicki@linaro.org&gt;
Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: use kstrto*() instead of simple_strto*()</title>
<updated>2014-06-17T12:01:56+00:00</updated>
<author>
<name>Christoph Jaeger</name>
<email>christophjaeger@linux.com</email>
</author>
<published>2014-06-13T19:49:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3d915894f8317ac3e55b47da829aa65eb5f9ae97'/>
<id>3d915894f8317ac3e55b47da829aa65eb5f9ae97</id>
<content type='text'>
simple_strto*() are obsolete; use kstrto*() instead. Add proper error
checking.

Signed-off-by: Christoph Jaeger &lt;christophjaeger@linux.com&gt;
Acked-by: David Rientjes &lt;rientjes@google.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
simple_strto*() are obsolete; use kstrto*() instead. Add proper error
checking.

Signed-off-by: Christoph Jaeger &lt;christophjaeger@linux.com&gt;
Acked-by: David Rientjes &lt;rientjes@google.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI: Fix x86 regression related to early mapping size limitation</title>
<updated>2014-05-31T22:20:52+00:00</updated>
<author>
<name>Lv Zheng</name>
<email>lv.zheng@intel.com</email>
</author>
<published>2014-05-31T00:15:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4fc0a7e889e5540305926e41931cf3bc0a60abb2'/>
<id>4fc0a7e889e5540305926e41931cf3bc0a60abb2</id>
<content type='text'>
The following warning message is triggered:
 WARNING: CPU: 0 PID: 0 at mm/early_ioremap.c:136 __early_ioremap+0x11f/0x1f2()
 Modules linked in:
 CPU: 0 PID: 0 Comm: swapper Not tainted 3.15.0-rc1-00017-g86dfc6f3-dirty #298
 Hardware name: Intel Corporation S2600CP/S2600CP, BIOS SE5C600.86B.99.99.x036.091920111209 09/19/2011
  0000000000000009 ffffffff81b75c40 ffffffff817c627b 0000000000000000
  ffffffff81b75c78 ffffffff81067b5d 000000000000007b 8000000000000563
  00000000b96b20dc 0000000000000001 ffffffffff300e0c ffffffff81b75c88
 Call Trace:
  [&lt;ffffffff817c627b&gt;] dump_stack+0x45/0x56
  [&lt;ffffffff81067b5d&gt;] warn_slowpath_common+0x7d/0xa0
  [&lt;ffffffff81067c3a&gt;] warn_slowpath_null+0x1a/0x20
  [&lt;ffffffff81d4b9d5&gt;] __early_ioremap+0x11f/0x1f2
  [&lt;ffffffff81d4bc5b&gt;] early_ioremap+0x13/0x15
  [&lt;ffffffff81d2b8f3&gt;] __acpi_map_table+0x13/0x18
  [&lt;ffffffff817b8d1a&gt;] acpi_os_map_memory+0x26/0x14e
  [&lt;ffffffff813ff018&gt;] acpi_tb_acquire_table+0x42/0x70
  [&lt;ffffffff813ff086&gt;] acpi_tb_validate_table+0x27/0x37
  [&lt;ffffffff813ff0e5&gt;] acpi_tb_verify_table+0x22/0xd8
  [&lt;ffffffff813ff6a8&gt;] acpi_tb_install_non_fixed_table+0x60/0x1c9
  [&lt;ffffffff81d61024&gt;] acpi_tb_parse_root_table+0x218/0x26a
  [&lt;ffffffff81d1b120&gt;] ? early_idt_handlers+0x120/0x120
  [&lt;ffffffff81d610cd&gt;] acpi_initialize_tables+0x57/0x59
  [&lt;ffffffff81d5f25d&gt;] acpi_table_init+0x1b/0x99
  [&lt;ffffffff81d2bca0&gt;] acpi_boot_table_init+0x1e/0x85
  [&lt;ffffffff81d23043&gt;] setup_arch+0x99d/0xcc6
  [&lt;ffffffff81d1b120&gt;] ? early_idt_handlers+0x120/0x120
  [&lt;ffffffff81d1bbbe&gt;] start_kernel+0x8b/0x415
  [&lt;ffffffff81d1b120&gt;] ? early_idt_handlers+0x120/0x120
  [&lt;ffffffff81d1b5ee&gt;] x86_64_start_reservations+0x2a/0x2c
  [&lt;ffffffff81d1b72e&gt;] x86_64_start_kernel+0x13e/0x14d
 ---[ end trace 11ae599a1898f4e7 ]---
when installing the following table during early stage:
 ACPI: SSDT 0x00000000B9638018 07A0C4 (v02 INTEL  S2600CP  00004000 INTL 20100331)
The regression is caused by the size limitation of the x86 early IO mapping.

The root cause is:
 1. ACPICA doesn't split IO memory mapping and table mapping;
 2. Linux x86 OSL implements acpi_os_map_memory() using a size limited fix-map
    mechanism during early boot stage, which is more suitable for only IO
    mappings.

This patch fixes this issue by utilizing acpi_gbl_verify_table_checksum to
disable the table mapping during early stage and enabling it again for the
late stage. In this way, the normal code path is not affected. Then after
the code related to the root cause is cleaned up, the early checksum
verification can be easily re-enabled.

A new boot parameter - acpi_force_table_verification is introduced for
the platforms that require the checksum verification to stop loading bad
tables.

This fix also covers the checksum verification for the table overrides. Now
large tables can also be overridden using the initrd override mechanism.

Signed-off-by: Lv Zheng &lt;lv.zheng@intel.com&gt;
Reported-and-tested-by: Yuanhan Liu &lt;yuanhan.liu@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The following warning message is triggered:
 WARNING: CPU: 0 PID: 0 at mm/early_ioremap.c:136 __early_ioremap+0x11f/0x1f2()
 Modules linked in:
 CPU: 0 PID: 0 Comm: swapper Not tainted 3.15.0-rc1-00017-g86dfc6f3-dirty #298
 Hardware name: Intel Corporation S2600CP/S2600CP, BIOS SE5C600.86B.99.99.x036.091920111209 09/19/2011
  0000000000000009 ffffffff81b75c40 ffffffff817c627b 0000000000000000
  ffffffff81b75c78 ffffffff81067b5d 000000000000007b 8000000000000563
  00000000b96b20dc 0000000000000001 ffffffffff300e0c ffffffff81b75c88
 Call Trace:
  [&lt;ffffffff817c627b&gt;] dump_stack+0x45/0x56
  [&lt;ffffffff81067b5d&gt;] warn_slowpath_common+0x7d/0xa0
  [&lt;ffffffff81067c3a&gt;] warn_slowpath_null+0x1a/0x20
  [&lt;ffffffff81d4b9d5&gt;] __early_ioremap+0x11f/0x1f2
  [&lt;ffffffff81d4bc5b&gt;] early_ioremap+0x13/0x15
  [&lt;ffffffff81d2b8f3&gt;] __acpi_map_table+0x13/0x18
  [&lt;ffffffff817b8d1a&gt;] acpi_os_map_memory+0x26/0x14e
  [&lt;ffffffff813ff018&gt;] acpi_tb_acquire_table+0x42/0x70
  [&lt;ffffffff813ff086&gt;] acpi_tb_validate_table+0x27/0x37
  [&lt;ffffffff813ff0e5&gt;] acpi_tb_verify_table+0x22/0xd8
  [&lt;ffffffff813ff6a8&gt;] acpi_tb_install_non_fixed_table+0x60/0x1c9
  [&lt;ffffffff81d61024&gt;] acpi_tb_parse_root_table+0x218/0x26a
  [&lt;ffffffff81d1b120&gt;] ? early_idt_handlers+0x120/0x120
  [&lt;ffffffff81d610cd&gt;] acpi_initialize_tables+0x57/0x59
  [&lt;ffffffff81d5f25d&gt;] acpi_table_init+0x1b/0x99
  [&lt;ffffffff81d2bca0&gt;] acpi_boot_table_init+0x1e/0x85
  [&lt;ffffffff81d23043&gt;] setup_arch+0x99d/0xcc6
  [&lt;ffffffff81d1b120&gt;] ? early_idt_handlers+0x120/0x120
  [&lt;ffffffff81d1bbbe&gt;] start_kernel+0x8b/0x415
  [&lt;ffffffff81d1b120&gt;] ? early_idt_handlers+0x120/0x120
  [&lt;ffffffff81d1b5ee&gt;] x86_64_start_reservations+0x2a/0x2c
  [&lt;ffffffff81d1b72e&gt;] x86_64_start_kernel+0x13e/0x14d
 ---[ end trace 11ae599a1898f4e7 ]---
when installing the following table during early stage:
 ACPI: SSDT 0x00000000B9638018 07A0C4 (v02 INTEL  S2600CP  00004000 INTL 20100331)
The regression is caused by the size limitation of the x86 early IO mapping.

The root cause is:
 1. ACPICA doesn't split IO memory mapping and table mapping;
 2. Linux x86 OSL implements acpi_os_map_memory() using a size limited fix-map
    mechanism during early boot stage, which is more suitable for only IO
    mappings.

This patch fixes this issue by utilizing acpi_gbl_verify_table_checksum to
disable the table mapping during early stage and enabling it again for the
late stage. In this way, the normal code path is not affected. Then after
the code related to the root cause is cleaned up, the early checksum
verification can be easily re-enabled.

A new boot parameter - acpi_force_table_verification is introduced for
the platforms that require the checksum verification to stop loading bad
tables.

This fix also covers the checksum verification for the table overrides. Now
large tables can also be overridden using the initrd override mechanism.

Signed-off-by: Lv Zheng &lt;lv.zheng@intel.com&gt;
Reported-and-tested-by: Yuanhan Liu &lt;yuanhan.liu@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI / tables: Replace printk with pr_*</title>
<updated>2014-03-02T00:34:16+00:00</updated>
<author>
<name>Hanjun Guo</name>
<email>hanjun.guo@linaro.org</email>
</author>
<published>2014-02-20T07:45:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=730bf5ebb4dfb3ec654bb6c270aa55de70ebf54d'/>
<id>730bf5ebb4dfb3ec654bb6c270aa55de70ebf54d</id>
<content type='text'>
This patch just does some cleanup to replace printk with pr_*,
and introduces pr_fmt() to remove all PREFIXs in tables.c,
no functional change.

Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch just does some cleanup to replace printk with pr_*,
and introduces pr_fmt() to remove all PREFIXs in tables.c,
no functional change.

Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI / tables: Return proper error codes from acpi_table_parse() and fix comment.</title>
<updated>2014-01-06T11:33:06+00:00</updated>
<author>
<name>tangchen</name>
<email>tangchen@cn.fujitsu.com</email>
</author>
<published>2014-01-06T08:47:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f8a571b2a128a1697624c1b132f3af07848ebbcf'/>
<id>f8a571b2a128a1697624c1b132f3af07848ebbcf</id>
<content type='text'>
The comment about return value of acpi_table_parse() is incorrect.
This patch fix it.

Since all callers only check if the function succeeded or not, this
patch simplifies the semantics by returning -errno for all failure
cases. This will also simply the comment.

As suggested by Toshi Kani &lt;toshi.kani@hp.com&gt;, also change the stub
in linux/acpi.h to return -ENODEV.

Signed-off-by: Tang Chen &lt;tangchen@cn.fujitsu.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The comment about return value of acpi_table_parse() is incorrect.
This patch fix it.

Since all callers only check if the function succeeded or not, this
patch simplifies the semantics by returning -errno for all failure
cases. This will also simply the comment.

As suggested by Toshi Kani &lt;toshi.kani@hp.com&gt;, also change the stub
in linux/acpi.h to return -ENODEV.

Signed-off-by: Tang Chen &lt;tangchen@cn.fujitsu.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI / tables: Check if id is NULL in acpi_table_parse()</title>
<updated>2014-01-06T11:33:05+00:00</updated>
<author>
<name>tangchen</name>
<email>tangchen@cn.fujitsu.com</email>
</author>
<published>2014-01-06T08:43:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=de2d1a7e9310c4d1464faf469c737f08b5608600'/>
<id>de2d1a7e9310c4d1464faf469c737f08b5608600</id>
<content type='text'>
strncmp() does not check if the params are NULL. In acpi_table_parse(),
if @id is NULL, the kernel will panic.

Signed-off-by: Tang Chen &lt;tangchen@cn.fujitsu.com&gt;
Acked-by: Toshi Kani &lt;toshi.kani@hp.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
strncmp() does not check if the params are NULL. In acpi_table_parse(),
if @id is NULL, the kernel will panic.

Signed-off-by: Tang Chen &lt;tangchen@cn.fujitsu.com&gt;
Acked-by: Toshi Kani &lt;toshi.kani@hp.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ACPI / table: Replace '1' with specific error return values</title>
<updated>2013-12-07T00:31:59+00:00</updated>
<author>
<name>Hanjun Guo</name>
<email>hanjun.guo@linaro.org</email>
</author>
<published>2013-12-05T15:42:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=95df812dbdc350bfcf31e247e9100c378a472480'/>
<id>95df812dbdc350bfcf31e247e9100c378a472480</id>
<content type='text'>
After commit 7f8f97c3cc (ACPI: acpi_table_parse() now returns
success/fail, not count), acpi_table_parse() returns '1' when it is
unable to find the table, but it should return a negative error code
in that case.  Make it return -ENODEV instead.

Fix the same problem in acpi_table_init() analogously.

Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
[rjw: Subject and changelog]
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After commit 7f8f97c3cc (ACPI: acpi_table_parse() now returns
success/fail, not count), acpi_table_parse() returns '1' when it is
unable to find the table, but it should return a negative error code
in that case.  Make it return -ENODEV instead.

Fix the same problem in acpi_table_init() analogously.

Signed-off-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;
[rjw: Subject and changelog]
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
