On Thu, 13 Apr 2017 16:32:25 -0700, Dmitry Torokhov wrote:
> The name field in structure i2c_device_id is 20 characters, and we expect
> it to be NULL-terminated, however we are trying to stuff it with 21 bytes
> and thus NULL-terminator is lost. This causes issues when one creates
> device with name "MICROCHIP_AR1021_I2C" as i2c core cuts off the last "C",
> and automatic module loading by alias does not work as result.
> 
> The -I2C suffix in the device name is superfluous, we know what bus we are
> dealing with, so let's drop it. Also, no other driver uses capitals, and
> the manufacturer name is normally not included, except in very rare cases
> of incompatible name collisions.
> 
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=116211
> Fixes: dd4cae8bf166 ("Input: Add Microchip AR1021 i2c touchscreen")
> Signed-off-by: Dmitry Torokhov <dmitry.torok...@gmail.com>
> ---
> 
> V2: Changed MICROCHIP_AR1021 -> ar1021 as Jean suggested.
> 
>  drivers/input/touchscreen/ar1021_i2c.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> (...)

Reviewed-by: Jean Delvare <jdelv...@suse.de>

> diff --git a/drivers/input/touchscreen/ar1021_i2c.c 
> b/drivers/input/touchscreen/ar1021_i2c.c
> index 2e7500edd477..6797e123925a 100644
> --- a/drivers/input/touchscreen/ar1021_i2c.c
> +++ b/drivers/input/touchscreen/ar1021_i2c.c
> @@ -151,7 +151,7 @@ static int __maybe_unused ar1021_i2c_resume(struct device 
> *dev)
>  static SIMPLE_DEV_PM_OPS(ar1021_i2c_pm, ar1021_i2c_suspend, 
> ar1021_i2c_resume);
>  
>  static const struct i2c_device_id ar1021_i2c_id[] = {
> -     { "MICROCHIP_AR1021_I2C", 0 },
> +     { "ar1021", 0 },
>       { },
>  };
>  MODULE_DEVICE_TABLE(i2c, ar1021_i2c_id);


-- 
Jean Delvare
SUSE L3 Support

Reply via email to