Messages in this thread | | | Date | Tue, 1 Mar 2011 15:57:46 +0100 (CET) | From | Jiri Kosina <> | Subject | Re: [PATCH v2] dcdbas: force SMI to happen when expected |
| |
On Thu, 24 Feb 2011, stuart h wrote:
> This is a reworked version of a very similar patch I sent about three > weeks ago... a flaw was pointed out with the original. That patch > didn't make it into the kernel, though, so I'm just sending this one as > a new patch. > > The dcdbas driver can do an I/O write to cause a SMI to occur. The SMI > handler looks at certain registers and memory locations, so the SMI > needs to happen immediately. On some systems I/O writes are posted, > though, causing the SMI to happen well after the "outb" occurred, which > causes random failures. Following the "outb" with an "inb" forces the > write to go through even if it is posted. > > This patch is against the 2.6.37.1 kernel. > > Signed-off-by: Stuart Hayes <stuart_hayes@yahoo.com>
As this doesn't seem to be picked up ... Douglas, can I have your Acked-by: please, so that I could merge it (as Acked by maintainer?).
Thanks.
> --- linux-2.6.37/drivers/firmware/dcdbas.c 2011-01-18 10:44:44.869882461 -0500 > +++ linux-2.6.37_test/drivers/firmware/dcdbas.c 2011-02-24 13:23:58.663771596 -0500 > @@ -268,8 +268,10 @@ int dcdbas_smi_request(struct smi_cmd *s > } > > /* generate SMI */ > + /* inb to force posted write through and make SMI happen now */ > asm volatile ( > - "outb %b0,%w1" > + "outb %b0,%w1\n" > + "inb %w1" > : /* no output args */ > : "a" (smi_cmd->command_code), > "d" (smi_cmd->command_address), > > >
-- Jiri Kosina SUSE Labs, Novell Inc.
| |