r2596 - in trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches: . series
Sven Luther
luther@costa.debian.org
Fri, 04 Mar 2005 11:02:04 +0100
Author: luther
Date: 2005-03-04 11:02:04 +0100 (Fri, 04 Mar 2005)
New Revision: 2596
Removed:
trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/alsa-emu10k1-ioctl-fix.dpatch
Modified:
trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/series/2.6.11-1
Log:
removed another upstream patch.
Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/alsa-emu10k1-ioctl-fix.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/alsa-emu10k1-ioctl-fix.dpatch 2005-03-04 09:59:48 UTC (rev 2595)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/alsa-emu10k1-ioctl-fix.dpatch 2005-03-04 10:02:04 UTC (rev 2596)
@@ -1,428 +0,0 @@
-#! /bin/sh -e
-## alsa-emu10k1-ioctl-fix.dpatch by Sven Luther <luther@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: fixes emu10k1_fx8010_code_t structure using indirect pointers
-## DP: to be less than 8192 bytes to follow the ioctl semantics and thus not break
-## DP: powerpc builds. Userland ioctl value is still changed.
-## DP: Patch author: Jaroslav Kysela <perex@suse.cz>
-## DP: Upstream status: backport (1.1938.268.16, 1.1938.271.2, 1.1938.329.35 and 1.1938.329.43).
-
-. $(dirname $0)/DPATCH
-
-@DPATCH@
-diff -urNad linux-source-2.6.10-2.6.10/include/sound/emu10k1.h /usr/src/dpatchtemp/dpep.Zb4KzG/linux-source-2.6.10-2.6.10/include/sound/emu10k1.h
---- linux-source-2.6.10-2.6.10/include/sound/emu10k1.h 2005-01-14 12:19:12.000000000 +0100
-+++ /usr/src/dpatchtemp/dpep.Zb4KzG/linux-source-2.6.10-2.6.10/include/sound/emu10k1.h 2005-01-14 14:18:31.481220080 +0100
-@@ -1334,7 +1334,7 @@
- char name[128];
-
- DECLARE_BITMAP(gpr_valid, 0x200); /* bitmask of valid initializers */
-- unsigned int gpr_map[0x200]; /* initializers */
-+ u_int32_t __user *gpr_map; /* initializers */
-
- unsigned int gpr_add_control_count; /* count of GPR controls to add/replace */
- emu10k1_fx8010_control_gpr_t __user *gpr_add_controls; /* GPR controls to add/replace */
-@@ -1347,11 +1347,11 @@
- emu10k1_fx8010_control_gpr_t __user *gpr_list_controls; /* listed GPR controls */
-
- DECLARE_BITMAP(tram_valid, 0x100); /* bitmask of valid initializers */
-- unsigned int tram_data_map[0x100]; /* data initializers */
-- unsigned int tram_addr_map[0x100]; /* map initializers */
-+ u_int32_t __user *tram_data_map; /* data initializers */
-+ u_int32_t __user *tram_addr_map; /* map initializers */
-
- DECLARE_BITMAP(code_valid, 1024); /* bitmask of valid instructions */
-- unsigned int code[1024][2]; /* one instruction - 64 bits */
-+ u_int32_t __user *code; /* one instruction - 64 bits */
- } emu10k1_fx8010_code_t;
-
- typedef struct {
-diff -urNad linux-source-2.6.10-2.6.10/sound/pci/emu10k1/emufx.c /usr/src/dpatchtemp/dpep.Zb4KzG/linux-source-2.6.10-2.6.10/sound/pci/emu10k1/emufx.c
---- linux-source-2.6.10-2.6.10/sound/pci/emu10k1/emufx.c 2005-01-14 12:19:12.000000000 +0100
-+++ /usr/src/dpatchtemp/dpep.Zb4KzG/linux-source-2.6.10-2.6.10/sound/pci/emu10k1/emufx.c 2005-01-14 14:18:54.712688360 +0100
-@@ -437,7 +437,7 @@
- }
-
- int snd_emu10k1_fx8010_unregister_irq_handler(emu10k1_t *emu,
-- snd_emu10k1_fx8010_irq_t *irq)
-+ snd_emu10k1_fx8010_irq_t *irq)
- {
- snd_emu10k1_fx8010_irq_t *tmp;
- unsigned long flags;
-@@ -470,8 +470,8 @@
- {
- snd_assert(*ptr < 512, return);
- set_bit(*ptr, icode->code_valid);
-- icode->code[*ptr ][0] = ((x & 0x3ff) << 10) | (y & 0x3ff);
-- icode->code[(*ptr)++][1] = ((op & 0x0f) << 20) | ((r & 0x3ff) << 10) | (a & 0x3ff);
-+ icode->code[(*ptr) * 2 + 0] = ((x & 0x3ff) << 10) | (y & 0x3ff);
-+ icode->code[(*ptr)++ * 2 + 1] = ((op & 0x0f) << 20) | ((r & 0x3ff) << 10) | (a & 0x3ff);
- }
-
- #define OP(icode, ptr, op, r, a, x, y) \
-@@ -482,8 +482,8 @@
- {
- snd_assert(*ptr < 1024, return);
- set_bit(*ptr, icode->code_valid);
-- icode->code[*ptr ][0] = ((x & 0x7ff) << 12) | (y & 0x7ff);
-- icode->code[(*ptr)++][1] = ((op & 0x0f) << 24) | ((r & 0x7ff) << 12) | (a & 0x7ff);
-+ icode->code[(*ptr) * 2 + 0] = ((x & 0x7ff) << 12) | (y & 0x7ff);
-+ icode->code[(*ptr)++ * 2 + 1] = ((op & 0x0f) << 24) | ((r & 0x7ff) << 12) | (a & 0x7ff);
- }
-
- #define A_OP(icode, ptr, op, r, a, x, y) \
-@@ -501,83 +501,108 @@
- return snd_emu10k1_ptr_read(emu, pc, 0);
- }
-
--static void snd_emu10k1_gpr_poke(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
-+static int snd_emu10k1_gpr_poke(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
- {
- int gpr;
-+ u32 val;
-
- for (gpr = 0; gpr < (emu->audigy ? 0x200 : 0x100); gpr++) {
- if (!test_bit(gpr, icode->gpr_valid))
- continue;
-- snd_emu10k1_ptr_write(emu, emu->gpr_base + gpr, 0, icode->gpr_map[gpr]);
-+ if (get_user(val, &icode->gpr_map[gpr]))
-+ return -EFAULT;
-+ snd_emu10k1_ptr_write(emu, emu->gpr_base + gpr, 0, val);
- }
-+ return 0;
- }
-
--static void snd_emu10k1_gpr_peek(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
-+static int snd_emu10k1_gpr_peek(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
- {
- int gpr;
-+ u32 val;
-
- for (gpr = 0; gpr < (emu->audigy ? 0x200 : 0x100); gpr++) {
- set_bit(gpr, icode->gpr_valid);
-- icode->gpr_map[gpr] = snd_emu10k1_ptr_read(emu, emu->gpr_base + gpr, 0);
-+ val = snd_emu10k1_ptr_read(emu, emu->gpr_base + gpr, 0);
-+ if (put_user(val, &icode->gpr_map[gpr]))
-+ return -EFAULT;
- }
-+ return 0;
- }
-
--static void snd_emu10k1_tram_poke(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
-+static int snd_emu10k1_tram_poke(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
- {
- int tram;
-+ u32 addr, val;
-
- for (tram = 0; tram < (emu->audigy ? 0x100 : 0xa0); tram++) {
- if (!test_bit(tram, icode->tram_valid))
- continue;
-- snd_emu10k1_ptr_write(emu, TANKMEMDATAREGBASE + tram, 0, icode->tram_data_map[tram]);
-- if (!emu->audigy)
-- snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + tram, 0, icode->tram_addr_map[tram]);
-- else {
-- snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + tram, 0, icode->tram_addr_map[tram] << 12);
-- snd_emu10k1_ptr_write(emu, A_TANKMEMCTLREGBASE + tram, 0, icode->tram_addr_map[tram] >> 20);
-+ if (get_user(val, &icode->tram_data_map[tram]) ||
-+ get_user(addr, &icode->tram_addr_map[tram]))
-+ return -EFAULT;
-+ snd_emu10k1_ptr_write(emu, TANKMEMDATAREGBASE + tram, 0, val);
-+ if (!emu->audigy) {
-+ snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + tram, 0, addr);
-+ } else {
-+ snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + tram, 0, addr << 12);
-+ snd_emu10k1_ptr_write(emu, A_TANKMEMCTLREGBASE + tram, 0, addr >> 20);
- }
- }
-+ return 0;
- }
-
--static void snd_emu10k1_tram_peek(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
-+static int snd_emu10k1_tram_peek(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
- {
- int tram;
-+ u32 val, addr;
-
- memset(icode->tram_valid, 0, sizeof(icode->tram_valid));
- for (tram = 0; tram < (emu->audigy ? 0x100 : 0xa0); tram++) {
- set_bit(tram, icode->tram_valid);
-- icode->tram_data_map[tram] = snd_emu10k1_ptr_read(emu, TANKMEMDATAREGBASE + tram, 0);
-- if (!emu->audigy)
-- icode->tram_addr_map[tram] = snd_emu10k1_ptr_read(emu, TANKMEMADDRREGBASE + tram, 0);
-- else {
-- icode->tram_addr_map[tram] = snd_emu10k1_ptr_read(emu, TANKMEMADDRREGBASE + tram, 0) >> 12;
-- icode->tram_addr_map[tram] |= snd_emu10k1_ptr_read(emu, A_TANKMEMCTLREGBASE + tram, 0) << 20;
-+ val = snd_emu10k1_ptr_read(emu, TANKMEMDATAREGBASE + tram, 0);
-+ if (!emu->audigy) {
-+ addr = snd_emu10k1_ptr_read(emu, TANKMEMADDRREGBASE + tram, 0);
-+ } else {
-+ addr = snd_emu10k1_ptr_read(emu, TANKMEMADDRREGBASE + tram, 0) >> 12;
-+ addr |= snd_emu10k1_ptr_read(emu, A_TANKMEMCTLREGBASE + tram, 0) << 20;
- }
-+ if (put_user(val, &icode->tram_data_map[tram]) ||
-+ put_user(addr, &icode->tram_addr_map[tram]))
-+ return -EFAULT;
- }
-+ return 0;
- }
-
--static void snd_emu10k1_code_poke(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
-+static int snd_emu10k1_code_poke(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
- {
-- u32 pc;
-+ u32 pc, lo, hi;
-
-- for (pc = 0; pc < (emu->audigy ? 1024 : 512); pc++) {
-- if (!test_bit(pc, icode->code_valid))
-+ for (pc = 0; pc < (emu->audigy ? 2*1024 : 2*512); pc += 2) {
-+ if (!test_bit(pc / 2, icode->code_valid))
- continue;
-- snd_emu10k1_efx_write(emu, pc * 2, icode->code[pc][0]);
-- snd_emu10k1_efx_write(emu, pc * 2 + 1, icode->code[pc][1]);
-+ if (get_user(lo, &icode->code[pc + 0]) ||
-+ get_user(hi, &icode->code[pc + 1]))
-+ return -EFAULT;
-+ snd_emu10k1_efx_write(emu, pc + 0, lo);
-+ snd_emu10k1_efx_write(emu, pc + 1, hi);
- }
-+ return 0;
- }
-
--static void snd_emu10k1_code_peek(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
-+static int snd_emu10k1_code_peek(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
- {
- u32 pc;
-
- memset(icode->code_valid, 0, sizeof(icode->code_valid));
-- for (pc = 0; pc < (emu->audigy ? 1024 : 512); pc++) {
-- set_bit(pc, icode->code_valid);
-- icode->code[pc][0] = snd_emu10k1_efx_read(emu, pc * 2);
-- icode->code[pc][1] = snd_emu10k1_efx_read(emu, pc * 2 + 1);
-+ for (pc = 0; pc < (emu->audigy ? 2*1024 : 2*512); pc += 2) {
-+ set_bit(pc / 2, icode->code_valid);
-+ if (put_user(snd_emu10k1_efx_read(emu, pc + 0), &icode->code[pc + 0]))
-+ return -EFAULT;
-+ if (put_user(snd_emu10k1_efx_read(emu, pc + 1), &icode->code[pc + 1]))
-+ return -EFAULT;
- }
-+ return 0;
- }
-
- static snd_emu10k1_fx8010_ctl_t *snd_emu10k1_look_for_ctl(emu10k1_t *emu, snd_ctl_elem_id_t *id)
-@@ -647,7 +672,7 @@
- kfree(ctl);
- }
-
--static void snd_emu10k1_add_controls(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
-+static int snd_emu10k1_add_controls(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
- {
- unsigned int i, j;
- emu10k1_fx8010_control_gpr_t __user *_gctl;
-@@ -656,17 +681,20 @@
- snd_kcontrol_new_t knew;
- snd_kcontrol_t *kctl;
- snd_ctl_elem_value_t *val;
-+ int err = 0;
-
- val = (snd_ctl_elem_value_t *)kmalloc(sizeof(*val), GFP_KERNEL);
- if (!val)
-- return;
-+ return -ENOMEM;
- for (i = 0, _gctl = icode->gpr_add_controls;
- i < icode->gpr_add_control_count; i++, _gctl++) {
-- if (copy_from_user(&gctl, _gctl, sizeof(gctl)))
-- break;
-+ if (copy_from_user(&gctl, _gctl, sizeof(gctl))) {
-+ err = -EFAULT;
-+ goto __error;
-+ }
- snd_runtime_check(gctl.id.iface == SNDRV_CTL_ELEM_IFACE_MIXER ||
-- gctl.id.iface == SNDRV_CTL_ELEM_IFACE_PCM, continue);
-- snd_runtime_check(gctl.id.name[0] != '\0', continue);
-+ gctl.id.iface == SNDRV_CTL_ELEM_IFACE_PCM, err = -EINVAL; goto __error);
-+ snd_runtime_check(gctl.id.name[0] != '\0', err = -EINVAL; goto __error);
- ctl = snd_emu10k1_look_for_ctl(emu, &gctl.id);
- memset(&knew, 0, sizeof(knew));
- knew.iface = gctl.id.iface;
-@@ -694,9 +722,9 @@
- continue;
- knew.private_value = (unsigned long)ctl;
- memcpy(ctl, &nctl, sizeof(nctl));
-- if (snd_ctl_add(emu->card, kctl = snd_ctl_new1(&knew, emu)) < 0) {
-+ if ((err = snd_ctl_add(emu->card, kctl = snd_ctl_new1(&knew, emu))) < 0) {
- kfree(ctl);
-- continue;
-+ goto __error;
- }
- kctl->private_free = snd_emu10k1_ctl_private_free;
- ctl->kcontrol = kctl;
-@@ -711,10 +739,12 @@
- }
- snd_emu10k1_gpr_ctl_put(ctl->kcontrol, val);
- }
-+ __error:
- kfree(val);
-+ return err;
- }
-
--static void snd_emu10k1_del_controls(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
-+static int snd_emu10k1_del_controls(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
- {
- unsigned int i;
- snd_ctl_elem_id_t id;
-@@ -724,13 +754,14 @@
-
- for (i = 0, _id = icode->gpr_del_controls;
- i < icode->gpr_del_control_count; i++, _id++) {
-- snd_runtime_check(copy_from_user(&id, _id, sizeof(id)) == 0, continue);
-+ snd_runtime_check(copy_from_user(&id, _id, sizeof(id)) == 0, return -EFAULT);
- down_write(&card->controls_rwsem);
- ctl = snd_emu10k1_look_for_ctl(emu, &id);
- if (ctl)
- snd_ctl_remove(card, ctl->kcontrol);
- up_write(&card->controls_rwsem);
- }
-+ return 0;
- }
-
- static int snd_emu10k1_list_controls(emu10k1_t *emu, emu10k1_fx8010_code_t *icode)
-@@ -789,11 +820,12 @@
- else
- snd_emu10k1_ptr_write(emu, DBG, 0, emu->fx8010.dbg | EMU10K1_DBG_SINGLE_STEP);
- /* ok, do the main job */
-- snd_emu10k1_del_controls(emu, icode);
-- snd_emu10k1_gpr_poke(emu, icode);
-- snd_emu10k1_tram_poke(emu, icode);
-- snd_emu10k1_code_poke(emu, icode);
-- snd_emu10k1_add_controls(emu, icode);
-+ if ((err = snd_emu10k1_del_controls(emu, icode)) < 0 ||
-+ (err = snd_emu10k1_gpr_poke(emu, icode)) < 0 ||
-+ (err = snd_emu10k1_tram_poke(emu, icode)) < 0 ||
-+ (err = snd_emu10k1_code_poke(emu, icode)) < 0 ||
-+ (err = snd_emu10k1_add_controls(emu, icode)) < 0)
-+ goto __error;
- /* start FX processor when the DSP code is updated */
- if (emu->audigy)
- snd_emu10k1_ptr_write(emu, A_DBG, 0, emu->fx8010.dbg);
-@@ -811,10 +843,13 @@
- down(&emu->fx8010.lock);
- strlcpy(icode->name, emu->fx8010.name, sizeof(icode->name));
- /* ok, do the main job */
-- snd_emu10k1_gpr_peek(emu, icode);
-- snd_emu10k1_tram_peek(emu, icode);
-- snd_emu10k1_code_peek(emu, icode);
-- err = snd_emu10k1_list_controls(emu, icode);
-+ err = snd_emu10k1_gpr_peek(emu, icode);
-+ if (err >= 0)
-+ err = snd_emu10k1_tram_peek(emu, icode);
-+ if (err >= 0)
-+ err = snd_emu10k1_code_peek(emu, icode);
-+ if (err >= 0)
-+ err = snd_emu10k1_list_controls(emu, icode);
- up(&emu->fx8010.lock);
- return err;
- }
-@@ -957,20 +992,24 @@
- const int stereo_mix = capture + 2;
- const int tmp = 0x88;
- u32 ptr;
-- emu10k1_fx8010_code_t *icode;
-- emu10k1_fx8010_control_gpr_t *controls, *ctl;
-+ emu10k1_fx8010_code_t *icode = NULL;
-+ emu10k1_fx8010_control_gpr_t *controls = NULL, *ctl;
- mm_segment_t seg;
-
- spin_lock_init(&emu->fx8010.irq_lock);
- INIT_LIST_HEAD(&emu->fx8010.gpr_ctl);
-
-- if ((icode = kcalloc(1, sizeof(*icode), GFP_KERNEL)) == NULL)
-- return -ENOMEM;
-- if ((controls = kcalloc(SND_EMU10K1_GPR_CONTROLS, sizeof(*controls), GFP_KERNEL)) == NULL) {
-- kfree(icode);
-- return -ENOMEM;
-+ if ((icode = kcalloc(1, sizeof(*icode), GFP_KERNEL)) == NULL ||
-+ (icode->gpr_map = kcalloc(512 + 256 + 256 + 2 * 1024, sizeof(u_int32_t), GFP_KERNEL)) == NULL ||
-+ (controls = kcalloc(SND_EMU10K1_GPR_CONTROLS, sizeof(*controls), GFP_KERNEL)) == NULL) {
-+ err = -ENOMEM;
-+ goto __err;
- }
-
-+ icode->tram_data_map = icode->gpr_map + 512;
-+ icode->tram_addr_map = icode->tram_data_map + 256;
-+ icode->code = icode->tram_addr_map + 256;
-+
- /* clear free GPRs */
- for (i = 0; i < 512; i++)
- set_bit(i, icode->gpr_valid);
-@@ -1335,8 +1374,13 @@
- snd_leave_user(seg);
-
- __err:
-- kfree(controls);
-- kfree(icode);
-+ if (controls != NULL)
-+ kfree(controls);
-+ if (icode != NULL) {
-+ if (icode->gpr_map != NULL)
-+ kfree(icode->gpr_map);
-+ kfree(icode);
-+ }
- return err;
- }
-
-@@ -1398,8 +1442,8 @@
- int err, i, z, gpr, tmp, playback, capture;
- u32 ptr;
- emu10k1_fx8010_code_t *icode;
-- emu10k1_fx8010_pcm_t *ipcm;
-- emu10k1_fx8010_control_gpr_t *controls, *ctl;
-+ emu10k1_fx8010_pcm_t *ipcm = NULL;
-+ emu10k1_fx8010_control_gpr_t *controls = NULL, *ctl;
- mm_segment_t seg;
-
- spin_lock_init(&emu->fx8010.irq_lock);
-@@ -1407,15 +1451,16 @@
-
- if ((icode = kcalloc(1, sizeof(*icode), GFP_KERNEL)) == NULL)
- return -ENOMEM;
-- if ((controls = kcalloc(SND_EMU10K1_GPR_CONTROLS, sizeof(emu10k1_fx8010_control_gpr_t), GFP_KERNEL)) == NULL) {
-- kfree(icode);
-- return -ENOMEM;
-- }
-- if ((ipcm = kcalloc(1, sizeof(*ipcm), GFP_KERNEL)) == NULL) {
-- kfree(controls);
-- kfree(icode);
-- return -ENOMEM;
-+ if ((icode->gpr_map = kcalloc(256 + 160 + 160 + 2 * 512, sizeof(u_int32_t), GFP_KERNEL)) == NULL ||
-+ (controls = kcalloc(SND_EMU10K1_GPR_CONTROLS, sizeof(emu10k1_fx8010_control_gpr_t), GFP_KERNEL)) == NULL ||
-+ (ipcm = kcalloc(1, sizeof(*ipcm), GFP_KERNEL)) == NULL) {
-+ err = -ENOMEM;
-+ goto __err;
- }
-+
-+ icode->tram_data_map = icode->gpr_map + 256;
-+ icode->tram_addr_map = icode->tram_data_map + 160;
-+ icode->code = icode->tram_addr_map + 160;
-
- /* clear free GPRs */
- for (i = 0; i < 256; i++)
-@@ -1906,9 +1951,15 @@
- if (err >= 0)
- err = snd_emu10k1_ipcm_poke(emu, ipcm);
- __err:
-- kfree(ipcm);
-- kfree(controls);
-- kfree(icode);
-+ if (ipcm != NULL)
-+ kfree(ipcm);
-+ if (controls != NULL)
-+ kfree(controls);
-+ if (icode != NULL) {
-+ if (icode->gpr_map != NULL)
-+ kfree(icode->gpr_map);
-+ kfree(icode);
-+ }
- return err;
- }
-
Modified: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/series/2.6.11-1
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/series/2.6.11-1 2005-03-04 09:59:48 UTC (rev 2595)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/series/2.6.11-1 2005-03-04 10:02:04 UTC (rev 2596)
@@ -49,7 +49,6 @@
+ drivers-ide-__devinit.dpatch
+ fix-mxser-compile.dpatch
+ fix-alpha-ext3-oops.dpatch
-+ alsa-emu10k1-ioctl-fix.dpatch
+ modular-vesafb.dpatch
+ cmsg-compat-signedness-fix-fix.dpatch
+ scsi-ioctl.dpatch