diff options
author | Takashi Iwai <tiwai@suse.de> | 2018-01-15 10:45:11 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2018-01-15 10:45:15 -0500 |
commit | 4ea5553a51e55664f86bed29e62e67ecb45bedd8 (patch) | |
tree | ea63c963555b083858c581385ff5bfb24413caca | |
parent | 33193dca671c8b75eb030234cefdcd2ceebd7516 (diff) | |
parent | b3defb791b26ea0683a93a4f49c77ec45ec96f10 (diff) |
Merge branch 'for-linus' into for-next
Back-merge to the development branch for further fixes of sequencer
stuff.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/core/pcm_lib.c | 1 | ||||
-rw-r--r-- | sound/core/seq/seq_clientmgr.c | 3 | ||||
-rw-r--r-- | sound/core/seq/seq_clientmgr.h | 1 | ||||
-rw-r--r-- | sound/pci/hda/patch_cirrus.c | 1 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 1 |
5 files changed, 6 insertions, 1 deletions
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index 32e33e75f3cb..a83152e7d387 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c | |||
@@ -560,7 +560,6 @@ static inline unsigned int muldiv32(unsigned int a, unsigned int b, | |||
560 | { | 560 | { |
561 | u_int64_t n = (u_int64_t) a * b; | 561 | u_int64_t n = (u_int64_t) a * b; |
562 | if (c == 0) { | 562 | if (c == 0) { |
563 | snd_BUG_ON(!n); | ||
564 | *r = 0; | 563 | *r = 0; |
565 | return UINT_MAX; | 564 | return UINT_MAX; |
566 | } | 565 | } |
diff --git a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c index 6e22eea72654..d01913404581 100644 --- a/sound/core/seq/seq_clientmgr.c +++ b/sound/core/seq/seq_clientmgr.c | |||
@@ -221,6 +221,7 @@ static struct snd_seq_client *seq_create_client1(int client_index, int poolsize) | |||
221 | rwlock_init(&client->ports_lock); | 221 | rwlock_init(&client->ports_lock); |
222 | mutex_init(&client->ports_mutex); | 222 | mutex_init(&client->ports_mutex); |
223 | INIT_LIST_HEAD(&client->ports_list_head); | 223 | INIT_LIST_HEAD(&client->ports_list_head); |
224 | mutex_init(&client->ioctl_mutex); | ||
224 | 225 | ||
225 | /* find free slot in the client table */ | 226 | /* find free slot in the client table */ |
226 | spin_lock_irqsave(&clients_lock, flags); | 227 | spin_lock_irqsave(&clients_lock, flags); |
@@ -2130,7 +2131,9 @@ static long snd_seq_ioctl(struct file *file, unsigned int cmd, | |||
2130 | return -EFAULT; | 2131 | return -EFAULT; |
2131 | } | 2132 | } |
2132 | 2133 | ||
2134 | mutex_lock(&client->ioctl_mutex); | ||
2133 | err = handler->func(client, &buf); | 2135 | err = handler->func(client, &buf); |
2136 | mutex_unlock(&client->ioctl_mutex); | ||
2134 | if (err >= 0) { | 2137 | if (err >= 0) { |
2135 | /* Some commands includes a bug in 'dir' field. */ | 2138 | /* Some commands includes a bug in 'dir' field. */ |
2136 | if (handler->cmd == SNDRV_SEQ_IOCTL_SET_QUEUE_CLIENT || | 2139 | if (handler->cmd == SNDRV_SEQ_IOCTL_SET_QUEUE_CLIENT || |
diff --git a/sound/core/seq/seq_clientmgr.h b/sound/core/seq/seq_clientmgr.h index c6614254ef8a..0611e1e0ed5b 100644 --- a/sound/core/seq/seq_clientmgr.h +++ b/sound/core/seq/seq_clientmgr.h | |||
@@ -61,6 +61,7 @@ struct snd_seq_client { | |||
61 | struct list_head ports_list_head; | 61 | struct list_head ports_list_head; |
62 | rwlock_t ports_lock; | 62 | rwlock_t ports_lock; |
63 | struct mutex ports_mutex; | 63 | struct mutex ports_mutex; |
64 | struct mutex ioctl_mutex; | ||
64 | int convert32; /* convert 32->64bit */ | 65 | int convert32; /* convert 32->64bit */ |
65 | 66 | ||
66 | /* output pool */ | 67 | /* output pool */ |
diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c index 80bbadc83721..d6e079f4ec09 100644 --- a/sound/pci/hda/patch_cirrus.c +++ b/sound/pci/hda/patch_cirrus.c | |||
@@ -408,6 +408,7 @@ static const struct snd_pci_quirk cs420x_fixup_tbl[] = { | |||
408 | /*SND_PCI_QUIRK(0x8086, 0x7270, "IMac 27 Inch", CS420X_IMAC27),*/ | 408 | /*SND_PCI_QUIRK(0x8086, 0x7270, "IMac 27 Inch", CS420X_IMAC27),*/ |
409 | 409 | ||
410 | /* codec SSID */ | 410 | /* codec SSID */ |
411 | SND_PCI_QUIRK(0x106b, 0x0600, "iMac 14,1", CS420X_IMAC27_122), | ||
411 | SND_PCI_QUIRK(0x106b, 0x1c00, "MacBookPro 8,1", CS420X_MBP81), | 412 | SND_PCI_QUIRK(0x106b, 0x1c00, "MacBookPro 8,1", CS420X_MBP81), |
412 | SND_PCI_QUIRK(0x106b, 0x2000, "iMac 12,2", CS420X_IMAC27_122), | 413 | SND_PCI_QUIRK(0x106b, 0x2000, "iMac 12,2", CS420X_IMAC27_122), |
413 | SND_PCI_QUIRK(0x106b, 0x2800, "MacBookPro 10,1", CS420X_MBP101), | 414 | SND_PCI_QUIRK(0x106b, 0x2800, "MacBookPro 10,1", CS420X_MBP101), |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 440972975bd4..93d2ce891db6 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -6295,6 +6295,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { | |||
6295 | SND_PCI_QUIRK(0x1028, 0x075b, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE), | 6295 | SND_PCI_QUIRK(0x1028, 0x075b, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE), |
6296 | SND_PCI_QUIRK(0x1028, 0x075d, "Dell AIO", ALC298_FIXUP_SPK_VOLUME), | 6296 | SND_PCI_QUIRK(0x1028, 0x075d, "Dell AIO", ALC298_FIXUP_SPK_VOLUME), |
6297 | SND_PCI_QUIRK(0x1028, 0x0798, "Dell Inspiron 17 7000 Gaming", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER), | 6297 | SND_PCI_QUIRK(0x1028, 0x0798, "Dell Inspiron 17 7000 Gaming", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER), |
6298 | SND_PCI_QUIRK(0x1028, 0x082a, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE), | ||
6298 | SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), | 6299 | SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), |
6299 | SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), | 6300 | SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), |
6300 | SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2), | 6301 | SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2), |