linux/drivers/hwmon
Axel Lin 4f5b7994f0 hwmon: (gpio-fan) Fix fan_ctrl_init error path
In current implementation, the sysfs entries is not removed before return -ENODEV.

Creating the sysfs attribute should be the last thing done by the function,
after all the rest has been successful.
Otherwise there is a small window during which user-space can access the attribute
but the driver isn't ready to deal with the requests.

Fix it by moving sysfs_create_group to be the last thing done by the function.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Simon Guinot <sguinot@lacie.com>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
2010-11-11 09:43:51 -08:00
..
abituguru3.c hwmon: Include <linux/io.h> instead of <asm/io.h> 2009-09-15 17:18:13 +02:00
abituguru.c hwmon: Include <linux/io.h> instead of <asm/io.h> 2009-09-15 17:18:13 +02:00
ad7414.c hwmon: (ad7414) Return proper error code for ad7414_probe() 2010-11-11 09:32:07 -08:00
ad7418.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
adcxx.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
adm1021.c i2c: Drop I2C_CLIENT_INSMOD_2 to 8 2009-12-14 21:17:27 +01:00
adm1025.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
adm1026.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
adm1029.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
adm1031.c hwmon: (adm1031) Replace update_rate sysfs attribute with update_interval 2010-09-17 17:24:14 +02:00
adm9240.c i2c: Drop I2C_CLIENT_INSMOD_2 to 8 2009-12-14 21:17:27 +01:00
ads7828.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
ads7871.c hwmon: (ads7871) Fix ads7871_probe error paths 2010-08-25 15:42:10 +02:00
adt7411.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
adt7462.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
adt7470.c hwmon: (adt7470) Return proper error code for adt7470_probe() 2010-11-11 09:32:07 -08:00
adt7475.c hwmon: I2C addresses are constant 2010-10-28 20:31:50 +02:00
amc6821.c hwmon: (amc6821) Double unlock bug 2010-01-25 15:00:49 +01:00
applesmc.c hwmon: (applesmc) Add temperature sensor labels to sysfs interface 2010-05-27 19:58:54 +02:00
asb100.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
asc7621.c hwmon: I2C addresses are constant 2010-10-28 20:31:50 +02:00
asus_atk0110.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
atxp1.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
coretemp.c hwmon: (coretemp) fix reading of microcode revision (v2) 2010-10-25 14:11:21 -07:00
dme1737.c hwmon: (dme1737) Add SCH5127 support 2010-05-27 19:59:01 +02:00
ds1621.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
emc1403.c hwmon: (emc1403) Remove unnecessary hwmon_device_unregister 2010-09-17 17:24:12 +02:00
emc2103.c hwmon: Add driver for SMSC EMC2103 temperature monitor and fan controller 2010-08-14 21:08:54 +02:00
f71805f.c hwmon: Include <linux/io.h> instead of <asm/io.h> 2009-09-15 17:18:13 +02:00
f71882fg.c hwmon: f71882fg: use a muxed resource lock for the Super I/O port 2010-10-03 05:57:04 -07:00
f75375s.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
fschmd.c drivers: autoconvert trivial BKL users to private mutex 2010-10-05 15:01:04 +02:00
g760a.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
gl518sm.c i2c: Drop I2C_CLIENT_INSMOD_2 to 8 2009-12-14 21:17:27 +01:00
gl520sm.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
gpio-fan.c hwmon: (gpio-fan) Fix fan_ctrl_init error path 2010-11-11 09:43:51 -08:00
hp_accel.c hwmon: (lis3) add axes module parameter for custom axis-mapping 2010-10-25 14:11:20 -07:00
hwmon-vid.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
hwmon.c hwmon: PCI quirk for hwmon access on MSI MS-7031 board 2009-06-15 18:39:50 +02:00
i5k_amb.c hwmon: (i5k_amb) Fix sysfs attribute for lockdep 2010-06-20 09:22:31 +02:00
ibmaem.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ibmpex.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
it87.c hwmon: (it87) Add support for the IT8721F/IT8758E 2010-10-28 20:31:51 +02:00
jc42.c hwmon: add support for JEDEC JC 42.4 compliant temperature sensors 2010-08-09 20:45:10 -07:00
jz4740-hwmon.c HWMON: Add JZ4740 ADC driver 2010-08-05 13:26:19 +01:00
k8temp.c hwmon: (k8temp) Remove superfluous CPU family check 2010-10-28 20:31:42 +02:00
k10temp.c hwmon: (k10temp) Do not blacklist known working CPU models 2010-06-20 09:22:31 +02:00
Kconfig hwmon: (it87) Add support for the IT8721F/IT8758E 2010-10-28 20:31:51 +02:00
lis3lv02d_i2c.c hwmon: lis3: Release resources in case of failure 2010-10-25 14:44:59 -07:00
lis3lv02d_spi.c hwmon: lis3: restore axis enabled bits 2010-10-25 14:11:38 -07:00
lis3lv02d.c hwmon: lis3: Enhance lis3 selftest with IRQ line test 2010-10-25 14:11:39 -07:00
lis3lv02d.h hwmon: lis3: Enhance lis3 selftest with IRQ line test 2010-10-25 14:11:39 -07:00
lm63.c hwmon: (lm63) Add basic support for LM64 2010-05-27 19:58:38 +02:00
lm70.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
lm73.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
lm75.c hwmon: (lm75) Trivial changes to pacify the checkpatch 2010-10-28 20:31:44 +02:00
lm75.h hwmon: (lm75) Add suspend/resume feature 2010-08-14 21:08:50 +02:00
lm77.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
lm78.c hwmon: (lm78) Request I/O ports individually for probing 2010-02-05 19:58:36 +01:00
lm80.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
lm83.c i2c: Drop I2C_CLIENT_INSMOD_2 to 8 2009-12-14 21:17:27 +01:00
lm85.c hwmon: (lm85) Add support for ADT7468 high-frequency PWM mode 2010-10-28 20:31:50 +02:00
lm87.c i2c: Drop I2C_CLIENT_INSMOD_2 to 8 2009-12-14 21:17:27 +01:00
lm90.c hwmon: (lm90) Add support for the W83L771W/G 2010-10-28 20:31:44 +02:00
lm92.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
lm93.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
lm95241.c hwmon: (lm95241) Replace rate sysfs attribute with update_interval 2010-09-17 17:24:15 +02:00
ltc4215.c ltc4215/ltc4245: Discard obsolete detect methods 2009-10-04 22:53:42 +02:00
ltc4245.c hwmon: (ltc4245) Expose all GPIO pins as analog voltages 2010-08-14 21:08:49 +02:00
ltc4261.c hwmon: (ltc4261) Fix error message format 2010-11-05 10:17:19 -07:00
Makefile Move ams driver to macintosh 2010-10-28 20:31:50 +02:00
max1111.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
max1619.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
max6650.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
mc13783-adc.c hwmon: Don't access struct mc13783 directly from mc13783-adc 2010-08-12 11:28:03 +02:00
pc87360.c hwmon: (pc87360) Fix device resource declaration 2010-08-14 21:08:48 +02:00
pc87427.c hwmon: (pc87427) Move sysfs file removal to a separate function 2010-08-14 21:09:00 +02:00
pcf8591.c hwmon: (pcf8591) Don't attempt to detect devices 2010-10-28 20:31:50 +02:00
pkgtemp.c hwmon: ({core, pkg, via-cpu}temp) remove unnecessary CONFIG_HOTPLUG_CPU ifdefs 2010-10-25 14:11:21 -07:00
s3c-hwmon.c hwmon: (s3c-hwmon) Use a real mutex 2010-10-28 20:31:44 +02:00
sht15.c hwmon: (sht15) Properly handle the case CONFIG_REGULATOR=n 2010-04-14 16:14:08 +02:00
sis5595.c hwmon: Make PCI device ids constant 2010-01-10 20:52:35 +01:00
smm665.c hwmon: driver for SMM665 Six-Channel Active DC Output Controller/Monitor 2010-08-09 20:45:10 -07:00
smsc47b397.c hwmon: Include <linux/io.h> instead of <asm/io.h> 2009-09-15 17:18:13 +02:00
smsc47m1.c hwmon: (smsc47m1) Fix section mismatch 2010-01-25 15:00:48 +01:00
smsc47m192.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
thmc50.c i2c: Drop I2C_CLIENT_INSMOD_2 to 8 2009-12-14 21:17:27 +01:00
tmp102.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
tmp401.c hwmon: (tmp401) Reorganize code to get rid of static forward declarations 2010-05-27 19:58:49 +02:00
tmp421.c hwmon: I2C addresses are constant 2010-10-28 20:31:50 +02:00
ultra45_env.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
via686a.c hwmon: Make PCI device ids constant 2010-01-10 20:52:35 +01:00
via-cputemp.c hwmon: ({core, pkg, via-cpu}temp) remove unnecessary CONFIG_HOTPLUG_CPU ifdefs 2010-10-25 14:11:21 -07:00
vt1211.c hwmon: Use resource_size 2009-09-15 17:18:13 +02:00
vt8231.c drivers/hwmon/vt8231.c: fix continuation line formats 2010-03-06 11:26:45 -08:00
w83l785ts.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
w83l786ng.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
w83627ehf.c hwmon: (w83627ehf) Use proper exit sequence 2010-09-17 17:24:13 +02:00
w83627hf.c hwmon: (w83627hf) Fix for "No such device" 2009-12-16 21:38:29 +01:00
w83781d.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
w83791d.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
w83792d.c i2c: Drop I2C_CLIENT_INSMOD_1 2009-12-14 21:17:26 +01:00
w83793.c drivers: autoconvert trivial BKL users to private mutex 2010-10-05 15:01:04 +02:00
w83795.c hwmon: (w83795) Use standard attributes for chassis intrusion 2010-10-28 20:31:49 +02:00
wm831x-hwmon.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wm8350-hwmon.c hwmon: Add WM835x PMIC hardware monitoring driver 2009-09-17 09:46:51 +02:00