diff options
Diffstat (limited to 'sound/core/control.c')
| -rw-r--r-- | sound/core/control.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/core/control.c b/sound/core/control.c index f3e893715369..a7271927d875 100644 --- a/sound/core/control.c +++ b/sound/core/control.c @@ -385,14 +385,14 @@ static bool elem_id_matches(const struct snd_kcontrol *kctl,  #define MULTIPLIER	37  static unsigned long get_ctl_id_hash(const struct snd_ctl_elem_id *id)  { +	int i;  	unsigned long h; -	const unsigned char *p;  	h = id->iface;  	h = MULTIPLIER * h + id->device;  	h = MULTIPLIER * h + id->subdevice; -	for (p = id->name; *p; p++) -		h = MULTIPLIER * h + *p; +	for (i = 0; i < SNDRV_CTL_ELEM_ID_NAME_MAXLEN && id->name[i]; i++) +		h = MULTIPLIER * h + id->name[i];  	h = MULTIPLIER * h + id->index;  	h &= LONG_MAX;  	return h;  | 
