Message ID | 20220216225304.53911-5-djrscally@gmail.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | Add multiple-consumer support to int3472-tps68470 driver | expand |
Hi, On 2/16/22 23:53, Daniel Scally wrote: > Without the terminator, if a con_id is passed to gpio_find() that > does not exist in the lookup table the function will not stop looping > correctly, and eventually cause an oops. > > Fixes: 1596ef1251b5 ("platform/x86: int3472: Pass tps68470_regulator_platform_data to the tps68470-regulator MFD-cell") > Signed-off-by: Daniel Scally <djrscally@gmail.com> > --- > drivers/platform/x86/intel/int3472/tps68470_board_data.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/platform/x86/intel/int3472/tps68470_board_data.c b/drivers/platform/x86/intel/int3472/tps68470_board_data.c > index f93d437fd192..525f09a3b5ff 100644 > --- a/drivers/platform/x86/intel/int3472/tps68470_board_data.c > +++ b/drivers/platform/x86/intel/int3472/tps68470_board_data.c > @@ -100,7 +100,8 @@ static struct gpiod_lookup_table surface_go_tps68470_gpios = { > .dev_id = "i2c-INT347A:00", > .table = { > GPIO_LOOKUP("tps68470-gpio", 9, "reset", GPIO_ACTIVE_LOW), > - GPIO_LOOKUP("tps68470-gpio", 7, "powerdown", GPIO_ACTIVE_LOW) > + GPIO_LOOKUP("tps68470-gpio", 7, "powerdown", GPIO_ACTIVE_LOW), > + { } > } > }; > Oops, I'll got and apply this to pdx86/for-next and pdx86/fixes right away. Please drop this from the next version of the series. Regards, Hans
Hi, On 2/16/22 23:53, Daniel Scally wrote: > Without the terminator, if a con_id is passed to gpio_find() that > does not exist in the lookup table the function will not stop looping > correctly, and eventually cause an oops. > > Fixes: 1596ef1251b5 ("platform/x86: int3472: Pass tps68470_regulator_platform_data to the tps68470-regulator MFD-cell") This fixes tag is wrong, that sha does not exist? See: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/drivers/platform/x86/intel/int3472/tps68470_board_data.c I've updated the hash to 19d8d6e36b4b while merging this. Regards, Hans > Signed-off-by: Daniel Scally <djrscally@gmail.com> > --- > drivers/platform/x86/intel/int3472/tps68470_board_data.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/platform/x86/intel/int3472/tps68470_board_data.c b/drivers/platform/x86/intel/int3472/tps68470_board_data.c > index f93d437fd192..525f09a3b5ff 100644 > --- a/drivers/platform/x86/intel/int3472/tps68470_board_data.c > +++ b/drivers/platform/x86/intel/int3472/tps68470_board_data.c > @@ -100,7 +100,8 @@ static struct gpiod_lookup_table surface_go_tps68470_gpios = { > .dev_id = "i2c-INT347A:00", > .table = { > GPIO_LOOKUP("tps68470-gpio", 9, "reset", GPIO_ACTIVE_LOW), > - GPIO_LOOKUP("tps68470-gpio", 7, "powerdown", GPIO_ACTIVE_LOW) > + GPIO_LOOKUP("tps68470-gpio", 7, "powerdown", GPIO_ACTIVE_LOW), > + { } > } > }; >
diff --git a/drivers/platform/x86/intel/int3472/tps68470_board_data.c b/drivers/platform/x86/intel/int3472/tps68470_board_data.c index f93d437fd192..525f09a3b5ff 100644 --- a/drivers/platform/x86/intel/int3472/tps68470_board_data.c +++ b/drivers/platform/x86/intel/int3472/tps68470_board_data.c @@ -100,7 +100,8 @@ static struct gpiod_lookup_table surface_go_tps68470_gpios = { .dev_id = "i2c-INT347A:00", .table = { GPIO_LOOKUP("tps68470-gpio", 9, "reset", GPIO_ACTIVE_LOW), - GPIO_LOOKUP("tps68470-gpio", 7, "powerdown", GPIO_ACTIVE_LOW) + GPIO_LOOKUP("tps68470-gpio", 7, "powerdown", GPIO_ACTIVE_LOW), + { } } };
Without the terminator, if a con_id is passed to gpio_find() that does not exist in the lookup table the function will not stop looping correctly, and eventually cause an oops. Fixes: 1596ef1251b5 ("platform/x86: int3472: Pass tps68470_regulator_platform_data to the tps68470-regulator MFD-cell") Signed-off-by: Daniel Scally <djrscally@gmail.com> --- drivers/platform/x86/intel/int3472/tps68470_board_data.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)