OSDN Git Service

ALSA: hda - Fix non-snoop page handling
authorTakashi Iwai <tiwai@suse.de>
Tue, 29 Jan 2013 17:07:22 +0000 (18:07 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 29 Jan 2013 17:18:00 +0000 (18:18 +0100)
commit9ddf1aeb2134e72275c97a2c6ff2e3eb04f2f27a
tree887be5729e4e3987888ff554677241aea463a0c1
parentf748abcc5bf62de007019d841f7caba81cc3d673
ALSA: hda - Fix non-snoop page handling

For non-snoop mode, we fiddle with the page attributes of CORB/RIRB
and the position buffer, but also the ring buffers.  The problem is
that the current code blindly assumes that the buffer is contiguous.
However, the ring buffers may be SG-buffers, thus a wrong vmapped
address is passed there, leading to Oops.

This patch fixes the handling for SG-buffers.

Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=800701

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c