提交 9de1cc9c 编写于 作者: F Fiodor Suietov 提交者: Jeff Garzik

[PATCH] libata: wrong sizeof for BUFFER

I have reproduced the AE_AML_BUFFER_LIMIT exception mentioned in
<http://bugzilla.kernel.org/show_bug.cgi?id=7689> basing on the SSDT ASL
code and libata ata_acpi_push_id() code.  There is an oversight in
ata_acpi_push_id() causing the exception.  The following update fixes it:
Signed-off-by: NFiodor Suietov <fiodor.f.suietov@intel.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NJeff Garzik <jeff@garzik.org>
上级 08573a86
......@@ -672,7 +672,7 @@ int ata_acpi_push_id(struct ata_port *ap, unsigned int ix)
input.count = 1;
input.pointer = in_params;
in_params[0].type = ACPI_TYPE_BUFFER;
in_params[0].buffer.length = sizeof(atadev->id[0] * ATA_ID_WORDS);
in_params[0].buffer.length = sizeof(atadev->id[0]) * ATA_ID_WORDS;
in_params[0].buffer.pointer = (u8 *)atadev->id;
/* Output buffer: _SDD has no output */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册