gpio: 104-dio-48e: Fix control port offset computation off-by-one error
authorWilliam Breathitt Gray <vilhelm.gray@gmail.com>
Thu, 2 Jun 2016 20:00:09 +0000 (16:00 -0400)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 8 Jun 2016 08:08:12 +0000 (10:08 +0200)
commitd15d6cf91695674fbabac3b1d2c8a269d9bab5c6
tree292389e5b2bc098989c727326858132af43450b0
parentaf8c34ce6ae32addda3788d54a7e340cad22516b
gpio: 104-dio-48e: Fix control port offset computation off-by-one error

There are only two control ports, each controlling three distinct I/O
ports. To compute the control port address offset for a respective I/O
port, the I/O port address offset should be divided by 3; dividing by 2
may result in not only the wrong address offset but possibly also an
out-of-bounds array memory access for a non-existent third control port.

Fixes: 1b06d64f7374 ("gpio: Add GPIO support for the ACCES 104-DIO-48E")
Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-104-dio-48e.c