Commit de81d2aa authored by David Brownell's avatar David Brownell Committed by Jean Delvare

i2c: Legacy i2c drivers shouldn't issue uevents

Prevent legacy drivers from issuing uevents for device creation/removal,
so that userspace can't cause modprobing loops for them.  This became a
problem for some legacy PC drivers.  I can't easily see it becoming an
issue with I2C legacy drivers, but consistency-in-paranoia seems likely
to be a good thing here.  For usable i2c-level driver model uevents, just
switch to a new-style driver.
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent d2579053
...@@ -697,9 +697,10 @@ int i2c_attach_client(struct i2c_client *client) ...@@ -697,9 +697,10 @@ int i2c_attach_client(struct i2c_client *client)
if (client->driver) if (client->driver)
client->dev.driver = &client->driver->driver; client->dev.driver = &client->driver->driver;
if (client->driver && !is_newstyle_driver(client->driver)) if (client->driver && !is_newstyle_driver(client->driver)) {
client->dev.release = i2c_client_release; client->dev.release = i2c_client_release;
else client->dev.uevent_suppress = 1;
} else
client->dev.release = i2c_client_dev_release; client->dev.release = i2c_client_dev_release;
snprintf(&client->dev.bus_id[0], sizeof(client->dev.bus_id), snprintf(&client->dev.bus_id[0], sizeof(client->dev.bus_id),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment