From: Randy Dunlap <randy_d_dunlap@linux.intel.com>
To: "Mathieu Bérard" <Mathieu.Berard@crans.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
ide <linux-ide@vger.kernel.org>, jgarzik <jgarzik@pobox.com>,
akpm <akpm@osdl.org>
Subject: [PATCH 2/3] libata-acpi: save & free the correct acpi object
Date: Tue, 17 Jan 2006 12:13:56 -0800 [thread overview]
Message-ID: <20060117121356.2a0b8420.randy_d_dunlap@linux.intel.com> (raw)
From: Randy Dunlap <randy_d_dunlap@linux.intel.com>
Save and free the correct acpi_object pointer.
Signed-off-by: Randy Dunlap <randy_d_dunlap@linux.intel.com>
---
drivers/scsi/libata-acpi.c | 14 +++++++++-----
drivers/scsi/libata.h | 6 ++++--
2 files changed, 13 insertions(+), 7 deletions(-)
--- linux-2615-mm4.orig/drivers/scsi/libata-acpi.c
+++ linux-2615-mm4/drivers/scsi/libata-acpi.c
@@ -302,7 +302,8 @@ EXPORT_SYMBOL_GPL(ata_acpi_push_id);
* function return value is 0.
*/
int do_drive_get_GTF(struct ata_port *ap, struct ata_device *atadev,
- unsigned int *gtf_length, unsigned long *gtf_address)
+ unsigned int *gtf_length, unsigned long *gtf_address,
+ unsigned long *obj_loc)
{
acpi_status status;
acpi_handle handle;
@@ -321,6 +322,7 @@ int do_drive_get_GTF(struct ata_port *ap
*gtf_length = 0;
*gtf_address = 0UL;
+ *obj_loc = 0UL;
if (noacpi)
return 0;
@@ -414,10 +416,11 @@ int do_drive_get_GTF(struct ata_port *ap
*gtf_length = out_obj->buffer.length;
*gtf_address = (unsigned long)out_obj->buffer.pointer;
+ *obj_loc = (unsigned long)out_obj;
if (ata_msg_probe(ap))
printk(KERN_DEBUG "%s: returning "
- "gtf_length=%d, gtf_address=0x%lx\n",
- __FUNCTION__, *gtf_length, *gtf_address);
+ "gtf_length=%d, gtf_address=0x%lx, obj_loc=0x%lx\n",
+ __FUNCTION__, *gtf_length, *gtf_address, *obj_loc);
err = 0;
out:
return err;
@@ -558,6 +561,7 @@ int ata_acpi_exec_tfs(struct ata_port *a
int ret;
unsigned int gtf_length;
unsigned long gtf_address;
+ unsigned long obj_loc;
if (ata_msg_probe(ap))
printk(KERN_DEBUG "%s: ENTER:\n", __FUNCTION__);
@@ -570,7 +574,7 @@ int ata_acpi_exec_tfs(struct ata_port *a
printk(KERN_DEBUG "%s: call get_GTF, ix=%d\n",
__FUNCTION__, ix);
ret = do_drive_get_GTF(ap, &ap->device[ix],
- >f_length, >f_address);
+ >f_length, >f_address, &obj_loc);
if (ret < 0) {
if (ata_msg_probe(ap))
printk(KERN_DEBUG "%s: get_GTF error (%d)\n",
@@ -583,7 +587,7 @@ int ata_acpi_exec_tfs(struct ata_port *a
__FUNCTION__, ix);
ret = do_drive_set_taskfiles(ap, &ap->device[ix],
gtf_length, gtf_address);
- acpi_os_free((void *)gtf_address);
+ acpi_os_free((void *)obj_loc);
if (ret < 0) {
if (ata_msg_probe(ap))
printk(KERN_DEBUG
--- linux-2615-mm4.orig/drivers/scsi/libata.h
+++ linux-2615-mm4/drivers/scsi/libata.h
@@ -64,7 +64,8 @@ extern unsigned int ata_exec_internal(st
#ifdef CONFIG_SCSI_SATA_ACPI
extern int ata_acpi_push_id(struct ata_port *ap, unsigned int ix);
extern int do_drive_get_GTF(struct ata_port *ap, struct ata_device *atadev,
- unsigned int *gtf_length, unsigned long *gtf_address);
+ unsigned int *gtf_length, unsigned long *gtf_address,
+ unsigned long *obj_loc);
extern int do_drive_set_taskfiles(struct ata_port *ap, struct ata_device *atadev,
unsigned int gtf_length, unsigned long gtf_address);
extern int ata_acpi_exec_tfs(struct ata_port *ap);
@@ -75,7 +76,8 @@ static inline int ata_acpi_push_id(struc
}
static inline int do_drive_get_GTF(struct ata_port *ap,
struct ata_device *atadev,
- unsigned int *gtf_length, unsigned long *gtf_address)
+ unsigned int *gtf_length, unsigned long *gtf_address,
+ unsigned long *obj_loc)
{
return 0;
}
---
~Randy [MPG MPAD MSAE SSA]
reply other threads:[~2006-01-17 20:13 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060117121356.2a0b8420.randy_d_dunlap@linux.intel.com \
--to=randy_d_dunlap@linux.intel.com \
--cc=Mathieu.Berard@crans.org \
--cc=akpm@osdl.org \
--cc=jgarzik@pobox.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®