From d08c8dba1e21b0d935905a7422e16f465a032224 Mon Sep 17 00:00:00 2001 From: Thomas Bächler Date: Sat, 4 Jul 2009 01:06:48 +0200 Subject: Update to 2.6.30.1 --- PATCHCFG | 10 ++-- ...pping-regression-introduced-in-2.6.30-rc8.patch | 61 ---------------------- 2 files changed, 3 insertions(+), 68 deletions(-) delete mode 100644 patches/sound-skipping-regression-introduced-in-2.6.30-rc8.patch diff --git a/PATCHCFG b/PATCHCFG index 6250a42..230df8b 100644 --- a/PATCHCFG +++ b/PATCHCFG @@ -9,8 +9,8 @@ SRCNAME="linux-2.6.30-ARCH" # or # filename%patchlevel (file must be in patches/ subdirectory) PATCHES=( - # add upstream patch from 2.6.29 series - #ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.1.bz2%1 + # add upstream patch from 2.6.30 series + ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.1.bz2%1 # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git @@ -32,16 +32,12 @@ PATCHES=( # fix wmi stack acer crash wmi.patch%1 - # fix intel sound regression - # http://bugs.archlinux.org/task/15114 - sound-skipping-regression-introduced-in-2.6.30-rc8.patch%1 - # add aufs2 support, in reference to: # http://aufs.sourceforge.net aufs2-20090611.patch%1 ) # Name of the resulting patch (will be bzipped afterwards) -PATCHNAME="patch-2.6.30-5-ARCH" +PATCHNAME="patch-2.6.30.1-1-ARCH" # Run this before applying patches pre_apply() { diff --git a/patches/sound-skipping-regression-introduced-in-2.6.30-rc8.patch b/patches/sound-skipping-regression-introduced-in-2.6.30-rc8.patch deleted file mode 100644 index 3175d41..0000000 --- a/patches/sound-skipping-regression-introduced-in-2.6.30-rc8.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c -index 173bebf..8aa5687 100644 ---- a/sound/pci/intel8x0.c -+++ b/sound/pci/intel8x0.c -@@ -356,8 +356,6 @@ struct ichdev { - unsigned int position; - unsigned int pos_shift; - unsigned int last_pos; -- unsigned long last_pos_jiffies; -- unsigned int jiffy_to_bytes; - int frags; - int lvi; - int lvi_frag; -@@ -844,7 +842,6 @@ static int snd_intel8x0_pcm_trigger(struct snd_pcm_substream *substream, int cmd - case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: - val = ICH_IOCE | ICH_STARTBM; - ichdev->last_pos = ichdev->position; -- ichdev->last_pos_jiffies = jiffies; - break; - case SNDRV_PCM_TRIGGER_SUSPEND: - ichdev->suspended = 1; -@@ -1048,7 +1045,6 @@ static int snd_intel8x0_pcm_prepare(struct snd_pcm_substream *substream) - ichdev->pos_shift = (runtime->sample_bits > 16) ? 2 : 1; - } - snd_intel8x0_setup_periods(chip, ichdev); -- ichdev->jiffy_to_bytes = (runtime->rate * 4 * ichdev->pos_shift) / HZ; - return 0; - } - -@@ -1073,19 +1069,23 @@ static snd_pcm_uframes_t snd_intel8x0_pcm_pointer(struct snd_pcm_substream *subs - ptr1 == igetword(chip, ichdev->reg_offset + ichdev->roff_picb)) - break; - } while (timeout--); -+ ptr = ichdev->last_pos; - if (ptr1 != 0) { - ptr1 <<= ichdev->pos_shift; - ptr = ichdev->fragsize1 - ptr1; - ptr += position; -- ichdev->last_pos = ptr; -- ichdev->last_pos_jiffies = jiffies; -- } else { -- ptr1 = jiffies - ichdev->last_pos_jiffies; -- if (ptr1) -- ptr1 -= 1; -- ptr = ichdev->last_pos + ptr1 * ichdev->jiffy_to_bytes; -- ptr %= ichdev->size; -+ if (ptr < ichdev->last_pos) { -+ unsigned int pos_base, last_base; -+ pos_base = position / ichdev->fragsize1; -+ last_base = ichdev->last_pos / ichdev->fragsize1; -+ /* another sanity check; ptr1 can go back to full -+ * before the base position is updated -+ */ -+ if (pos_base == last_base) -+ ptr = ichdev->last_pos; -+ } - } -+ ichdev->last_pos = ptr; - spin_unlock(&chip->reg_lock); - if (ptr >= ichdev->size) - return 0; -- cgit v1.2.3-54-g00ecf