Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gpio: ws16c48: Fix off-by-one error in WS16C48 resource region extent

The WinSystems WS16C48 I/O address region spans offsets 0x0 through 0xA,
which is a total of 11 bytes. Fix the WS16C48_EXTENT define to the
correct value of 11 so that access to necessary device registers is
properly requested in the ws16c48_probe() callback by the
devm_request_region() function call.

Fixes: 2c05a0f29f41 ("gpio: ws16c48: Implement and utilize register structures")
Cc: stable@vger.kernel.org
Cc: Paul Demetrotion <pdemetrotion@winsystems.com>
Signed-off-by: William Breathitt Gray <william.gray@linaro.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

authored by

William Breathitt Gray and committed by
Bartosz Golaszewski
33f83d13 5a78d5db

+1 -1
+1 -1
drivers/gpio/gpio-ws16c48.c
··· 18 18 #include <linux/spinlock.h> 19 19 #include <linux/types.h> 20 20 21 - #define WS16C48_EXTENT 10 21 + #define WS16C48_EXTENT 11 22 22 #define MAX_NUM_WS16C48 max_num_isa_dev(WS16C48_EXTENT) 23 23 24 24 static unsigned int base[MAX_NUM_WS16C48];