Currently the driver does not call request_region() prior to accessing IO port regions in f71805f_init(), so add it. Signed-off-by: John Garry <john.garry@xxxxxxxxxx> --- drivers/hwmon/f71805f.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/hwmon/f71805f.c b/drivers/hwmon/f71805f.c index 73c681162653..910082c7f184 100644 --- a/drivers/hwmon/f71805f.c +++ b/drivers/hwmon/f71805f.c @@ -1617,10 +1617,21 @@ static int __init f71805f_init(void) int err; unsigned short address; struct f71805f_sio_data sio_data; + struct resource *res; + size_t size = 0x4e - 0x2e + SIO_REG_ADDR + 4; + + /* Request the whole 0x2e - 0x4e region */ + res = request_region(0x2e, size, "f71805f"); + if (!res) + return -EBUSY; if (f71805f_find(0x2e, &address, &sio_data) - && f71805f_find(0x4e, &address, &sio_data)) + && f71805f_find(0x4e, &address, &sio_data)) { + release_region(0x2e, size); return -ENODEV; + } + + release_region(0x2e, size); err = platform_driver_register(&f71805f_driver); if (err) -- 2.17.1