Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'sound-4.12-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
"Nothing exciting here, just a few stable fixes:

- suppress spurious kernel WARNING in PCM core

- fix potential spin deadlock at error handling in firewire

- HD-audio PCI ID addition / fixup"

* tag 'sound-4.12-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: hda - Apply quirks to Broxton-T, too
ALSA: firewire-lib: Fix stall of process context at packet error
ALSA: pcm: Don't treat NULL chmap as a fatal error
ALSA: hda - Add Coffelake PCI ID

+17 -8
+2 -2
sound/core/pcm_lib.c
··· 2492 2492 struct snd_pcm_substream *substream; 2493 2493 const struct snd_pcm_chmap_elem *map; 2494 2494 2495 - if (snd_BUG_ON(!info->chmap)) 2495 + if (!info->chmap) 2496 2496 return -EINVAL; 2497 2497 substream = snd_pcm_chmap_substream(info, idx); 2498 2498 if (!substream) ··· 2524 2524 unsigned int __user *dst; 2525 2525 int c, count = 0; 2526 2526 2527 - if (snd_BUG_ON(!info->chmap)) 2527 + if (!info->chmap) 2528 2528 return -EINVAL; 2529 2529 if (size < 8) 2530 2530 return -ENOMEM;
+6 -2
sound/firewire/amdtp-stream.c
··· 682 682 cycle = increment_cycle_count(cycle, 1); 683 683 if (s->handle_packet(s, 0, cycle, i) < 0) { 684 684 s->packet_index = -1; 685 - amdtp_stream_pcm_abort(s); 685 + if (in_interrupt()) 686 + amdtp_stream_pcm_abort(s); 687 + WRITE_ONCE(s->pcm_buffer_pointer, SNDRV_PCM_POS_XRUN); 686 688 return; 687 689 } 688 690 } ··· 736 734 /* Queueing error or detecting invalid payload. */ 737 735 if (i < packets) { 738 736 s->packet_index = -1; 739 - amdtp_stream_pcm_abort(s); 737 + if (in_interrupt()) 738 + amdtp_stream_pcm_abort(s); 739 + WRITE_ONCE(s->pcm_buffer_pointer, SNDRV_PCM_POS_XRUN); 740 740 return; 741 741 } 742 742
+1 -1
sound/firewire/amdtp-stream.h
··· 135 135 /* For a PCM substream processing. */ 136 136 struct snd_pcm_substream *pcm; 137 137 struct tasklet_struct period_tasklet; 138 - unsigned int pcm_buffer_pointer; 138 + snd_pcm_uframes_t pcm_buffer_pointer; 139 139 unsigned int pcm_period_pointer; 140 140 141 141 /* To wait for first packet. */
+8 -3
sound/pci/hda/hda_intel.c
··· 370 370 #define IS_KBL_LP(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9d71) 371 371 #define IS_KBL_H(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa2f0) 372 372 #define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98) 373 + #define IS_BXT_T(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x1a98) 373 374 #define IS_GLK(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x3198) 374 - #define IS_SKL_PLUS(pci) (IS_SKL(pci) || IS_SKL_LP(pci) || IS_BXT(pci)) || \ 375 - IS_KBL(pci) || IS_KBL_LP(pci) || IS_KBL_H(pci) || \ 376 - IS_GLK(pci) 375 + #define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348) 376 + #define IS_SKL_PLUS(pci) (IS_SKL(pci) || IS_SKL_LP(pci) || IS_BXT(pci) || \ 377 + IS_BXT_T(pci) || IS_KBL(pci) || IS_KBL_LP(pci) || \ 378 + IS_KBL_H(pci) || IS_GLK(pci) || IS_CFL(pci)) 377 379 378 380 static char *driver_short_names[] = { 379 381 [AZX_DRIVER_ICH] = "HDA Intel", ··· 2380 2378 /* Kabylake-H */ 2381 2379 { PCI_DEVICE(0x8086, 0xa2f0), 2382 2380 .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_SKYLAKE }, 2381 + /* Coffelake */ 2382 + { PCI_DEVICE(0x8086, 0xa348), 2383 + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_SKYLAKE}, 2383 2384 /* Broxton-P(Apollolake) */ 2384 2385 { PCI_DEVICE(0x8086, 0x5a98), 2385 2386 .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_BROXTON },