[sebastian.hesselbarth@xxxxxxxxxxxxxxxxxxxx: i2c-sis5595.c, kernel 2.6.10]

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

 



----- Forwarded message from Sebastian Hesselbarth <sebastian.hesselbarth at stud.uni-hannover.de> -----

From: Sebastian Hesselbarth <sebastian.hesselbarth at stud.uni-hannover.de>
To: Frodo Looijaard <frodol at dds.nl>
Subject: i2c-sis5595.c, kernel 2.6.10
X-Virus-Scanned: ClamAV 0.80/646/Thu Dec 30 20:42:35 2004
	clamav-milter version 0.80j
	on morannon.frodo.local
X-Virus-Scanned: amavisd-new isd-holland.nl
X-Virus-Status: Clean
X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on 
	morannon.frodo.local
X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DNS_FROM_RFC_WHOIS 
	autolearn=no version=3.0.2
X-Spam-Level: 

Hi,

I am currently debugging your i2c-sis5595 module because my brother 
asked me why his sis540/5595 chipset is not recognized by this module.
I figured out that your setup code _may_ contain bugs especially when 
reading from pci config registers. I searched the web an found out that 
pci_read_config_xxx() returns 0 on success and negative values on error.
IMHO if you check the result like this:

if (!pci_read_config_byte(SIS5595_dev, SIS5595_ENABLE_REG, &val))
  goto error;

the if-clause fails on successful reads, too!
I changed this to:
myret = pci_read_config_byte(SIS5595_dev, SIS5595_ENABLE_REG, &val);

and printed myret and val to stdout. As expected myret is 0 and val 
contains 0xF8 which is the correct value for acpi and other stuff enabled.

Maybe you should consider to check for values lower than 0 !?

Please correct me if I am wrong, because I am not very firm at C and 
device driver development ;)

Regards,

Sebastian Hesselbarth

----- End forwarded message -----

-- 
Frodo Looijaard <frodol at dds.nl>  PGP key and more: http://huizen.dds.nl/~frodol
Defenestration n. (formal or joc.):
  The act of removing Windows from your computer in disgust, usually followed
  by the installation of Linux or some other Unix-like operating system.



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

  Powered by Linux