On Wed, Mar 24, 2010 at 10:29:42AM +0100, Jean Delvare wrote: > On Tue, 23 Mar 2010 15:12:15 +0100, Giel van Schijndel wrote: >> static u16 f71882fg_read_temp(struct f71882fg_data *data, int nr) >> @@ -2184,6 +2178,13 @@ static int __init f71882fg_find(int sioaddr, unsigned short *address, >> int err = -ENODEV; >> u16 devid; >> >> + /* Don't step on other driver's I/O space by accident */ >> + if (!request_region(sioaddr, 2, DRVNAME)) { >> + printk(KERN_ERR DRVNAME ": I/O address 0x%04x already in use\n", >> + (int)sioaddr); >> + return -EIO; > > This is the wrong error code. This isn't an I/O error. You want -EBUSY. Ack. New patch follows this line. ======================================================================== hwmon: f71882fg: acquire I/O regions while we're working with them Acquire the I/O region for the Super I/O chip while we're working on it. Signed-off-by: Giel van Schijndel <me@xxxxxxxxx> --- drivers/hwmon/f71882fg.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/drivers/hwmon/f71882fg.c b/drivers/hwmon/f71882fg.c index ca34e5c..537841e 100644 --- a/drivers/hwmon/f71882fg.c +++ b/drivers/hwmon/f71882fg.c @@ -2178,6 +2178,13 @@ static int __init f71882fg_find(int sioaddr, unsigned short *address, int err = -ENODEV; u16 devid; + /* Don't step on other drivers' I/O space by accident */ + if (!request_region(sioaddr, 2, DRVNAME)) { + printk(KERN_ERR DRVNAME ": I/O address 0x%04x already in use\n", + (int)sioaddr); + return -EBUSY; + } + superio_enter(sioaddr); devid = superio_inw(sioaddr, SIO_REG_MANID); @@ -2232,6 +2239,7 @@ static int __init f71882fg_find(int sioaddr, unsigned short *address, (int)superio_inb(sioaddr, SIO_REG_DEVREV)); exit: superio_exit(sioaddr); + release_region(sioaddr, 2); return err; } -- 1.6.4.4 -- Met vriendelijke groet, With kind regards, Giel van Schijndel
Attachment:
signature.asc
Description: Digital signature
_______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors