Re: Will there ever be EMC6w201 support?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 13 May 2011 14:48:01 +0200, Luca Tettamanti wrote:
> On Thu, May 12, 2011 at 05:49:44PM -0600, Harry G McGavran Jr wrote:
> > I went back through the logs to make sure there was nothing
> > about the latest i8k in them.  Actually I found only ONE
> > line in syslog:
> > 
> > May 11 11:07:12 XX kernel: [173400.479332]  [<ffffffffa00613f2>] 
> > i8k_hwmon_show_fan+0x32/0x40 [i8k]
> 
> Ok, this is consistent with the hung program reported by Jeff, there's
> an error at kernel level while the sensor is being read.
> 
> AMD64 Architecture Manual says that:
> 
>  (pushf) In 64-bit mode, this instruction defaults to a 64-bit operand
>  size and there is no prefix available to encode a 32-bit operand size.

D'oh. I suspected something like this, but given that pushfq exists, I
assumed pushf had to be different. I guess I shouldn't have assumed...

> 
> so my patch may be corrupting the stack. Lets try like this:
> 
> diff --git a/drivers/char/i8k.c b/drivers/char/i8k.c
> index d72433f..ee01716 100644
> --- a/drivers/char/i8k.c
> +++ b/drivers/char/i8k.c
> @@ -139,8 +139,8 @@ static int i8k_smm(struct smm_regs *regs)
>  		"movl %%edi,20(%%rax)\n\t"
>  		"popq %%rdx\n\t"
>  		"movl %%edx,0(%%rax)\n\t"
> -		"lahf\n\t"
> -		"shrl $8,%%eax\n\t"
> +		"pushfq\n\t"
> +		"popq %%rax\n\t"
>  		"andl $1,%%eax\n"
>  		:"=a"(rc)
>  		:    "a"(regs)
> 
> 
> If it still doesn't work we should involve someone who actually has a
> clue about x86 asm ;)

Hopefully it will work OK this time. I've updated the driver at:
  http://khali.linux-fr.org/devel/misc/i8k/
Harry, Jeff, care to try again? Thanks.

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors


[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux