aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses/i2c-viapro.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/i2c/busses/i2c-viapro.c')
-rw-r--r--drivers/i2c/busses/i2c-viapro.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-viapro.c b/drivers/i2c/busses/i2c-viapro.c
index c9ce77f13c0e..661ebc7a711e 100644
--- a/drivers/i2c/busses/i2c-viapro.c
+++ b/drivers/i2c/busses/i2c-viapro.c
@@ -318,6 +318,10 @@ static int __devinit vt596_probe(struct pci_dev *pdev,
318 unsigned char temp; 318 unsigned char temp;
319 int error = -ENODEV; 319 int error = -ENODEV;
320 320
321 /* driver_data might come from user-space, so check it */
322 if (id->driver_data & 1 || id->driver_data > 0xff)
323 return -EINVAL;
324
321 /* Determine the address of the SMBus areas */ 325 /* Determine the address of the SMBus areas */
322 if (force_addr) { 326 if (force_addr) {
323 vt596_smba = force_addr & 0xfff0; 327 vt596_smba = force_addr & 0xfff0;
@@ -455,6 +459,7 @@ static struct pci_driver vt596_driver = {
455 .name = "vt596_smbus", 459 .name = "vt596_smbus",
456 .id_table = vt596_ids, 460 .id_table = vt596_ids,
457 .probe = vt596_probe, 461 .probe = vt596_probe,
462 .dynids.use_driver_data = 1,
458}; 463};
459 464
460static int __init i2c_vt596_init(void) 465static int __init i2c_vt596_init(void)