Show
Ignore:
Timestamp:
06/16/02 21:42:16 (11 years ago)
Author:
mds
Message:

fix block w/ PEC termination

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/kernel/busses/i2c-i801.c

    r1395 r1399  
    2727    82801BA             2443            
    2828    82801CA/CAM         2483            
    29     82801DB             24C3            
     29    82801DB             24C3   (32 byte buffer and HW PEC not yet supported) 
    3030 
    3131    This driver supports several versions of Intel's I/O Controller Hubs (ICH). 
     
    547547#ifdef HAVE_PEC 
    548548        if(isich4 && command == I2C_SMBUS_BLOCK_DATA_PEC) { 
     549                /* wait for INTR bit as advised by Intel */ 
    549550                timeout = 0; 
    550551                do { 
    551552                        temp = inb_p(SMBHSTSTS); 
    552553                        i801_do_pause(1); 
    553                 } 
    554                     while ((!(temp & 0x80)) 
     554                } while ((!(temp & 0x02)) 
    555555                           && (timeout++ < MAX_TIMEOUT)); 
    556556 
    557                 /* If the SMBus is still busy, we give up */ 
    558557                if (timeout >= MAX_TIMEOUT) { 
    559 #ifdef DEBUG 
    560558                        printk(KERN_DEBUG "i2c-i801.o: PEC Timeout!\n"); 
    561 #endif 
    562559                } 
    563560                if(read_write == I2C_SMBUS_READ) { 
     
    565562                } 
    566563                outb_p(temp, SMBHSTSTS);  
    567                 printk("i2c-i801.o: sts = 0x%02x len = %d PEC = 0x%02x\n", temp, len, data->block[len + 1]); 
    568564        } 
    569565#endif