public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH]: x86_64, audio: Fix system panic when DMA > 40 bits
@ 2013-05-01 19:04 Mike Travis
  2013-05-02  6:20 ` David Henningsson
  0 siblings, 1 reply; 8+ messages in thread
From: Mike Travis @ 2013-05-01 19:04 UTC (permalink / raw)
  To: Jaroslav Kysela, Takashi Iwai
  Cc: Pierre-Louis Bossart, David Henningsson, alsa-devel, linux-kernel,
	Russ Anderson, Mike Travis

The audio driver mistakenly allows 64 bit addresses to be created for
the audio driver on Nvidia GPUs.  Unfortunately, the hardware normally
only supports up to 40 bits of DMA.  This can cause system panics as
well as misdirected data when the address is > 40 bits as the upper
part the address is truncated.

Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Mike Habeck <habeck@sgi.com>
---
 sound/pci/hda/hda_intel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index bcd40ee..45eb165 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -615,7 +615,7 @@ enum {
 /* quirks for Nvidia */
 #define AZX_DCAPS_PRESET_NVIDIA \
 	(AZX_DCAPS_NVIDIA_SNOOP | AZX_DCAPS_RIRB_DELAY | AZX_DCAPS_NO_MSI |\
-	 AZX_DCAPS_ALIGN_BUFSIZE)
+	 AZX_DCAPS_ALIGN_BUFSIZE | AZX_DCAPS_NO_64BIT)
 
 #define AZX_DCAPS_PRESET_CTHDA \
 	(AZX_DCAPS_NO_MSI | AZX_DCAPS_POSFIX_LPIB | AZX_DCAPS_4K_BDLE_BOUNDARY)
-- 
1.8.2.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-05-03  9:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-01 19:04 [PATCH]: x86_64, audio: Fix system panic when DMA > 40 bits Mike Travis
2013-05-02  6:20 ` David Henningsson
2013-05-02  6:36   ` Mike Travis
2013-05-02  8:29     ` David Henningsson
2013-05-02 16:19       ` Mike Travis
2013-05-03  9:55     ` Takashi Iwai
2013-05-02 18:20   ` Stephen Warren
2013-05-02 18:59     ` Mike Travis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox