aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2018-01-15 10:45:11 -0500
committerTakashi Iwai <tiwai@suse.de>2018-01-15 10:45:15 -0500
commit4ea5553a51e55664f86bed29e62e67ecb45bedd8 (patch)
treeea63c963555b083858c581385ff5bfb24413caca
parent33193dca671c8b75eb030234cefdcd2ceebd7516 (diff)
parentb3defb791b26ea0683a93a4f49c77ec45ec96f10 (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.c1
-rw-r--r--sound/core/seq/seq_clientmgr.c3
-rw-r--r--sound/core/seq/seq_clientmgr.h1
-rw-r--r--sound/pci/hda/patch_cirrus.c1
-rw-r--r--sound/pci/hda/patch_realtek.c1
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),