eeprom: at24: make spd world-readable again
authorJean Delvare <jdelvare@suse.de>
Sun, 28 Jul 2019 16:41:38 +0000 (18:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 6 Aug 2019 16:29:42 +0000 (18:29 +0200)
commit 25e5ef302c24a6fead369c0cfe88c073d7b97ca8 upstream.

The integration of the at24 driver into the nvmem framework broke the
world-readability of spd EEPROMs. Fix it.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: stable@vger.kernel.org
Fixes: 57d155506dd5 ("eeprom: at24: extend driver to plug into the NVMEM framework")
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
[Bartosz: backported the patch to older branches]
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/eeprom/at24.c

index a37b9b6..2eef811 100644 (file)
@@ -777,7 +777,7 @@ static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id)
        at24->nvmem_config.name = dev_name(&client->dev);
        at24->nvmem_config.dev = &client->dev;
        at24->nvmem_config.read_only = !writable;
-       at24->nvmem_config.root_only = true;
+       at24->nvmem_config.root_only = !(chip.flags & AT24_FLAG_IRUGO);
        at24->nvmem_config.owner = THIS_MODULE;
        at24->nvmem_config.compat = true;
        at24->nvmem_config.base_dev = &client->dev;