Re: [PATCH 1/2] fix acpi ec read write bug

From: Zhao Yakui
Date: Thu Sep 11 2008 - 01:40:29 EST


On Thu, 2008-09-11 at 12:49 +0800, Kevin Hao wrote:
> On Thu, 2008-09-11 at 12:07 +0800, Zhao Yakui wrote:
> > On Thu, 2008-09-11 at 11:17 +0800, Kevin Hao wrote:
> > > Fill in command unit of transaction_data structure, otherwise
> > > gpe_transaction will skip read or write instruction.
> > >
> > > Signed-off-by: Kevin Hao <kexin.hao@xxxxxxxxxxxxx>
> > > ---
> > > drivers/acpi/ec.c | 1 +
> > > 1 files changed, 1 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
> > > index bd3555c..0c65e82 100644
> > > --- a/drivers/acpi/ec.c
> > > +++ b/drivers/acpi/ec.c
> > > @@ -240,6 +240,7 @@ static int acpi_ec_transaction_unlocked(struct acpi_ec *ec, u8 command,
> > > }
> > > atomic_set(&ec->irq_count, 0);
> > > /* fill in transaction structure */
> > > + ec->t.command = command;
> > It is also OK to add this explicitly. In fact the ec->t.command will be
> > assigned in the function of acpi_ec_write_cmd.
>
> NO, I am using the latest linux-next kernel and I don't found
> ec->t.command is assigned in acpi_ec_write_cmd function.

static inline void acpi_ec_write_cmd(struct acpi_ec *ec, u8 command)
{
pr_debug(PREFIX "<--- command = 0x%2.2x\n", command);
- outb(command, ec->command_addr);
+ outb((ec->t.command = command), ec->command_addr);
}

It is very obscure so that it is not easy to understand.
> Thanks,
> Kevin
>
> >
> > Thanks.
> > > ec->t.wdata = wdata;
> > > ec->t.wlen = wdata_len;
> > > ec->t.rdata = rdata;
> >

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/