hwmon fixes for v4.20-rc2
- Remove bogus __init annotations in ibmpowernv driver - Fix double-free in error handling of __hwmon_device_register() -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJb4enqAAoJEMsfJm/On5mBcX4QAJntHN4e0jXYqe6kY0lq5DBT pvL43WoqkpjM5//vOzyLXBAvM2nlZvisCBPGVnB9TD0kPZ8cdG00SEuwrOXyt8Pr RoTbiPXV4PY3t2Ksmm8KPmbkysbAJMKsNsfGCQqy3HK+8OrbHjgsrBvdrDF9bCDO d4tPttVidZuTx4X7+kSCkpwUqTslOFw1kcOs4meGSPi1lHphwRXwI2+pC/fgz+IQ voqG5v20fJEZ6AM9rVEn/qRQubNGmBxenMyo5LuPjwJzTLo6xtVgdE6zGtxiKeJE NIgJxKvwFAdVsHOqMU1O+THsi7l1HefMK0K/1vS1X49UOnwE/CcOLznxRfdd9yqm dxaqqnTrUQ453HCjnlT79FSQPINAWDMsyu7ztsHQ2864rfkCZgpiEPDtvt15rT/K f5QutzRYOO2bma+tSumprlAU3TXnXuTohbFBxis+384N1VuBtxwJ63dY3cG9Ed6v xCOqxndB/y8epHErujFBSX1NO5NE8bU3W9eW7CITrqrxclUuG9F5RkKDbyFYyRnk HNR7RB2SBF5M4XdZQwjH+IGR9j288ChUGKbzEJNDVFbTfdD29Sw6MbSS4dmkNepL 9KKdBWEu/Q2py5Z0SXpY+kAwIl3MIixZ0Uofqt43R9KGdHZaBRxuKrcd8Kppsu7A 4OZxBtHSF9Z9MAWvDTiv =MwAW -----END PGP SIGNATURE----- Merge tag 'hwmon-for-v4.20-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon fixes from Guenter Roeck: - Remove bogus __init annotations in ibmpowernv driver - Fix double-free in error handling of __hwmon_device_register() * tag 'hwmon-for-v4.20-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (ibmpowernv) Remove bogus __init annotations hwmon: (core) Fix double-free in __hwmon_device_register()
This commit is contained in:
Коммит
85758777c2
|
@ -649,8 +649,10 @@ __hwmon_device_register(struct device *dev, const char *name, void *drvdata,
|
||||||
if (info[i]->config[j] & HWMON_T_INPUT) {
|
if (info[i]->config[j] & HWMON_T_INPUT) {
|
||||||
err = hwmon_thermal_add_sensor(dev,
|
err = hwmon_thermal_add_sensor(dev,
|
||||||
hwdev, j);
|
hwdev, j);
|
||||||
if (err)
|
if (err) {
|
||||||
goto free_device;
|
device_unregister(hdev);
|
||||||
|
goto ida_remove;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -658,8 +660,6 @@ __hwmon_device_register(struct device *dev, const char *name, void *drvdata,
|
||||||
|
|
||||||
return hdev;
|
return hdev;
|
||||||
|
|
||||||
free_device:
|
|
||||||
device_unregister(hdev);
|
|
||||||
free_hwmon:
|
free_hwmon:
|
||||||
kfree(hwdev);
|
kfree(hwdev);
|
||||||
ida_remove:
|
ida_remove:
|
||||||
|
|
|
@ -181,7 +181,7 @@ static ssize_t show_label(struct device *dev, struct device_attribute *devattr,
|
||||||
return sprintf(buf, "%s\n", sdata->label);
|
return sprintf(buf, "%s\n", sdata->label);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __init get_logical_cpu(int hwcpu)
|
static int get_logical_cpu(int hwcpu)
|
||||||
{
|
{
|
||||||
int cpu;
|
int cpu;
|
||||||
|
|
||||||
|
@ -192,9 +192,8 @@ static int __init get_logical_cpu(int hwcpu)
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init make_sensor_label(struct device_node *np,
|
static void make_sensor_label(struct device_node *np,
|
||||||
struct sensor_data *sdata,
|
struct sensor_data *sdata, const char *label)
|
||||||
const char *label)
|
|
||||||
{
|
{
|
||||||
u32 id;
|
u32 id;
|
||||||
size_t n;
|
size_t n;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче