-
-@@ -551,6 +552,8 @@ static void process_fd_request(void);
- static void recalibrate_floppy(void);
- static void floppy_shutdown(unsigned long);
-
-+static int floppy_request_regions(int);
-+static void floppy_release_regions(int);
- static int floppy_grab_irq_and_dma(void);
- static void floppy_release_irq_and_dma(void);
-
-@@ -4273,8 +4276,7 @@ static int __init floppy_init(void)
- FDCS->rawcmd = 2;
- if (user_reset_fdc(-1, FD_RESET_ALWAYS, 0)) {
- /* free ioports reserved by floppy_grab_irq_and_dma() */
-- release_region(FDCS->address + 2, 4);
-- release_region(FDCS->address + 7, 1);
-+ floppy_release_regions(fdc);
- FDCS->address = -1;
- FDCS->version = FDC_NONE;
- continue;
-@@ -4283,8 +4285,7 @@ static int __init floppy_init(void)
- FDCS->version = get_fdc_version();
- if (FDCS->version == FDC_NONE) {
- /* free ioports reserved by floppy_grab_irq_and_dma() */
-- release_region(FDCS->address + 2, 4);
-- release_region(FDCS->address + 7, 1);
-+ floppy_release_regions(fdc);
- FDCS->address = -1;
- continue;
- }
-@@ -4357,6 +4358,47 @@ out_put_disk:
-
- static DEFINE_SPINLOCK(floppy_usage_lock);
-
-+static const struct io_region {
-+ int offset;
-+ int size;
-+} io_regions[] = {
-+ { 2, 1 },
-+ /* address + 3 is sometimes reserved by pnp bios for motherboard */
-+ { 4, 2 },
-+ /* address + 6 is reserved, and may be taken by IDE.
-+ * Unfortunately, Adaptec doesn't know this :-(, */
-+ { 7, 1 },
-+};
-+
-+static void floppy_release_allocated_regions(int fdc, const struct io_region *p)
-+{
-+ while (p != io_regions) {
-+ p--;
-+ release_region(FDCS->address + p->offset, p->size);
-+ }
-+}
-+
-+#define ARRAY_END(X) (&((X)[ARRAY_SIZE(X)]))
-+
-+static int floppy_request_regions(int fdc)
-+{
-+ const struct io_region *p;
-+
-+ for (p = io_regions; p < ARRAY_END(io_regions); p++) {
-+ if (!request_region(FDCS->address + p->offset, p->size, "floppy")) {
-+ DPRINT("Floppy io-port 0x%04lx in use\n", FDCS->address + p->offset);
-+ floppy_release_allocated_regions(fdc, p);
-+ return -EBUSY;
-+ }
-+ }
-+ return 0;
-+}
-+
-+static void floppy_release_regions(int fdc)
-+{
-+ floppy_release_allocated_regions(fdc, ARRAY_END(io_regions));
-+}
-+
- static int floppy_grab_irq_and_dma(void)
- {
- unsigned long flags;
-@@ -4398,18 +4440,8 @@ static int floppy_grab_irq_and_dma(void)
-
- for (fdc = 0; fdc < N_FDC; fdc++) {
- if (FDCS->address != -1) {
-- if (!request_region(FDCS->address + 2, 4, "floppy")) {
-- DPRINT("Floppy io-port 0x%04lx in use\n",
-- FDCS->address + 2);
-- goto cleanup1;
-- }
-- if (!request_region(FDCS->address + 7, 1, "floppy DIR")) {
-- DPRINT("Floppy io-port 0x%04lx in use\n",
-- FDCS->address + 7);
-- goto cleanup2;
-- }
-- /* address + 6 is reserved, and may be taken by IDE.
-- * Unfortunately, Adaptec doesn't know this :-(, */
-+ if (floppy_request_regions(fdc))
-+ goto cleanup;
- }
- }
- for (fdc = 0; fdc < N_FDC; fdc++) {
-@@ -4431,15 +4463,11 @@ static int floppy_grab_irq_and_dma(void)
- fdc = 0;
- irqdma_allocated = 1;
- return 0;
--cleanup2:
-- release_region(FDCS->address + 2, 4);
--cleanup1:
-+cleanup:
- fd_free_irq();
- fd_free_dma();
-- while (--fdc >= 0) {
-- release_region(FDCS->address + 2, 4);
-- release_region(FDCS->address + 7, 1);
-- }
-+ while (--fdc >= 0)
-+ floppy_release_regions(fdc);
- spin_lock_irqsave(&floppy_usage_lock, flags);
- usage_count--;
- spin_unlock_irqrestore(&floppy_usage_lock, flags);
-@@ -4500,10 +4528,8 @@ static void floppy_release_irq_and_dma(void)
- #endif
- old_fdc = fdc;
- for (fdc = 0; fdc < N_FDC; fdc++)
-- if (FDCS->address != -1) {
-- release_region(FDCS->address + 2, 4);
-- release_region(FDCS->address + 7, 1);
-- }
-+ if (FDCS->address != -1)
-+ floppy_release_regions(fdc);
- fdc = old_fdc;
- }
-
-@@ -4572,6 +4598,13 @@ MODULE_AUTHOR("Alain L. Knaff");
- MODULE_SUPPORTED_DEVICE("fd");
- MODULE_LICENSE("GPL");
-
-+/* This doesn't actually get used other than for module information */
-+static const struct pnp_device_id floppy_pnpids[] = {
-+ { "PNP0700", 0 },
-+ { }
-+};
-+MODULE_DEVICE_TABLE(pnp, floppy_pnpids);
-+
- #else
-
- __setup("floppy=", floppy_setup);
-diff --git a/drivers/char/moxa.c b/drivers/char/moxa.c
-index d3d7864..729be5e 100644
---- a/drivers/char/moxa.c
-+++ b/drivers/char/moxa.c
-@@ -1158,6 +1158,11 @@ static int moxa_open(struct tty_struct *tty, struct file *filp)
- return -ENODEV;
- }
-
-+ if (port % MAX_PORTS_PER_BOARD >= brd->numPorts) {
-+ retval = -ENODEV;
-+ goto out_unlock;
-+ }
-+
- ch = &brd->ports[port % MAX_PORTS_PER_BOARD];
- ch->port.count++;
- tty->driver_data = ch;
-@@ -1182,8 +1187,8 @@ static int moxa_open(struct tty_struct *tty, struct file *filp)
- moxa_close_port(ch);
- } else
- ch->port.flags |= ASYNC_NORMAL_ACTIVE;
-+out_unlock:
- mutex_unlock(&moxa_openlock);
--
- return retval;
- }
-
-diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c
-index b638403..ebda9a8 100644
---- a/drivers/char/mxser.c
-+++ b/drivers/char/mxser.c
-@@ -2790,7 +2790,7 @@ static int __init mxser_module_init(void)
- continue;
-
- brd = &mxser_boards[m];
-- retval = mxser_get_ISA_conf(!ioaddr[b], brd);
-+ retval = mxser_get_ISA_conf(ioaddr[b], brd);
- if (retval <= 0) {
- brd->info = NULL;
- continue;
-diff --git a/drivers/char/pcmcia/cm4000_cs.c b/drivers/char/pcmcia/cm4000_cs.c
-index f070ae7..0b255b9 100644
---- a/drivers/char/pcmcia/cm4000_cs.c
-+++ b/drivers/char/pcmcia/cm4000_cs.c
-@@ -1575,7 +1575,8 @@ static long cmm_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
- clear_bit(LOCK_IO, &dev->flags);
- wake_up_interruptible(&dev->ioq);
-
-- return 0;
-+ rc = 0;
-+ break;
- case CM_IOCSPTS:
- {
- struct ptsreq krnptsreq;
-diff --git a/drivers/firmware/memmap.c b/drivers/firmware/memmap.c
-index 3bf8ee1..a36e9aa 100644
---- a/drivers/firmware/memmap.c
-+++ b/drivers/firmware/memmap.c
-@@ -31,8 +31,12 @@
- * information is necessary as for the resource tree.
- */
- struct firmware_map_entry {
-- resource_size_t start; /* start of the memory range */
-- resource_size_t end; /* end of the memory range (incl.) */
-+ /*
-+ * start and end must be u64 rather than resource_size_t, because e820
-+ * resources can lie at addresses above 4G.
-+ */
-+ u64 start; /* start of the memory range */
-+ u64 end; /* end of the memory range (incl.) */
- const char *type; /* type of the memory range */
- struct list_head list; /* entry for the linked list */
- struct kobject kobj; /* kobject for each entry */
-@@ -101,7 +105,7 @@ static LIST_HEAD(map_entries);
- * Common implementation of firmware_map_add() and firmware_map_add_early()
- * which expects a pre-allocated struct firmware_map_entry.
- **/
--static int firmware_map_add_entry(resource_size_t start, resource_size_t end,
-+static int firmware_map_add_entry(u64 start, u64 end,
- const char *type,
- struct firmware_map_entry *entry)
- {
-@@ -132,8 +136,7 @@ static int firmware_map_add_entry(resource_size_t start, resource_size_t end,
- *
- * Returns 0 on success, or -ENOMEM if no memory could be allocated.
- **/
--int firmware_map_add(resource_size_t start, resource_size_t end,
-- const char *type)
-+int firmware_map_add(u64 start, u64 end, const char *type)
- {
- struct firmware_map_entry *entry;
-
-@@ -157,8 +160,7 @@ int firmware_map_add(resource_size_t start, resource_size_t end,
- *
- * Returns 0 on success, or -ENOMEM if no memory could be allocated.
- **/
--int __init firmware_map_add_early(resource_size_t start, resource_size_t end,
-- const char *type)
-+int __init firmware_map_add_early(u64 start, u64 end, const char *type)
- {
- struct firmware_map_entry *entry;
-
-diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c
-index 9559248..8c844a1 100644
---- a/drivers/infiniband/hw/mlx4/qp.c
-+++ b/drivers/infiniband/hw/mlx4/qp.c
-@@ -1563,12 +1563,16 @@ int mlx4_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
- break;
-
- case IB_WR_LOCAL_INV:
-+ ctrl->srcrb_flags |=
-+ cpu_to_be32(MLX4_WQE_CTRL_STRONG_ORDER);
- set_local_inv_seg(wqe, wr->ex.invalidate_rkey);
- wqe += sizeof (struct mlx4_wqe_local_inval_seg);
- size += sizeof (struct mlx4_wqe_local_inval_seg) / 16;
- break;
-
- case IB_WR_FAST_REG_MR:
-+ ctrl->srcrb_flags |=
-+ cpu_to_be32(MLX4_WQE_CTRL_STRONG_ORDER);
- set_fmr_seg(wqe, wr);
- wqe += sizeof (struct mlx4_wqe_fmr_seg);
- size += sizeof (struct mlx4_wqe_fmr_seg) / 16;
-diff --git a/drivers/isdn/hisax/hfc_pci.c b/drivers/isdn/hisax/hfc_pci.c
-index f126566..3d337d9 100644
---- a/drivers/isdn/hisax/hfc_pci.c
-+++ b/drivers/isdn/hisax/hfc_pci.c
-@@ -82,8 +82,9 @@ release_io_hfcpci(struct IsdnCardState *cs)
- Write_hfc(cs, HFCPCI_INT_M2, cs->hw.hfcpci.int_m2);
- pci_write_config_word(cs->hw.hfcpci.dev, PCI_COMMAND, 0); /* disable memory mapped ports + busmaster */
- del_timer(&cs->hw.hfcpci.timer);
-- kfree(cs->hw.hfcpci.share_start);
-- cs->hw.hfcpci.share_start = NULL;
-+ pci_free_consistent(cs->hw.hfcpci.dev, 0x8000,
-+ cs->hw.hfcpci.fifos, cs->hw.hfcpci.dma);
-+ cs->hw.hfcpci.fifos = NULL;
- iounmap((void *)cs->hw.hfcpci.pci_io);
- }
-
-@@ -1663,8 +1664,19 @@ setup_hfcpci(struct IsdnCard *card)
- dev_hfcpci);
- i++;
- if (tmp_hfcpci) {
-+ dma_addr_t dma_mask = DMA_BIT_MASK(32) & ~0x7fffUL;
- if (pci_enable_device(tmp_hfcpci))
- continue;
-+ if (pci_set_dma_mask(tmp_hfcpci, dma_mask)) {
-+ printk(KERN_WARNING
-+ "HiSax hfc_pci: No suitable DMA available.\n");
-+ continue;
-+ }
-+ if (pci_set_consistent_dma_mask(tmp_hfcpci, dma_mask)) {
-+ printk(KERN_WARNING
-+ "HiSax hfc_pci: No suitable consistent DMA available.\n");
-+ continue;
-+ }
- pci_set_master(tmp_hfcpci);
- if ((card->para[0]) && (card->para[0] != (tmp_hfcpci->resource[ 0].start & PCI_BASE_ADDRESS_IO_MASK)))
- continue;
-@@ -1693,22 +1705,29 @@ setup_hfcpci(struct IsdnCard *card)
- printk(KERN_WARNING "HFC-PCI: No IO-Mem for PCI card found\n");
- return (0);
- }
-+
- /* Allocate memory for FIFOS */
-- /* Because the HFC-PCI needs a 32K physical alignment, we */
-- /* need to allocate the double mem and align the address */
-- if (!(cs->hw.hfcpci.share_start = kmalloc(65536, GFP_KERNEL))) {
-- printk(KERN_WARNING "HFC-PCI: Error allocating memory for FIFO!\n");
-+ cs->hw.hfcpci.fifos = pci_alloc_consistent(cs->hw.hfcpci.dev,
-+ 0x8000, &cs->hw.hfcpci.dma);
-+ if (!cs->hw.hfcpci.fifos) {
-+ printk(KERN_WARNING "HFC-PCI: Error allocating FIFO memory!\n");
-+ return 0;
-+ }
-+ if (cs->hw.hfcpci.dma & 0x7fff) {
-+ printk(KERN_WARNING
-+ "HFC-PCI: Error DMA memory not on 32K boundary (%lx)\n",
-+ (u_long)cs->hw.hfcpci.dma);
-+ pci_free_consistent(cs->hw.hfcpci.dev, 0x8000,
-+ cs->hw.hfcpci.fifos, cs->hw.hfcpci.dma);
- return 0;
- }
-- cs->hw.hfcpci.fifos = (void *)
-- (((ulong) cs->hw.hfcpci.share_start) & ~0x7FFF) + 0x8000;
-- pci_write_config_dword(cs->hw.hfcpci.dev, 0x80, (u_int) virt_to_bus(cs->hw.hfcpci.fifos));
-+ pci_write_config_dword(cs->hw.hfcpci.dev, 0x80, (u32)cs->hw.hfcpci.dma);
- cs->hw.hfcpci.pci_io = ioremap((ulong) cs->hw.hfcpci.pci_io, 256);
- printk(KERN_INFO
-- "HFC-PCI: defined at mem %p fifo %p(%#x) IRQ %d HZ %d\n",
-+ "HFC-PCI: defined at mem %p fifo %p(%lx) IRQ %d HZ %d\n",
- cs->hw.hfcpci.pci_io,
- cs->hw.hfcpci.fifos,
-- (u_int) virt_to_bus(cs->hw.hfcpci.fifos),
-+ (u_long)cs->hw.hfcpci.dma,
- cs->irq, HZ);
-
- spin_lock_irqsave(&cs->lock, flags);
-diff --git a/drivers/isdn/hisax/hisax.h b/drivers/isdn/hisax/hisax.h
-index e8d429f..f1a828b 100644
---- a/drivers/isdn/hisax/hisax.h
-+++ b/drivers/isdn/hisax/hisax.h
-@@ -694,7 +694,7 @@ struct hfcPCI_hw {
- int nt_timer;
- struct pci_dev *dev;
- unsigned char *pci_io; /* start of PCI IO memory */
-- void *share_start; /* shared memory for Fifos start */
-+ dma_addr_t dma; /* dma handle for Fifos */
- void *fifos; /* FIFO memory */
- int last_bfifo_cnt[2]; /* marker saving last b-fifo frame count */
- struct timer_list timer;
-diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
-index 61f5753..7830b01 100644
---- a/drivers/md/dm-mpath.c
-+++ b/drivers/md/dm-mpath.c
-@@ -540,6 +540,12 @@ static int parse_path_selector(struct arg_set *as, struct priority_group *pg,
- return -EINVAL;
- }
-
-+ if (ps_argc > as->argc) {
-+ dm_put_path_selector(pst);
-+ ti->error = "not enough arguments for path selector";
-+ return -EINVAL;
-+ }
-+
- r = pst->create(&pg->ps, ps_argc, as->argv);
- if (r) {
- dm_put_path_selector(pst);
-@@ -684,6 +690,11 @@ static int parse_hw_handler(struct arg_set *as, struct multipath *m)
- if (!hw_argc)
- return 0;
-
-+ if (hw_argc > as->argc) {
-+ ti->error = "not enough arguments for hardware handler";
-+ return -EINVAL;
-+ }
-+
- m->hw_handler_name = kstrdup(shift(as), GFP_KERNEL);
- request_module("scsi_dh_%s", m->hw_handler_name);
- if (scsi_dh_handler_exist(m->hw_handler_name) == 0) {
-diff --git a/drivers/md/dm.c b/drivers/md/dm.c
-index ace998c..925efaf 100644
---- a/drivers/md/dm.c
-+++ b/drivers/md/dm.c
-@@ -265,6 +265,10 @@ static int dm_blk_open(struct inode *inode, struct file *file)
- goto out;
- }
-
-+ if (test_bit(DMF_FREEING, &md->flags) ||
-+ test_bit(DMF_DELETING, &md->flags))
-+ return NULL;
-+
- dm_get(md);
- atomic_inc(&md->open_count);
-
-diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
-index 224de02..562ab63 100644
---- a/drivers/md/raid5.c
-+++ b/drivers/md/raid5.c
-@@ -3431,6 +3431,7 @@ static int make_request(struct request_queue *q, struct bio * bi)
- spin_unlock_irq(&conf->device_lock);
- if (must_retry) {
- release_stripe(sh);
-+ schedule();
- goto retry;
- }
- }
-diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
-index 3bdb473..f164239 100644
---- a/drivers/net/bonding/bond_sysfs.c
-+++ b/drivers/net/bonding/bond_sysfs.c
-@@ -1464,6 +1464,7 @@ int bond_create_sysfs(void)
- printk(KERN_ERR
- "network device named %s already exists in sysfs",
- class_attr_bonding_masters.attr.name);
-+ ret = 0;
- }
-
- return ret;
-diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
-index a98d31a..5952522 100644
---- a/drivers/net/r8169.c
-+++ b/drivers/net/r8169.c
-@@ -65,7 +65,6 @@ static const int multicast_filter_limit = 32;
- #define RX_DMA_BURST 6 /* Maximum PCI burst, '6' is 1024 */
- #define TX_DMA_BURST 6 /* Maximum PCI burst, '6' is 1024 */
- #define EarlyTxThld 0x3F /* 0x3F means NO early transmit */
--#define RxPacketMaxSize 0x3FE8 /* 16K - 1 - ETH_HLEN - VLAN - CRC... */
- #define SafeMtu 0x1c20 /* ... actually life sucks beyond ~7k */
- #define InterFrameGap 0x03 /* 3 means InterFrameGap = the shortest one */
-
-@@ -1976,10 +1975,10 @@ static u16 rtl_rw_cpluscmd(void __iomem *ioaddr)
- return cmd;
- }
-
--static void rtl_set_rx_max_size(void __iomem *ioaddr)
-+static void rtl_set_rx_max_size(void __iomem *ioaddr, unsigned int rx_buf_sz)
- {
- /* Low hurts. Let's disable the filtering. */
-- RTL_W16(RxMaxSize, 16383);
-+ RTL_W16(RxMaxSize, rx_buf_sz);
- }
-
- static void rtl8169_set_magic_reg(void __iomem *ioaddr, unsigned mac_version)
-@@ -2026,7 +2025,7 @@ static void rtl_hw_start_8169(struct net_device *dev)
-
- RTL_W8(EarlyTxThres, EarlyTxThld);
-
-- rtl_set_rx_max_size(ioaddr);
-+ rtl_set_rx_max_size(ioaddr, tp->rx_buf_sz);
-
- if ((tp->mac_version == RTL_GIGA_MAC_VER_01) ||
- (tp->mac_version == RTL_GIGA_MAC_VER_02) ||
-@@ -2090,7 +2089,7 @@ static void rtl_hw_start_8168(struct net_device *dev)
-
- RTL_W8(EarlyTxThres, EarlyTxThld);
-
-- rtl_set_rx_max_size(ioaddr);
-+ rtl_set_rx_max_size(ioaddr, tp->rx_buf_sz);
-
- rtl_set_rx_tx_config_registers(tp);
-
-@@ -2142,7 +2141,7 @@ static void rtl_hw_start_8101(struct net_device *dev)
-
- RTL_W8(EarlyTxThres, EarlyTxThld);
-
-- rtl_set_rx_max_size(ioaddr);
-+ rtl_set_rx_max_size(ioaddr, tp->rx_buf_sz);
-
- tp->cp_cmd |= rtl_rw_cpluscmd(ioaddr) | PCIMulRW;
-
-diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c
-index 8a846ad..7f0c60c 100644
---- a/drivers/parport/parport_pc.c
-+++ b/drivers/parport/parport_pc.c
-@@ -1413,11 +1413,13 @@ static void __devinit decode_smsc(int efer, int key, int devid, int devrev)
-
- static void __devinit winbond_check(int io, int key)
- {
-- int devid,devrev,oldid,x_devid,x_devrev,x_oldid;
-+ int origval, devid, devrev, oldid, x_devid, x_devrev, x_oldid;
-
- if (!request_region(io, 3, __func__))
- return;
-
-+ origval = inb(io); /* Save original value */
-+
- /* First probe without key */
- outb(0x20,io);
- x_devid=inb(io+1);
-@@ -1437,6 +1439,8 @@ static void __devinit winbond_check(int io, int key)
- oldid=inb(io+1);
- outb(0xaa,io); /* Magic Seal */
-
-+ outb(origval, io); /* in case we poked some entirely different hardware */
-+
- if ((x_devid == devid) && (x_devrev == devrev) && (x_oldid == oldid))
- goto out; /* protection against false positives */
-
-@@ -1447,11 +1451,15 @@ out:
-
- static void __devinit winbond_check2(int io,int key)
- {
-- int devid,devrev,oldid,x_devid,x_devrev,x_oldid;
-+ int origval[3], devid, devrev, oldid, x_devid, x_devrev, x_oldid;
-
- if (!request_region(io, 3, __func__))
- return;
-
-+ origval[0] = inb(io); /* Save original values */
-+ origval[1] = inb(io + 1);
-+ origval[2] = inb(io + 2);
-+
- /* First probe without the key */
- outb(0x20,io+2);
- x_devid=inb(io+2);
-@@ -1470,6 +1478,10 @@ static void __devinit winbond_check2(int io,int key)
- oldid=inb(io+2);
- outb(0xaa,io); /* Magic Seal */
-
-+ outb(origval[0], io); /* in case we poked some entirely different hardware */
-+ outb(origval[1], io + 1);
-+ outb(origval[2], io + 2);
-+
- if ((x_devid == devid) && (x_devrev == devrev) && (x_oldid == oldid))
- goto out; /* protection against false positives */
-
-@@ -1480,11 +1492,13 @@ out:
-
- static void __devinit smsc_check(int io, int key)
- {
-- int id,rev,oldid,oldrev,x_id,x_rev,x_oldid,x_oldrev;
-+ int origval, id, rev, oldid, oldrev, x_id, x_rev, x_oldid, x_oldrev;
-
- if (!request_region(io, 3, __func__))
- return;
-
-+ origval = inb(io); /* Save original value */
-+
- /* First probe without the key */
- outb(0x0d,io);
- x_oldid=inb(io+1);
-@@ -1508,6 +1522,8 @@ static void __devinit smsc_check(int io, int key)
- rev=inb(io+1);
- outb(0xaa,io); /* Magic Seal */
-
-+ outb(origval, io); /* in case we poked some entirely different hardware */
-+
- if ((x_id == id) && (x_oldrev == oldrev) &&
- (x_oldid == oldid) && (x_rev == rev))
- goto out; /* protection against false positives */
-@@ -1544,11 +1560,12 @@ static void __devinit detect_and_report_smsc (void)
- static void __devinit detect_and_report_it87(void)
- {
- u16 dev;
-- u8 r;
-+ u8 origval, r;
- if (verbose_probing)
- printk(KERN_DEBUG "IT8705 Super-IO detection, now testing port 2E ...\n");
-- if (!request_region(0x2e, 1, __func__))
-+ if (!request_region(0x2e, 2, __func__))
- return;
-+ origval = inb(0x2e); /* Save original value */
- outb(0x87, 0x2e);
- outb(0x01, 0x2e);
- outb(0x55, 0x2e);
-@@ -1568,8 +1585,10 @@ static void __devinit detect_and_report_it87(void)
- outb(r | 8, 0x2F);
- outb(0x02, 0x2E); /* Lock */
- outb(0x02, 0x2F);
-+ } else {
-+ outb(origval, 0x2e); /* Oops, sorry to disturb */
- }
-- release_region(0x2e, 1);
-+ release_region(0x2e, 2);
- }
- #endif /* CONFIG_PARPORT_PC_SUPERIO */
-
-@@ -2192,6 +2211,9 @@ struct parport *parport_pc_probe_port (unsigned long int base,
- if (IS_ERR(pdev))
- return NULL;
- dev = &pdev->dev;
-+
-+ dev->coherent_dma_mask = DMA_BIT_MASK(24);
-+ dev->dma_mask = &dev->coherent_dma_mask;
- }
-
- ops = kmalloc(sizeof (struct parport_operations), GFP_KERNEL);
-diff --git a/drivers/parport/parport_serial.c b/drivers/parport/parport_serial.c
-index 032db81..f349211 100644
---- a/drivers/parport/parport_serial.c
-+++ b/drivers/parport/parport_serial.c
-@@ -30,6 +30,7 @@ enum parport_pc_pci_cards {
- titan_210l,
- netmos_9xx5_combo,
- netmos_9855,
-+ netmos_9855_2p,
- avlab_1s1p,
- avlab_1s2p,
- avlab_2s1p,
-@@ -62,7 +63,7 @@ struct parport_pc_pci {
- struct parport_pc_pci *card, int failed);
- };
-
--static int __devinit netmos_parallel_init(struct pci_dev *dev, struct parport_pc_pci *card, int autoirq, int autodma)
-+static int __devinit netmos_parallel_init(struct pci_dev *dev, struct parport_pc_pci *par, int autoirq, int autodma)
- {
- /* the rule described below doesn't hold for this device */
- if (dev->device == PCI_DEVICE_ID_NETMOS_9835 &&
-@@ -74,9 +75,17 @@ static int __devinit netmos_parallel_init(struct pci_dev *dev, struct parport_pc
- * and serial ports. The form is 0x00PS, where is the number of
- * parallel ports and is the number of serial ports.
- */
-- card->numports = (dev->subsystem_device & 0xf0) >> 4;
-- if (card->numports > ARRAY_SIZE(card->addr))
-- card->numports = ARRAY_SIZE(card->addr);
-+ par->numports = (dev->subsystem_device & 0xf0) >> 4;
-+ if (par->numports > ARRAY_SIZE(par->addr))
-+ par->numports = ARRAY_SIZE(par->addr);
-+ /*
-+ * This function is currently only called for cards with up to
-+ * one parallel port.
-+ * Parallel port BAR is either before or after serial ports BARS;
-+ * hence, lo should be either 0 or equal to the number of serial ports.
-+ */
-+ if (par->addr[0].lo != 0)
-+ par->addr[0].lo = dev->subsystem_device & 0xf;
- return 0;
- }
-
-@@ -84,7 +93,8 @@ static struct parport_pc_pci cards[] __devinitdata = {
- /* titan_110l */ { 1, { { 3, -1 }, } },
- /* titan_210l */ { 1, { { 3, -1 }, } },
- /* netmos_9xx5_combo */ { 1, { { 2, -1 }, }, netmos_parallel_init },
-- /* netmos_9855 */ { 1, { { 2, -1 }, }, netmos_parallel_init },
-+ /* netmos_9855 */ { 1, { { 0, -1 }, }, netmos_parallel_init },
-+ /* netmos_9855_2p */ { 2, { { 0, -1 }, { 2, -1 }, } },
- /* avlab_1s1p */ { 1, { { 1, 2}, } },
- /* avlab_1s2p */ { 2, { { 1, 2}, { 3, 4 },} },
- /* avlab_2s1p */ { 1, { { 2, 3}, } },
-@@ -110,6 +120,10 @@ static struct pci_device_id parport_serial_pci_tbl[] = {
- { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9845,
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9xx5_combo },
- { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9855,
-+ 0x1000, 0x0020, 0, 0, netmos_9855_2p },
-+ { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9855,
-+ 0x1000, 0x0022, 0, 0, netmos_9855_2p },
-+ { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9855,
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9855 },
- /* PCI_VENDOR_ID_AVLAB/Intek21 has another bunch of cards ...*/
- { PCI_VENDOR_ID_AFAVLAB, 0x2110,
-@@ -192,6 +206,12 @@ static struct pciserial_board pci_parport_serial_boards[] __devinitdata = {
- .uart_offset = 8,
- },
- [netmos_9855] = {
-+ .flags = FL_BASE2 | FL_BASE_BARS,
-+ .num_ports = 1,
-+ .base_baud = 115200,
-+ .uart_offset = 8,
-+ },
-+ [netmos_9855_2p] = {
- .flags = FL_BASE4 | FL_BASE_BARS,
- .num_ports = 1,
- .base_baud = 115200,
-diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
-index 409e00e..33cc148 100644
---- a/drivers/pci/pci.c
-+++ b/drivers/pci/pci.c
-@@ -473,6 +473,8 @@ pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
- pmcsr &= ~PCI_PM_CTRL_STATE_MASK;
- pmcsr |= state;
- break;
-+ case PCI_D3hot:
-+ case PCI_D3cold:
- case PCI_UNKNOWN: /* Boot-up */
- if ((pmcsr & PCI_PM_CTRL_STATE_MASK) == PCI_D3hot
- && !(pmcsr & PCI_PM_CTRL_NO_SOFT_RESET))
-@@ -1184,15 +1186,14 @@ pci_power_t pci_target_state(struct pci_dev *dev)
- default:
- target_state = state;
- }
-+ } else if (!dev->pm_cap) {
-+ target_state = PCI_D0;
- } else if (device_may_wakeup(&dev->dev)) {
- /*
- * Find the deepest state from which the device can generate
- * wake-up events, make it the target state and enable device
- * to generate PME#.
- */
-- if (!dev->pm_cap)
-- return PCI_POWER_ERROR;
--
- if (dev->pme_support) {
- while (target_state
- && !(dev->pme_support & (1 << target_state)))
-diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
-index e4df84b..def3398 100644
---- a/drivers/pci/pcie/aspm.c
-+++ b/drivers/pci/pcie/aspm.c
-@@ -633,6 +633,10 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev)
- if (pdev->pcie_type != PCI_EXP_TYPE_ROOT_PORT &&
- pdev->pcie_type != PCI_EXP_TYPE_DOWNSTREAM)
- return;
-+ /* VIA has a strange chipset, root port is under a bridge */
-+ if (pdev->pcie_type == PCI_EXP_TYPE_ROOT_PORT &&
-+ pdev->bus->self)
-+ return;
- down_read(&pci_bus_sem);
- if (list_empty(&pdev->subordinate->devices))
- goto out;
-diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
-index 75dac57..3105bdc 100644
---- a/drivers/video/atmel_lcdfb.c
-+++ b/drivers/video/atmel_lcdfb.c
-@@ -29,14 +29,8 @@
-
- /* configurable parameters */
- #define ATMEL_LCDC_CVAL_DEFAULT 0xc8
--#define ATMEL_LCDC_DMA_BURST_LEN 8
--
--#if defined(CONFIG_ARCH_AT91SAM9263) || defined(CONFIG_ARCH_AT91CAP9) || \
-- defined(CONFIG_ARCH_AT91SAM9RL)
--#define ATMEL_LCDC_FIFO_SIZE 2048
--#else
--#define ATMEL_LCDC_FIFO_SIZE 512
--#endif
-+#define ATMEL_LCDC_DMA_BURST_LEN 8 /* words */
-+#define ATMEL_LCDC_FIFO_SIZE 512 /* words */
-
- #if defined(CONFIG_ARCH_AT91)
- #define ATMEL_LCDFB_FBINFO_DEFAULT (FBINFO_DEFAULT \
-diff --git a/fs/jbd/commit.c b/fs/jbd/commit.c
-index ae08c05..558088d 100644
---- a/fs/jbd/commit.c
-+++ b/fs/jbd/commit.c
-@@ -238,7 +238,7 @@ write_out_data:
- spin_lock(&journal->j_list_lock);
- }
- /* Someone already cleaned up the buffer? */
-- if (!buffer_jbd(bh)
-+ if (!buffer_jbd(bh) || bh2jh(bh) != jh
- || jh->b_transaction != commit_transaction
- || jh->b_jlist != BJ_SyncData) {
- jbd_unlock_bh_state(bh);
-@@ -463,7 +463,9 @@ void journal_commit_transaction(journal_t *journal)
- spin_lock(&journal->j_list_lock);
- continue;
- }
-- if (buffer_jbd(bh) && jh->b_jlist == BJ_Locked) {
-+ if (buffer_jbd(bh) && bh2jh(bh) == jh &&
-+ jh->b_transaction == commit_transaction &&
-+ jh->b_jlist == BJ_Locked) {
- __journal_unfile_buffer(jh);
- jbd_unlock_bh_state(bh);
- journal_remove_journal_head(bh);
-diff --git a/include/linux/firmware-map.h b/include/linux/firmware-map.h
-index 6e199c8..67e88a6 100644
---- a/include/linux/firmware-map.h
-+++ b/include/linux/firmware-map.h
-@@ -24,21 +24,17 @@
- */
- #ifdef CONFIG_FIRMWARE_MEMMAP
-
--int firmware_map_add(resource_size_t start, resource_size_t end,
-- const char *type);
--int firmware_map_add_early(resource_size_t start, resource_size_t end,
-- const char *type);
-+int firmware_map_add(u64 start, u64 end, const char *type);
-+int firmware_map_add_early(u64 start, u64 end, const char *type);
-
- #else /* CONFIG_FIRMWARE_MEMMAP */
-
--static inline int firmware_map_add(resource_size_t start, resource_size_t end,
-- const char *type)
-+static inline int firmware_map_add(u64 start, u64 end, const char *type)
- {
- return 0;
- }
-
--static inline int firmware_map_add_early(resource_size_t start,
-- resource_size_t end, const char *type)
-+static inline int firmware_map_add_early(u64 start, u64 end, const char *type)
- {
- return 0;
- }
-diff --git a/include/linux/mlx4/qp.h b/include/linux/mlx4/qp.h
-index bf8f119..9f29d86 100644
---- a/include/linux/mlx4/qp.h
-+++ b/include/linux/mlx4/qp.h
-@@ -165,6 +165,7 @@ enum {
- MLX4_WQE_CTRL_IP_CSUM = 1 << 4,
- MLX4_WQE_CTRL_TCP_UDP_CSUM = 1 << 5,
- MLX4_WQE_CTRL_INS_VLAN = 1 << 6,
-+ MLX4_WQE_CTRL_STRONG_ORDER = 1 << 7,
- };
-
- struct mlx4_wqe_ctrl_seg {
-diff --git a/kernel/acct.c b/kernel/acct.c
-index a272f53..2dac228 100644
---- a/kernel/acct.c
-+++ b/kernel/acct.c
-@@ -215,6 +215,7 @@ static void acct_file_reopen(struct bsd_acct_struct *acct, struct file *file,
- static int acct_on(char *name)
- {
- struct file *file;
-+ struct vfsmount *mnt;
- int error;
- struct pid_namespace *ns;
- struct bsd_acct_struct *acct = NULL;
-@@ -256,11 +257,12 @@ static int acct_on(char *name)
- acct = NULL;
- }
-
-- mnt_pin(file->f_path.mnt);
-+ mnt = file->f_path.mnt;
-+ mnt_pin(mnt);
- acct_file_reopen(ns->bacct, file, ns);
- spin_unlock(&acct_lock);
-
-- mntput(file->f_path.mnt); /* it's pinned, now give up active reference */
-+ mntput(mnt); /* it's pinned, now give up active reference */
- kfree(acct);
-
- return 0;
-diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
-index 0b50481..d3dce7c 100644
---- a/lib/Kconfig.debug
-+++ b/lib/Kconfig.debug
-@@ -394,7 +394,7 @@ config LOCKDEP
- bool
- depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
- select STACKTRACE
-- select FRAME_POINTER if !X86 && !MIPS && !PPC
-+ select FRAME_POINTER if !MIPS && !PPC
- select KALLSYMS
- select KALLSYMS_ALL
-
-diff --git a/mm/page_alloc.c b/mm/page_alloc.c
-index 4205f7f..85799e8 100644
---- a/mm/page_alloc.c
-+++ b/mm/page_alloc.c
-@@ -2764,7 +2764,7 @@ bad:
- if (dzone == zone)
- break;
- kfree(zone_pcp(dzone, cpu));
-- zone_pcp(dzone, cpu) = NULL;
-+ zone_pcp(dzone, cpu) = &boot_pageset[cpu];
- }
- return -ENOMEM;
- }
-@@ -2779,7 +2779,7 @@ static inline void free_zone_pagesets(int cpu)
- /* Free per_cpu_pageset if it is slab allocated */
- if (pset != &boot_pageset[cpu])
- kfree(pset);
-- zone_pcp(zone, cpu) = NULL;
-+ zone_pcp(zone, cpu) = &boot_pageset[cpu];
- }
- }
-
-@@ -4409,6 +4409,8 @@ int percpu_pagelist_fraction_sysctl_handler(ctl_table *table, int write,
- if (!write || (ret == -EINVAL))
- return ret;
- for_each_zone(zone) {
-+ if (!populated_zone(zone))
-+ continue;
- for_each_online_cpu(cpu) {
- unsigned long high;
- high = zone->present_pages / percpu_pagelist_fraction;
-diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
-index 011478e..0b3c404 100644
---- a/net/ipv4/tcp_ipv4.c
-+++ b/net/ipv4/tcp_ipv4.c
-@@ -1364,6 +1364,10 @@ struct sock *tcp_v4_syn_recv_sock(struct sock *sk, struct sk_buff *skb,
- tcp_mtup_init(newsk);
- tcp_sync_mss(newsk, dst_mtu(dst));
- newtp->advmss = dst_metric(dst, RTAX_ADVMSS);
-+ if (tcp_sk(sk)->rx_opt.user_mss &&
-+ tcp_sk(sk)->rx_opt.user_mss < newtp->advmss)
-+ newtp->advmss = tcp_sk(sk)->rx_opt.user_mss;
-+
- tcp_initialize_rcv_mss(newsk);
-
- #ifdef CONFIG_TCP_MD5SIG
-diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
-index d083f9a..c89cd75 100644
---- a/net/ipv4/tcp_output.c
-+++ b/net/ipv4/tcp_output.c
-@@ -2252,6 +2252,7 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst,
- struct sk_buff *skb;
- struct tcp_md5sig_key *md5;
- __u8 *md5_hash_location;
-+ int mss;
-
- skb = sock_wmalloc(sk, MAX_TCP_HEADER + 15, 1, GFP_ATOMIC);
- if (skb == NULL)
-@@ -2262,13 +2263,17 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst,
-
- skb->dst = dst_clone(dst);
-
-+ mss = dst_metric(dst, RTAX_ADVMSS);
-+ if (tp->rx_opt.user_mss && tp->rx_opt.user_mss < mss)
-+ mss = tp->rx_opt.user_mss;
-+
- if (req->rcv_wnd == 0) { /* ignored for retransmitted syns */
- __u8 rcv_wscale;
- /* Set this up on the first call only */
- req->window_clamp = tp->window_clamp ? : dst_metric(dst, RTAX_WINDOW);
- /* tcp_full_space because it is guaranteed to be the first packet */
- tcp_select_initial_window(tcp_full_space(sk),
-- dst_metric(dst, RTAX_ADVMSS) - (ireq->tstamp_ok ? TCPOLEN_TSTAMP_ALIGNED : 0),
-+ mss - (ireq->tstamp_ok ? TCPOLEN_TSTAMP_ALIGNED : 0),
- &req->rcv_wnd,
- &req->window_clamp,
- ireq->wscale_ok,
-@@ -2283,8 +2288,7 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst,
- else
- #endif
- TCP_SKB_CB(skb)->when = tcp_time_stamp;
-- tcp_header_size = tcp_synack_options(sk, req,
-- dst_metric(dst, RTAX_ADVMSS),
-+ tcp_header_size = tcp_synack_options(sk, req, mss,
- skb, &opts, &md5) +
- sizeof(struct tcphdr);
-
-@@ -2353,6 +2357,9 @@ static void tcp_connect_init(struct sock *sk)
- if (!tp->window_clamp)
- tp->window_clamp = dst_metric(dst, RTAX_WINDOW);
- tp->advmss = dst_metric(dst, RTAX_ADVMSS);
-+ if (tp->rx_opt.user_mss && tp->rx_opt.user_mss < tp->advmss)
-+ tp->advmss = tp->rx_opt.user_mss;
-+
- tcp_initialize_rcv_mss(sk);
-
- tcp_select_initial_window(tcp_full_space(sk),
-diff --git a/scripts/unifdef.c b/scripts/unifdef.c
-index 552025e..05a31a6 100644
---- a/scripts/unifdef.c
-+++ b/scripts/unifdef.c
-@@ -206,7 +206,7 @@ static void done(void);
- static void error(const char *);
- static int findsym(const char *);
- static void flushline(bool);
--static Linetype getline(void);
-+static Linetype get_line(void);
- static Linetype ifeval(const char **);
- static void ignoreoff(void);
- static void ignoreon(void);
-@@ -512,7 +512,7 @@ process(void)
-
- for (;;) {
- linenum++;
-- lineval = getline();
-+ lineval = get_line();
- trans_table[ifstate[depth]][lineval]();
- debug("process %s -> %s depth %d",
- linetype_name[lineval],
-@@ -526,7 +526,7 @@ process(void)
- * help from skipcomment().
- */
- static Linetype
--getline(void)
-+get_line(void)
- {
- const char *cp;
- int cursym;
-diff --git a/sound/core/seq/seq_midi_event.c b/sound/core/seq/seq_midi_event.c
-index 8284f17..b5d6ea4 100644
---- a/sound/core/seq/seq_midi_event.c
-+++ b/sound/core/seq/seq_midi_event.c
-@@ -504,10 +504,10 @@ static int extra_decode_xrpn(struct snd_midi_event *dev, unsigned char *buf,
- if (dev->nostat && count < 12)
- return -ENOMEM;
- cmd = MIDI_CMD_CONTROL|(ev->data.control.channel & 0x0f);
-- bytes[0] = ev->data.control.param & 0x007f;
-- bytes[1] = (ev->data.control.param & 0x3f80) >> 7;
-- bytes[2] = ev->data.control.value & 0x007f;
-- bytes[3] = (ev->data.control.value & 0x3f80) >> 7;
-+ bytes[0] = (ev->data.control.param & 0x3f80) >> 7;
-+ bytes[1] = ev->data.control.param & 0x007f;
-+ bytes[2] = (ev->data.control.value & 0x3f80) >> 7;
-+ bytes[3] = ev->data.control.value & 0x007f;
- if (cmd != dev->lastcmd && !dev->nostat) {
- if (count < 9)
- return -ENOMEM;
-diff --git a/sound/pci/ca0106/ca0106_mixer.c b/sound/pci/ca0106/ca0106_mixer.c
-index 3025ed1..c0f4718 100644
---- a/sound/pci/ca0106/ca0106_mixer.c
-+++ b/sound/pci/ca0106/ca0106_mixer.c
-@@ -761,6 +761,9 @@ int __devinit snd_ca0106_mixer(struct snd_ca0106 *emu)
- snd_ca0106_master_db_scale);
- if (!vmaster)
- return -ENOMEM;
-+ err = snd_ctl_add(card, vmaster);
-+ if (err < 0)
-+ return err;
- add_slaves(card, vmaster, slave_vols);
-
- if (emu->details->spi_dac == 1) {
-@@ -768,6 +771,9 @@ int __devinit snd_ca0106_mixer(struct snd_ca0106 *emu)
- NULL);
- if (!vmaster)
- return -ENOMEM;
-+ err = snd_ctl_add(card, vmaster);
-+ if (err < 0)
-+ return err;
- add_slaves(card, vmaster, slave_sws);
- }
- return 0;
diff --git a/src/patches/suse-2.6.27.25/patches.suse/smtnice-disable b/src/patches/suse-2.6.27.25/patches.suse/smtnice-disable
deleted file mode 100644
index d9001d95e..000000000
--- a/src/patches/suse-2.6.27.25/patches.suse/smtnice-disable
+++ /dev/null
@@ -1,29 +0,0 @@
-From: npiggin@suse.de
-Subject: disable smtnice
-References: 163880
-Patch-mainline: obsolete
-
-SLES9 has SMT nice disabled for different reasons, but in
-sles10, it creates significant contention on the runq
-locks. Any scheduler intensive benchmark is slow with
-smt nice enabled. This patch turns it off.
-
-Acked-by: mason@suse.de
-Acked-by: okir@suse.de
-
----
- include/linux/topology.h | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
---- a/include/linux/topology.h
-+++ b/include/linux/topology.h
-@@ -99,8 +99,7 @@ void arch_update_cpu_topology(void);
- | SD_BALANCE_FORK \
- | SD_BALANCE_EXEC \
- | SD_WAKE_AFFINE \
-- | SD_WAKE_IDLE \
-- | SD_SHARE_CPUPOWER, \
-+ | SD_WAKE_IDLE, \
- .last_balance = jiffies, \
- .balance_interval = 1, \
- }
diff --git a/src/patches/suse-2.6.27.25/arch-symbols b/src/patches/suse-2.6.27.31/arch-symbols
similarity index 100%
rename from src/patches/suse-2.6.27.25/arch-symbols
rename to src/patches/suse-2.6.27.31/arch-symbols
diff --git a/src/patches/suse-2.6.27.25/guards b/src/patches/suse-2.6.27.31/guards
similarity index 100%
rename from src/patches/suse-2.6.27.25/guards
rename to src/patches/suse-2.6.27.31/guards
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/add-path_permission.diff b/src/patches/suse-2.6.27.31/patches.apparmor/add-path_permission.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/add-path_permission.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/add-path_permission.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/add-security_path_permission b/src/patches/suse-2.6.27.31/patches.apparmor/add-security_path_permission
similarity index 96%
rename from src/patches/suse-2.6.27.25/patches.apparmor/add-security_path_permission
rename to src/patches/suse-2.6.27.31/patches.apparmor/add-security_path_permission
index 1b216f1ba..adaaff8b3 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/add-security_path_permission
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/add-security_path_permission
@@ -55,7 +55,7 @@ Signed-off-by: Jeff Mahoney
int security_task_create(unsigned long clone_flags);
int security_task_alloc(struct task_struct *p);
void security_task_free(struct task_struct *p);
-@@ -2240,6 +2256,11 @@ static inline int security_dentry_open(s
+@@ -2242,6 +2258,11 @@ static inline int security_dentry_open(s
{
return 0;
}
@@ -91,7 +91,7 @@ Signed-off-by: Jeff Mahoney
set_to_cap_if_null(ops, task_free_security);
--- a/security/security.c
+++ b/security/security.c
-@@ -615,6 +615,15 @@ int security_dentry_open(struct file *fi
+@@ -612,6 +612,15 @@ int security_dentry_open(struct file *fi
return security_ops->dentry_open(file);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/apparmor-2.6.25.diff b/src/patches/suse-2.6.27.31/patches.apparmor/apparmor-2.6.25.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/apparmor-2.6.25.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/apparmor-2.6.25.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/apparmor-audit.diff b/src/patches/suse-2.6.27.31/patches.apparmor/apparmor-audit.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/apparmor-audit.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/apparmor-audit.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/apparmor-intree.diff b/src/patches/suse-2.6.27.31/patches.apparmor/apparmor-intree.diff
similarity index 94%
rename from src/patches/suse-2.6.27.25/patches.apparmor/apparmor-intree.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/apparmor-intree.diff
index c50c4f6a2..7c29501d4 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/apparmor-intree.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/apparmor-intree.diff
@@ -11,7 +11,7 @@ Signed-off-by: Andreas Gruenbacher
--- a/security/Kconfig
+++ b/security/Kconfig
-@@ -117,6 +117,7 @@ config SECURITY_DEFAULT_MMAP_MIN_ADDR
+@@ -97,6 +97,7 @@ config SECURITY_ROOTPLUG
source security/selinux/Kconfig
source security/smack/Kconfig
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/apparmor-lsm.diff b/src/patches/suse-2.6.27.31/patches.apparmor/apparmor-lsm.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/apparmor-lsm.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/apparmor-lsm.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/apparmor-main.diff b/src/patches/suse-2.6.27.31/patches.apparmor/apparmor-main.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/apparmor-main.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/apparmor-main.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/apparmor-misc.diff b/src/patches/suse-2.6.27.31/patches.apparmor/apparmor-misc.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/apparmor-misc.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/apparmor-misc.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/apparmor-module_interface.diff b/src/patches/suse-2.6.27.31/patches.apparmor/apparmor-module_interface.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/apparmor-module_interface.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/apparmor-module_interface.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/apparmor-network.diff b/src/patches/suse-2.6.27.31/patches.apparmor/apparmor-network.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/apparmor-network.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/apparmor-network.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/apparmor-path_permission b/src/patches/suse-2.6.27.31/patches.apparmor/apparmor-path_permission
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/apparmor-path_permission
rename to src/patches/suse-2.6.27.31/patches.apparmor/apparmor-path_permission
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/apparmor-ptrace-2.6.27.diff b/src/patches/suse-2.6.27.31/patches.apparmor/apparmor-ptrace-2.6.27.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/apparmor-ptrace-2.6.27.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/apparmor-ptrace-2.6.27.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/apparmor-rlimits.diff b/src/patches/suse-2.6.27.31/patches.apparmor/apparmor-rlimits.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/apparmor-rlimits.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/apparmor-rlimits.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/d_namespace_path.diff b/src/patches/suse-2.6.27.31/patches.apparmor/d_namespace_path.diff
similarity index 91%
rename from src/patches/suse-2.6.27.25/patches.apparmor/d_namespace_path.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/d_namespace_path.diff
index d5b2dc707..e82cf5e2d 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/d_namespace_path.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/d_namespace_path.diff
@@ -15,10 +15,10 @@ Signed-off-by: John Johansen
--- a/fs/namespace.c
+++ b/fs/namespace.c
-@@ -2299,3 +2299,33 @@ void __put_mnt_ns(struct mnt_namespace *
- release_mounts(&umount_list);
+@@ -2357,3 +2357,33 @@ void put_mnt_ns(struct mnt_namespace *ns
kfree(ns);
}
+ EXPORT_SYMBOL(put_mnt_ns);
+
+char *d_namespace_path(struct dentry *dentry, struct vfsmount *vfsmnt,
+ char *buf, int buflen)
@@ -51,7 +51,7 @@ Signed-off-by: John Johansen
+EXPORT_SYMBOL(d_namespace_path);
--- a/include/linux/mount.h
+++ b/include/linux/mount.h
-@@ -134,4 +134,6 @@ extern void mark_mounts_for_expiry(struc
+@@ -137,4 +137,6 @@ extern void mark_mounts_for_expiry(struc
extern spinlock_t vfsmount_lock;
extern dev_t name_to_dev_t(char *name);
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/d_namespace_path_oops_fix.diff b/src/patches/suse-2.6.27.31/patches.apparmor/d_namespace_path_oops_fix.diff
similarity index 92%
rename from src/patches/suse-2.6.27.25/patches.apparmor/d_namespace_path_oops_fix.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/d_namespace_path_oops_fix.diff
index ea3697c2a..f1ae52dc7 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/d_namespace_path_oops_fix.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/d_namespace_path_oops_fix.diff
@@ -14,7 +14,7 @@ Signed-off-by: Miklos Szeredi
--- a/fs/namespace.c
+++ b/fs/namespace.c
-@@ -2312,7 +2312,7 @@ char *d_namespace_path(struct dentry *de
+@@ -2370,7 +2370,7 @@ char *d_namespace_path(struct dentry *de
path_get(¤t->fs->root);
read_unlock(¤t->fs->lock);
spin_lock(&vfsmount_lock);
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/do_path_lookup-nameidata.diff b/src/patches/suse-2.6.27.31/patches.apparmor/do_path_lookup-nameidata.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/do_path_lookup-nameidata.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/do_path_lookup-nameidata.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/export-security_inode_permission-for-aufs b/src/patches/suse-2.6.27.31/patches.apparmor/export-security_inode_permission-for-aufs
similarity index 92%
rename from src/patches/suse-2.6.27.25/patches.apparmor/export-security_inode_permission-for-aufs
rename to src/patches/suse-2.6.27.31/patches.apparmor/export-security_inode_permission-for-aufs
index f628c9ec5..d7a533e55 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/export-security_inode_permission-for-aufs
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/export-security_inode_permission-for-aufs
@@ -16,7 +16,7 @@ Signed-off-by: Jeff Mahoney
--- a/security/security.c
+++ b/security/security.c
-@@ -415,6 +415,7 @@ int security_inode_mknod(struct inode *d
+@@ -412,6 +412,7 @@ int security_inode_mknod(struct inode *d
return 0;
return security_ops->inode_mknod(dir, dentry, mnt, mode, dev);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/file-handle-ops.diff b/src/patches/suse-2.6.27.31/patches.apparmor/file-handle-ops.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/file-handle-ops.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/file-handle-ops.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/fix-complain.diff b/src/patches/suse-2.6.27.31/patches.apparmor/fix-complain.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/fix-complain.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/fix-complain.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/fix-deleted-leak.diff b/src/patches/suse-2.6.27.31/patches.apparmor/fix-deleted-leak.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/fix-deleted-leak.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/fix-deleted-leak.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/fix-security-param.diff b/src/patches/suse-2.6.27.31/patches.apparmor/fix-security-param.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/fix-security-param.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/fix-security-param.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/fix-vfs_rmdir.diff b/src/patches/suse-2.6.27.31/patches.apparmor/fix-vfs_rmdir.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/fix-vfs_rmdir.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/fix-vfs_rmdir.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/fork-tracking.diff b/src/patches/suse-2.6.27.31/patches.apparmor/fork-tracking.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/fork-tracking.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/fork-tracking.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/fsetattr-reintro-ATTR_FILE.diff b/src/patches/suse-2.6.27.31/patches.apparmor/fsetattr-reintro-ATTR_FILE.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/fsetattr-reintro-ATTR_FILE.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/fsetattr-reintro-ATTR_FILE.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/fsetattr-restore-ia_file.diff b/src/patches/suse-2.6.27.31/patches.apparmor/fsetattr-restore-ia_file.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/fsetattr-restore-ia_file.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/fsetattr-restore-ia_file.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/fsetattr.diff b/src/patches/suse-2.6.27.31/patches.apparmor/fsetattr.diff
similarity index 98%
rename from src/patches/suse-2.6.27.25/patches.apparmor/fsetattr.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/fsetattr.diff
index ecd58fa4b..ba01f3ff7 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/fsetattr.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/fsetattr.diff
@@ -217,7 +217,7 @@ Signed-off-by: John Johansen ---
static int fuse_getattr(struct vfsmount *mnt, struct dentry *entry,
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
-@@ -1466,6 +1466,11 @@ static loff_t fuse_file_llseek(struct fi
+@@ -1467,6 +1467,11 @@ static loff_t fuse_file_llseek(struct fi
return retval;
}
@@ -229,7 +229,7 @@ Signed-off-by: John Johansen ---
static const struct file_operations fuse_file_operations = {
.llseek = fuse_file_llseek,
.read = do_sync_read,
-@@ -1479,6 +1484,7 @@ static const struct file_operations fuse
+@@ -1480,6 +1485,7 @@ static const struct file_operations fuse
.fsync = fuse_fsync,
.lock = fuse_file_lock,
.flock = fuse_file_flock,
@@ -237,7 +237,7 @@ Signed-off-by: John Johansen ---
.splice_read = generic_file_splice_read,
};
-@@ -1492,6 +1498,7 @@ static const struct file_operations fuse
+@@ -1493,6 +1499,7 @@ static const struct file_operations fuse
.fsync = fuse_fsync,
.lock = fuse_file_lock,
.flock = fuse_file_flock,
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/remove_suid.diff b/src/patches/suse-2.6.27.31/patches.apparmor/remove_suid.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/remove_suid.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/remove_suid.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-create.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-create.diff
similarity index 98%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-create.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-create.diff
index 486d31c48..9d16017bc 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-create.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-create.diff
@@ -78,7 +78,7 @@ Signed-off-by: John Johansen
}
--- a/security/security.c
+++ b/security/security.c
-@@ -358,11 +358,12 @@ int security_inode_init_security(struct
+@@ -355,11 +355,12 @@ int security_inode_init_security(struct
}
EXPORT_SYMBOL(security_inode_init_security);
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-getxattr.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-getxattr.diff
similarity index 98%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-getxattr.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-getxattr.diff
index 6a8663ca2..0e98d57ad 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-getxattr.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-getxattr.diff
@@ -82,7 +82,7 @@ Signed-off-by: John Johansen
}
--- a/security/security.c
+++ b/security/security.c
-@@ -491,11 +491,12 @@ void security_inode_post_setxattr(struct
+@@ -488,11 +488,12 @@ void security_inode_post_setxattr(struct
flags);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-link.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-link.diff
similarity index 96%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-link.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-link.diff
index ddc4d888f..b43e1e61b 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-link.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-link.diff
@@ -18,7 +18,7 @@ Signed-off-by: John Johansen
--- a/fs/namei.c
+++ b/fs/namei.c
-@@ -2437,7 +2437,8 @@ int vfs_link(struct dentry *old_dentry,
+@@ -2437,7 +2437,8 @@ int vfs_link(struct dentry *old_dentry,
if (S_ISDIR(inode->i_mode))
return -EPERM;
@@ -53,7 +53,7 @@ Signed-off-by: John Johansen
int (*inode_unlink) (struct inode *dir, struct dentry *dentry);
int (*inode_symlink) (struct inode *dir, struct dentry *dentry,
struct vfsmount *mnt, const char *old_name);
-@@ -1632,8 +1635,9 @@ int security_inode_init_security(struct
+@@ -1632,8 +1635,9 @@ int security_inode_init_security(struct
char **name, void **value, size_t *len);
int security_inode_create(struct inode *dir, struct dentry *dentry,
struct vfsmount *mnt, int mode);
@@ -94,7 +94,7 @@ Signed-off-by: John Johansen
}
--- a/security/security.c
+++ b/security/security.c
-@@ -366,12 +366,14 @@ int security_inode_create(struct inode *
+@@ -363,12 +363,14 @@ int security_inode_create(struct inode *
return security_ops->inode_create(dir, dentry, mnt, mode);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-listxattr.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-listxattr.diff
similarity index 98%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-listxattr.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-listxattr.diff
index b4b5efe66..5c7e1d5b3 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-listxattr.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-listxattr.diff
@@ -78,7 +78,7 @@ Signed-off-by: John Johansen
}
--- a/security/security.c
+++ b/security/security.c
-@@ -499,11 +499,11 @@ int security_inode_getxattr(struct dentr
+@@ -496,11 +496,11 @@ int security_inode_getxattr(struct dentr
return security_ops->inode_getxattr(dentry, mnt, name);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-mkdir.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-mkdir.diff
similarity index 95%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-mkdir.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-mkdir.diff
index e9a8cdce8..deed6a020 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-mkdir.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-mkdir.diff
@@ -17,7 +17,7 @@ Signed-off-by: John Johansen
--- a/fs/namei.c
+++ b/fs/namei.c
-@@ -2089,7 +2089,7 @@ int vfs_mkdir(struct inode *dir, struct
+@@ -2089,7 +2089,7 @@ int vfs_mkdir(struct inode *dir, struct
return -EPERM;
mode &= (S_IRWXUGO|S_ISVTX);
@@ -77,7 +77,7 @@ Signed-off-by: John Johansen
}
--- a/security/security.c
+++ b/security/security.c
-@@ -389,11 +389,12 @@ int security_inode_symlink(struct inode
+@@ -386,11 +386,12 @@ int security_inode_symlink(struct inode
return security_ops->inode_symlink(dir, dentry, old_name);
}
@@ -94,7 +94,7 @@ Signed-off-by: John Johansen
int security_inode_rmdir(struct inode *dir, struct dentry *dentry)
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
-@@ -2597,7 +2597,8 @@ static int selinux_inode_symlink(struct
+@@ -2597,7 +2597,8 @@ static int selinux_inode_symlink(struct
return may_create(dir, dentry, SECCLASS_LNK_FILE);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-mknod.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-mknod.diff
similarity index 93%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-mknod.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-mknod.diff
index 6bcd0fc7f..cc46e2b65 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-mknod.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-mknod.diff
@@ -17,7 +17,7 @@ Signed-off-by: John Johansen
--- a/fs/namei.c
+++ b/fs/namei.c
-@@ -1994,7 +1994,7 @@ int vfs_mknod(struct inode *dir, struct
+@@ -1994,7 +1994,7 @@ int vfs_mknod(struct inode *dir, struct
if (error)
return error;
@@ -26,7 +26,7 @@ Signed-off-by: John Johansen
if (error)
return error;
-@@ -2056,11 +2056,11 @@ asmlinkage long sys_mknodat(int dfd, con
+@@ -2056,11 +2056,11 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const
break;
case S_IFCHR: case S_IFBLK:
error = vfs_mknod(nd.path.dentry->d_inode, dentry,
@@ -59,7 +59,7 @@ Signed-off-by: John Johansen
int (*inode_rename) (struct inode *old_dir, struct dentry *old_dentry,
struct inode *new_dir, struct dentry *new_dentry);
int (*inode_readlink) (struct dentry *dentry);
-@@ -1637,7 +1638,8 @@ int security_inode_symlink(struct inode
+@@ -1637,7 +1638,8 @@ int security_inode_symlink(struct inode
int security_inode_mkdir(struct inode *dir, struct dentry *dentry,
struct vfsmount *mnt, int mode);
int security_inode_rmdir(struct inode *dir, struct dentry *dentry);
@@ -79,7 +79,7 @@ Signed-off-by: John Johansen
return 0;
--- a/security/capability.c
+++ b/security/capability.c
-@@ -189,7 +189,7 @@ static int cap_inode_rmdir(struct inode
+@@ -189,7 +189,7 @@ static int cap_inode_rmdir(struct inode
}
static int cap_inode_mknod(struct inode *inode, struct dentry *dentry,
@@ -90,7 +90,7 @@ Signed-off-by: John Johansen
}
--- a/security/security.c
+++ b/security/security.c
-@@ -404,11 +404,12 @@ int security_inode_rmdir(struct inode *d
+@@ -401,11 +401,12 @@ int security_inode_rmdir(struct inode *d
return security_ops->inode_rmdir(dir, dentry);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-readlink.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-readlink.diff
similarity index 98%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-readlink.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-readlink.diff
index d805c07a0..3eab4f511 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-readlink.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-readlink.diff
@@ -77,7 +77,7 @@ Signed-off-by: John Johansen
}
--- a/security/security.c
+++ b/security/security.c
-@@ -422,11 +422,11 @@ int security_inode_rename(struct inode *
+@@ -419,11 +419,11 @@ int security_inode_rename(struct inode *
new_dir, new_dentry);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-removexattr.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-removexattr.diff
similarity index 98%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-removexattr.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-removexattr.diff
index 54ecb70de..ec595272e 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-removexattr.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-removexattr.diff
@@ -86,7 +86,7 @@ Signed-off-by: John Johansen
if (!capable(CAP_SETFCAP))
--- a/security/security.c
+++ b/security/security.c
-@@ -506,11 +506,12 @@ int security_inode_listxattr(struct dent
+@@ -503,11 +503,12 @@ int security_inode_listxattr(struct dent
return security_ops->inode_listxattr(dentry, mnt);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-rename.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-rename.diff
similarity index 98%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-rename.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-rename.diff
index b60915c3e..c20634719 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-rename.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-rename.diff
@@ -86,7 +86,7 @@ Signed-off-by: John Johansen
}
--- a/security/capability.c
+++ b/security/capability.c
-@@ -198,7 +198,8 @@ static int cap_inode_mknod(struct inode
+@@ -198,7 +198,8 @@ static int cap_inode_mknod(struct inode
}
static int cap_inode_rename(struct inode *old_inode, struct dentry *old_dentry,
@@ -98,7 +98,7 @@ Signed-off-by: John Johansen
}
--- a/security/security.c
+++ b/security/security.c
-@@ -417,13 +417,14 @@ int security_inode_mknod(struct inode *d
+@@ -414,13 +414,14 @@ int security_inode_mknod(struct inode *d
}
int security_inode_rename(struct inode *old_dir, struct dentry *old_dentry,
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-rmdir.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-rmdir.diff
similarity index 94%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-rmdir.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-rmdir.diff
index 683078fcc..30c8e3033 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-rmdir.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-rmdir.diff
@@ -18,7 +18,7 @@ Signed-off-by: John Johansen
--- a/fs/namei.c
+++ b/fs/namei.c
-@@ -2184,7 +2184,7 @@ int vfs_rmdir(struct inode *dir, struct
+@@ -2184,7 +2184,7 @@ int vfs_rmdir(struct inode *dir, struct
if (d_mountpoint(dentry))
error = -EBUSY;
else {
@@ -47,7 +47,7 @@ Signed-off-by: John Johansen
int (*inode_mknod) (struct inode *dir, struct dentry *dentry,
struct vfsmount *mnt, int mode, dev_t dev);
int (*inode_rename) (struct inode *old_dir, struct dentry *old_dentry,
-@@ -1643,7 +1645,8 @@ int security_inode_symlink(struct inode
+@@ -1643,7 +1645,8 @@ int security_inode_symlink(struct inode
struct vfsmount *mnt, const char *old_name);
int security_inode_mkdir(struct inode *dir, struct dentry *dentry,
struct vfsmount *mnt, int mode);
@@ -69,7 +69,7 @@ Signed-off-by: John Johansen
}
--- a/security/capability.c
+++ b/security/capability.c
-@@ -184,7 +184,8 @@ static int cap_inode_mkdir(struct inode
+@@ -184,7 +184,8 @@ static int cap_inode_mkdir(struct inode
return 0;
}
@@ -81,7 +81,7 @@ Signed-off-by: John Johansen
}
--- a/security/security.c
+++ b/security/security.c
-@@ -399,11 +399,12 @@ int security_inode_mkdir(struct inode *d
+@@ -396,11 +396,12 @@ int security_inode_mkdir(struct inode *d
return security_ops->inode_mkdir(dir, dentry, mnt, mode);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-setattr.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-setattr.diff
similarity index 98%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-setattr.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-setattr.diff
index 601e9570a..4854ab346 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-setattr.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-setattr.diff
@@ -100,7 +100,7 @@ Signed-off-by: John Johansen
}
--- a/security/security.c
+++ b/security/security.c
-@@ -441,11 +441,12 @@ int security_inode_permission(struct ino
+@@ -438,11 +438,12 @@ int security_inode_permission(struct ino
return security_ops->inode_permission(inode, mask);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-setxattr.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-setxattr.diff
similarity index 99%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-setxattr.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-setxattr.diff
index 87db51748..cf2e97c14 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-setxattr.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-setxattr.diff
@@ -150,7 +150,7 @@ Signed-off-by: John Johansen
if (!capable(CAP_SETFCAP))
--- a/security/security.c
+++ b/security/security.c
-@@ -471,20 +471,24 @@ void security_inode_delete(struct inode
+@@ -468,20 +468,24 @@ void security_inode_delete(struct inode
security_ops->inode_delete(inode);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-symlink.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-symlink.diff
similarity index 98%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-symlink.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-symlink.diff
index e855eda54..304800b51 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-symlink.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-symlink.diff
@@ -77,7 +77,7 @@ Signed-off-by: John Johansen
}
--- a/security/security.c
+++ b/security/security.c
-@@ -382,11 +382,11 @@ int security_inode_unlink(struct inode *
+@@ -379,11 +379,11 @@ int security_inode_unlink(struct inode *
}
int security_inode_symlink(struct inode *dir, struct dentry *dentry,
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-unlink.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-unlink.diff
similarity index 97%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-unlink.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-unlink.diff
index 71764b467..c4cfa8b81 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-unlink.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-unlink.diff
@@ -69,7 +69,7 @@ Signed-off-by: John Johansen
}
--- a/security/capability.c
+++ b/security/capability.c
-@@ -167,7 +167,8 @@ static int cap_inode_link(struct dentry
+@@ -167,7 +167,8 @@ static int cap_inode_link(struct dentry
return 0;
}
@@ -81,7 +81,7 @@ Signed-off-by: John Johansen
}
--- a/security/security.c
+++ b/security/security.c
-@@ -376,11 +376,12 @@ int security_inode_link(struct dentry *o
+@@ -373,11 +373,12 @@ int security_inode_link(struct dentry *o
new_dentry, new_mnt);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/security-xattr-file.diff b/src/patches/suse-2.6.27.31/patches.apparmor/security-xattr-file.diff
similarity index 92%
rename from src/patches/suse-2.6.27.25/patches.apparmor/security-xattr-file.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/security-xattr-file.diff
index a4fb9c887..2c0c3cccd 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/security-xattr-file.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/security-xattr-file.diff
@@ -19,8 +19,10 @@ Signed-off-by: John Johansen
security/smack/smack_lsm.c | 14 ++++++----
8 files changed, 87 insertions(+), 69 deletions(-)
---- a/fs/xattr.c
-+++ b/fs/xattr.c
+Index: linux-2.6.27/fs/xattr.c
+===================================================================
+--- linux-2.6.27.orig/fs/xattr.c
++++ linux-2.6.27/fs/xattr.c
@@ -68,7 +68,7 @@ xattr_permission(struct inode *inode, co
int
@@ -273,8 +275,10 @@ Signed-off-by: John Johansen
mnt_drop_write(f->f_path.mnt);
}
fput(f);
---- a/include/linux/security.h
-+++ b/include/linux/security.h
+Index: linux-2.6.27/include/linux/security.h
+===================================================================
+--- linux-2.6.27.orig/include/linux/security.h
++++ linux-2.6.27/include/linux/security.h
@@ -56,9 +56,9 @@ extern void cap_bprm_apply_creds(struct
extern int cap_bprm_secureexec(struct linux_binprm *bprm);
extern int cap_inode_setxattr(struct dentry *dentry, struct vfsmount *mnt,
@@ -373,8 +377,10 @@ Signed-off-by: John Johansen
}
static inline int security_inode_need_killpriv(struct dentry *dentry)
---- a/include/linux/xattr.h
-+++ b/include/linux/xattr.h
+Index: linux-2.6.27/include/linux/xattr.h
+===================================================================
+--- linux-2.6.27.orig/include/linux/xattr.h
++++ linux-2.6.27/include/linux/xattr.h
@@ -17,6 +17,7 @@
#include
@@ -398,8 +404,10 @@ Signed-off-by: John Johansen
ssize_t generic_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t size);
ssize_t generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size);
---- a/security/capability.c
-+++ b/security/capability.c
+Index: linux-2.6.27/security/capability.c
+===================================================================
+--- linux-2.6.27.orig/security/capability.c
++++ linux-2.6.27/security/capability.c
@@ -242,12 +242,13 @@ static void cap_inode_post_setxattr(stru
}
@@ -416,8 +424,10 @@ Signed-off-by: John Johansen
{
return 0;
}
---- a/security/commoncap.c
-+++ b/security/commoncap.c
+Index: linux-2.6.27/security/commoncap.c
+===================================================================
+--- linux-2.6.27.orig/security/commoncap.c
++++ linux-2.6.27/security/commoncap.c
@@ -416,7 +416,7 @@ int cap_bprm_secureexec (struct linux_bi
int cap_inode_setxattr(struct dentry *dentry, struct vfsmount *mnt,
@@ -436,9 +446,11 @@ Signed-off-by: John Johansen
{
if (!strcmp(name, XATTR_NAME_CAPS)) {
if (!capable(CAP_SETFCAP))
---- a/security/security.c
-+++ b/security/security.c
-@@ -473,12 +473,12 @@ void security_inode_delete(struct inode
+Index: linux-2.6.27/security/security.c
+===================================================================
+--- linux-2.6.27.orig/security/security.c
++++ linux-2.6.27/security/security.c
+@@ -470,12 +470,12 @@ void security_inode_delete(struct inode
int security_inode_setxattr(struct dentry *dentry, struct vfsmount *mnt,
const char *name, const void *value, size_t size,
@@ -453,7 +465,7 @@ Signed-off-by: John Johansen
}
void security_inode_post_setxattr(struct dentry *dentry, struct vfsmount *mnt,
-@@ -492,26 +492,27 @@ void security_inode_post_setxattr(struct
+@@ -489,26 +489,27 @@ void security_inode_post_setxattr(struct
}
int security_inode_getxattr(struct dentry *dentry, struct vfsmount *mnt,
@@ -487,8 +499,10 @@ Signed-off-by: John Johansen
}
int security_inode_need_killpriv(struct dentry *dentry)
---- a/security/selinux/hooks.c
-+++ b/security/selinux/hooks.c
+Index: linux-2.6.27/security/selinux/hooks.c
+===================================================================
+--- linux-2.6.27.orig/security/selinux/hooks.c
++++ linux-2.6.27/security/selinux/hooks.c
@@ -2715,7 +2715,7 @@ static int selinux_inode_setotherxattr(s
static int selinux_inode_setxattr(struct dentry *dentry, struct vfsmount *mnt,
@@ -522,8 +536,10 @@ Signed-off-by: John Johansen
{
if (strcmp(name, XATTR_NAME_SELINUX))
return selinux_inode_setotherxattr(dentry, name);
---- a/security/smack/smack_lsm.c
-+++ b/security/smack/smack_lsm.c
+Index: linux-2.6.27/security/smack/smack_lsm.c
+===================================================================
+--- linux-2.6.27.orig/security/smack/smack_lsm.c
++++ linux-2.6.27/security/smack/smack_lsm.c
@@ -600,6 +600,7 @@ static int smack_inode_getattr(struct vf
* @value: unused
* @size: unused
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/sysctl-pathname.diff b/src/patches/suse-2.6.27.31/patches.apparmor/sysctl-pathname.diff
similarity index 97%
rename from src/patches/suse-2.6.27.25/patches.apparmor/sysctl-pathname.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/sysctl-pathname.diff
index 599c76f1a..33c747c6a 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/sysctl-pathname.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/sysctl-pathname.diff
@@ -27,7 +27,7 @@ Reviewed-by: James Morris
void __user *newval, size_t newlen);
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
-@@ -1554,6 +1554,33 @@ void register_sysctl_root(struct ctl_tab
+@@ -1552,6 +1552,33 @@ void register_sysctl_root(struct ctl_tab
spin_unlock(&sysctl_lock);
}
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/unambiguous-__d_path.diff b/src/patches/suse-2.6.27.31/patches.apparmor/unambiguous-__d_path.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/unambiguous-__d_path.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/unambiguous-__d_path.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-getxattr.diff b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-getxattr.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/vfs-getxattr.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/vfs-getxattr.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-link.diff b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-link.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/vfs-link.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/vfs-link.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-listxattr.diff b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-listxattr.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/vfs-listxattr.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/vfs-listxattr.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-mkdir.diff b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-mkdir.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/vfs-mkdir.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/vfs-mkdir.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-mknod.diff b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-mknod.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/vfs-mknod.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/vfs-mknod.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-notify_change.diff b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-notify_change.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/vfs-notify_change.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/vfs-notify_change.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-removexattr.diff b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-removexattr.diff
similarity index 91%
rename from src/patches/suse-2.6.27.25/patches.apparmor/vfs-removexattr.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/vfs-removexattr.diff
index a3153f406..18d6fee99 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-removexattr.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-removexattr.diff
@@ -14,6 +14,8 @@ Signed-off-by: John Johansen
include/linux/xattr.h | 2 +-
3 files changed, 13 insertions(+), 12 deletions(-)
+Index: linux-2.6.27/fs/nfsd/vfs.c
+===================================================================
--- linux-2.6.27.orig/fs/nfsd/vfs.c
+++ linux-2.6.27/fs/nfsd/vfs.c
@@ -2095,6 +2095,7 @@ nfsd_get_posix_acl(struct svc_fh *fhp, i
@@ -52,6 +54,8 @@ Signed-off-by: John Johansen
getout:
kfree(value);
+Index: linux-2.6.27/fs/xattr.c
+===================================================================
--- linux-2.6.27.orig/fs/xattr.c
+++ linux-2.6.27/fs/xattr.c
@@ -190,7 +190,7 @@ vfs_listxattr(struct dentry *dentry, str
@@ -81,7 +85,7 @@ Signed-off-by: John Johansen
}
SYSCALL_DEFINE2(removexattr, const char __user *, pathname,
-@@ -496,7 +496,7 @@ SYSCALL_DEFINE2(removexattr, const char
+@@ -496,7 +496,7 @@ SYSCALL_DEFINE2(removexattr, const char
return error;
error = mnt_want_write(path.mnt);
if (!error) {
@@ -108,6 +112,8 @@ Signed-off-by: John Johansen
mnt_drop_write(f->f_path.mnt);
}
fput(f);
+Index: linux-2.6.27/include/linux/xattr.h
+===================================================================
--- linux-2.6.27.orig/include/linux/xattr.h
+++ linux-2.6.27/include/linux/xattr.h
@@ -51,7 +51,7 @@ ssize_t xattr_getsecurity(struct inode *
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-rename.diff b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-rename.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/vfs-rename.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/vfs-rename.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-rmdir.diff b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-rmdir.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/vfs-rmdir.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/vfs-rmdir.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-setxattr.diff b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-setxattr.diff
similarity index 94%
rename from src/patches/suse-2.6.27.25/patches.apparmor/vfs-setxattr.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/vfs-setxattr.diff
index f95a34640..919a68fff 100644
--- a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-setxattr.diff
+++ b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-setxattr.diff
@@ -14,6 +14,8 @@ Signed-off-by: John Johansen
include/linux/xattr.h | 3 ++-
3 files changed, 21 insertions(+), 14 deletions(-)
+Index: linux-2.6.27/fs/nfsd/vfs.c
+===================================================================
--- linux-2.6.27.orig/fs/nfsd/vfs.c
+++ linux-2.6.27/fs/nfsd/vfs.c
@@ -438,7 +438,8 @@ static ssize_t nfsd_getxattr(struct dent
@@ -78,6 +80,8 @@ Signed-off-by: John Johansen
else {
if (!S_ISDIR(inode->i_mode) && type == ACL_TYPE_DEFAULT)
error = 0;
+Index: linux-2.6.27/fs/xattr.c
+===================================================================
--- linux-2.6.27.orig/fs/xattr.c
+++ linux-2.6.27/fs/xattr.c
@@ -67,8 +67,8 @@ xattr_permission(struct inode *inode, co
@@ -138,6 +142,8 @@ Signed-off-by: John Johansen
mnt_drop_write(f->f_path.mnt);
}
fput(f);
+Index: linux-2.6.27/include/linux/xattr.h
+===================================================================
--- linux-2.6.27.orig/include/linux/xattr.h
+++ linux-2.6.27/include/linux/xattr.h
@@ -16,6 +16,7 @@
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-symlink.diff b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-symlink.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/vfs-symlink.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/vfs-symlink.diff
diff --git a/src/patches/suse-2.6.27.25/patches.apparmor/vfs-unlink.diff b/src/patches/suse-2.6.27.31/patches.apparmor/vfs-unlink.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.apparmor/vfs-unlink.diff
rename to src/patches/suse-2.6.27.31/patches.apparmor/vfs-unlink.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/0000-ACPI-video-Ignore-devices-not-present.patch b/src/patches/suse-2.6.27.31/patches.arch/0000-ACPI-video-Ignore-devices-not-present.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/0000-ACPI-video-Ignore-devices-not-present.patch
rename to src/patches/suse-2.6.27.31/patches.arch/0000-ACPI-video-Ignore-devices-not-present.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/0001-Check-for-ACPI-backlight-support.patch b/src/patches/suse-2.6.27.31/patches.arch/0001-Check-for-ACPI-backlight-support.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/0001-Check-for-ACPI-backlight-support.patch
rename to src/patches/suse-2.6.27.31/patches.arch/0001-Check-for-ACPI-backlight-support.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/0002-Acer-WMI-fingers-off-backlight-video.ko.patch b/src/patches/suse-2.6.27.31/patches.arch/0002-Acer-WMI-fingers-off-backlight-video.ko.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/0002-Acer-WMI-fingers-off-backlight-video.ko.patch
rename to src/patches/suse-2.6.27.31/patches.arch/0002-Acer-WMI-fingers-off-backlight-video.ko.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/0003-Asus-acpi-fingers-off-backlight.patch b/src/patches/suse-2.6.27.31/patches.arch/0003-Asus-acpi-fingers-off-backlight.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/0003-Asus-acpi-fingers-off-backlight.patch
rename to src/patches/suse-2.6.27.31/patches.arch/0003-Asus-acpi-fingers-off-backlight.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/0004-Compal-fingers-off-backlight.patch b/src/patches/suse-2.6.27.31/patches.arch/0004-Compal-fingers-off-backlight.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/0004-Compal-fingers-off-backlight.patch
rename to src/patches/suse-2.6.27.31/patches.arch/0004-Compal-fingers-off-backlight.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/0005-eeepc-laptop-fingers-off.patch b/src/patches/suse-2.6.27.31/patches.arch/0005-eeepc-laptop-fingers-off.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/0005-eeepc-laptop-fingers-off.patch
rename to src/patches/suse-2.6.27.31/patches.arch/0005-eeepc-laptop-fingers-off.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/0006-fujitsu-laptop-fingers-off-backlight.patch b/src/patches/suse-2.6.27.31/patches.arch/0006-fujitsu-laptop-fingers-off-backlight.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/0006-fujitsu-laptop-fingers-off-backlight.patch
rename to src/patches/suse-2.6.27.31/patches.arch/0006-fujitsu-laptop-fingers-off-backlight.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/0007-msi-laptop-fingers-off-backlight.patch b/src/patches/suse-2.6.27.31/patches.arch/0007-msi-laptop-fingers-off-backlight.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/0007-msi-laptop-fingers-off-backlight.patch
rename to src/patches/suse-2.6.27.31/patches.arch/0007-msi-laptop-fingers-off-backlight.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/0008-sony-laptop-fingers-off-backlight.patch b/src/patches/suse-2.6.27.31/patches.arch/0008-sony-laptop-fingers-off-backlight.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/0008-sony-laptop-fingers-off-backlight.patch
rename to src/patches/suse-2.6.27.31/patches.arch/0008-sony-laptop-fingers-off-backlight.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/0009-thinkpad_acpi-fingers-off-backlight.patch b/src/patches/suse-2.6.27.31/patches.arch/0009-thinkpad_acpi-fingers-off-backlight.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/0009-thinkpad_acpi-fingers-off-backlight.patch
rename to src/patches/suse-2.6.27.31/patches.arch/0009-thinkpad_acpi-fingers-off-backlight.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-bay-remove-from-makefile b/src/patches/suse-2.6.27.31/patches.arch/acpi-bay-remove-from-makefile
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-bay-remove-from-makefile
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-bay-remove-from-makefile
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-bay-remove-useless-code.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi-bay-remove-useless-code.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-bay-remove-useless-code.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-bay-remove-useless-code.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-dock-Fix-duplicate-notification-handler-register.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi-dock-Fix-duplicate-notification-handler-register.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-dock-Fix-duplicate-notification-handler-register.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-dock-Fix-duplicate-notification-handler-register.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-dock-_LCK-support-for-dock.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi-dock-_LCK-support-for-dock.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-dock-_LCK-support-for-dock.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-dock-_LCK-support-for-dock.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-dock-add-type-sysfs-file-for-dock.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi-dock-add-type-sysfs-file-for-dock.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-dock-add-type-sysfs-file-for-dock.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-dock-add-type-sysfs-file-for-dock.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-dock-don-t-eval-_sta-on-every-show_docked-sysfs-read.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi-dock-don-t-eval-_sta-on-every-show_docked-sysfs-read.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-dock-don-t-eval-_sta-on-every-show_docked-sysfs-read.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-dock-don-t-eval-_sta-on-every-show_docked-sysfs-read.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-dock-fix-eject-request-process.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi-dock-fix-eject-request-process.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-dock-fix-eject-request-process.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-dock-fix-eject-request-process.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-dock-fix-for-bay-in-a-dock-station.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi-dock-fix-for-bay-in-a-dock-station.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-dock-fix-for-bay-in-a-dock-station.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-dock-fix-for-bay-in-a-dock-station.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-dock-fix-hotplug-race.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi-dock-fix-hotplug-race.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-dock-fix-hotplug-race.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-dock-fix-hotplug-race.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-dock-introduce-.uevent-for-devices-in-dock.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi-dock-introduce-.uevent-for-devices-in-dock.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-dock-introduce-.uevent-for-devices-in-dock.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-dock-introduce-.uevent-for-devices-in-dock.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-dock-makeing-dock-driver-supports-bay-and-battery-hotplug.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi-dock-makeing-dock-driver-supports-bay-and-battery-hotplug.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-dock-makeing-dock-driver-supports-bay-and-battery-hotplug.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-dock-makeing-dock-driver-supports-bay-and-battery-hotplug.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-export-hotplug_execute b/src/patches/suse-2.6.27.31/patches.arch/acpi-export-hotplug_execute
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-export-hotplug_execute
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-export-hotplug_execute
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi-libata-hotplug-to-align-with-dock-driver.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi-libata-hotplug-to-align-with-dock-driver.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi-libata-hotplug-to-align-with-dock-driver.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi-libata-hotplug-to-align-with-dock-driver.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_behave_uniquely_based_on_processor_declaration.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_behave_uniquely_based_on_processor_declaration.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_behave_uniquely_based_on_processor_declaration.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_behave_uniquely_based_on_processor_declaration.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_disambiguate_processor_declaration_type.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_disambiguate_processor_declaration_type.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_disambiguate_processor_declaration_type.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_disambiguate_processor_declaration_type.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_ec_provide_non_interrupt_mode_boot_param.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_ec_provide_non_interrupt_mode_boot_param.patch
similarity index 93%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_ec_provide_non_interrupt_mode_boot_param.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_ec_provide_non_interrupt_mode_boot_param.patch
index 2dd543b8e..db2d4d69d 100644
--- a/src/patches/suse-2.6.27.25/patches.arch/acpi_ec_provide_non_interrupt_mode_boot_param.patch
+++ b/src/patches/suse-2.6.27.31/patches.arch/acpi_ec_provide_non_interrupt_mode_boot_param.patch
@@ -18,7 +18,7 @@ Signed-off-by: Alexey Starikovskiy
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
-@@ -699,6 +699,11 @@ and is between 256 and 4096 characters.
+@@ -706,6 +706,11 @@ and is between 256 and 4096 characters.
eata= [HW,SCSI]
@@ -50,7 +50,7 @@ Signed-off-by: Alexey Starikovskiy
acpi_set_gpe_type(NULL, ec->gpe, ACPI_GPE_TYPE_RUNTIME);
acpi_enable_gpe(NULL, ec->gpe, ACPI_NOT_ISR);
status = acpi_install_address_space_handler(ec->handle,
-@@ -1094,3 +1098,14 @@ static void __exit acpi_ec_exit(void)
+@@ -1095,3 +1099,14 @@ static void __exit acpi_ec_exit(void)
return;
}
#endif /* 0 */
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_processor_cleanups.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_processor_cleanups.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_processor_cleanups.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_processor_cleanups.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_srat-pxm-rev-ia64.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_srat-pxm-rev-ia64.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_srat-pxm-rev-ia64.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_srat-pxm-rev-ia64.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_srat-pxm-rev-store.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_srat-pxm-rev-store.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_srat-pxm-rev-store.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_srat-pxm-rev-store.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_srat-pxm-rev-x86-64.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_srat-pxm-rev-x86-64.patch
similarity index 91%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_srat-pxm-rev-x86-64.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_srat-pxm-rev-x86-64.patch
index 6a7f6de5c..53430f270 100644
--- a/src/patches/suse-2.6.27.25/patches.arch/acpi_srat-pxm-rev-x86-64.patch
+++ b/src/patches/suse-2.6.27.31/patches.arch/acpi_srat-pxm-rev-x86-64.patch
@@ -21,7 +21,7 @@ Signed-off-by: Kurt Garloff
--- a/arch/x86/mm/srat_64.c
+++ b/arch/x86/mm/srat_64.c
-@@ -131,6 +131,8 @@ acpi_numa_processor_affinity_init(struct
+@@ -133,6 +133,8 @@ acpi_numa_processor_affinity_init(struct
if ((pa->flags & ACPI_SRAT_CPU_ENABLED) == 0)
return;
pxm = pa->proximity_domain_lo;
@@ -30,7 +30,7 @@ Signed-off-by: Kurt Garloff
node = setup_node(pxm);
if (node < 0) {
printk(KERN_ERR "SRAT: Too many proximity domains %x\n", pxm);
-@@ -241,6 +243,8 @@ acpi_numa_memory_affinity_init(struct ac
+@@ -243,6 +245,8 @@ acpi_numa_memory_affinity_init(struct ac
start = ma->base_address;
end = start + ma->length;
pxm = ma->proximity_domain;
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_thermal_passive_blacklist.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_thermal_passive_blacklist.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_thermal_passive_blacklist.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_thermal_passive_blacklist.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_thinkpad_introduce_acpi_root_table_boot_param.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_thinkpad_introduce_acpi_root_table_boot_param.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_thinkpad_introduce_acpi_root_table_boot_param.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_thinkpad_introduce_acpi_root_table_boot_param.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_thinkpad_introduce_acpica_rsdt_global_variable.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_thinkpad_introduce_acpica_rsdt_global_variable.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_thinkpad_introduce_acpica_rsdt_global_variable.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_thinkpad_introduce_acpica_rsdt_global_variable.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_thinkpad_remove_R40e_c-state_blacklist.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_thinkpad_remove_R40e_c-state_blacklist.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_thinkpad_remove_R40e_c-state_blacklist.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_thinkpad_remove_R40e_c-state_blacklist.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_video_thinkpad_exclude_IGD_devices.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_video_thinkpad_exclude_IGD_devices.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_video_thinkpad_exclude_IGD_devices.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_video_thinkpad_exclude_IGD_devices.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/acpi_x2APIC_madt_enhancements.patch b/src/patches/suse-2.6.27.31/patches.arch/acpi_x2APIC_madt_enhancements.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/acpi_x2APIC_madt_enhancements.patch
rename to src/patches/suse-2.6.27.31/patches.arch/acpi_x2APIC_madt_enhancements.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/check-for-acpi-resource-conflicts-in-hwmon-drivers.patch b/src/patches/suse-2.6.27.31/patches.arch/check-for-acpi-resource-conflicts-in-hwmon-drivers.patch
similarity index 99%
rename from src/patches/suse-2.6.27.25/patches.arch/check-for-acpi-resource-conflicts-in-hwmon-drivers.patch
rename to src/patches/suse-2.6.27.31/patches.arch/check-for-acpi-resource-conflicts-in-hwmon-drivers.patch
index ccffcba85..2b398303d 100644
--- a/src/patches/suse-2.6.27.25/patches.arch/check-for-acpi-resource-conflicts-in-hwmon-drivers.patch
+++ b/src/patches/suse-2.6.27.31/patches.arch/check-for-acpi-resource-conflicts-in-hwmon-drivers.patch
@@ -216,7 +216,7 @@ Signed-off-by: Andrew Morton
#include
static unsigned short force_id;
-@@ -705,6 +706,10 @@ static int __init smsc47m1_device_add(un
+@@ -716,6 +717,10 @@ static int __init smsc47m1_device_add(un
};
int err;
diff --git a/src/patches/suse-2.6.27.25/patches.arch/compat-sys-swapcontext b/src/patches/suse-2.6.27.31/patches.arch/compat-sys-swapcontext
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/compat-sys-swapcontext
rename to src/patches/suse-2.6.27.31/patches.arch/compat-sys-swapcontext
diff --git a/src/patches/suse-2.6.27.25/patches.arch/disable-apic-error b/src/patches/suse-2.6.27.31/patches.arch/disable-apic-error
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/disable-apic-error
rename to src/patches/suse-2.6.27.31/patches.arch/disable-apic-error
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ia64-cpu_disable-fix b/src/patches/suse-2.6.27.31/patches.arch/ia64-cpu_disable-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ia64-cpu_disable-fix
rename to src/patches/suse-2.6.27.31/patches.arch/ia64-cpu_disable-fix
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ia64-node_mem_map-node_start_pfn.diff b/src/patches/suse-2.6.27.31/patches.arch/ia64-node_mem_map-node_start_pfn.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ia64-node_mem_map-node_start_pfn.diff
rename to src/patches/suse-2.6.27.31/patches.arch/ia64-node_mem_map-node_start_pfn.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ia64-page-migration b/src/patches/suse-2.6.27.31/patches.arch/ia64-page-migration
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ia64-page-migration
rename to src/patches/suse-2.6.27.31/patches.arch/ia64-page-migration
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ia64-page-migration.fix b/src/patches/suse-2.6.27.31/patches.arch/ia64-page-migration.fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ia64-page-migration.fix
rename to src/patches/suse-2.6.27.31/patches.arch/ia64-page-migration.fix
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ia64-rwlocks-enable-interrupts b/src/patches/suse-2.6.27.31/patches.arch/ia64-rwlocks-enable-interrupts
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ia64-rwlocks-enable-interrupts
rename to src/patches/suse-2.6.27.31/patches.arch/ia64-rwlocks-enable-interrupts
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ia64-smp_flush_tlb_mm-IPI-fix b/src/patches/suse-2.6.27.31/patches.arch/ia64-smp_flush_tlb_mm-IPI-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ia64-smp_flush_tlb_mm-IPI-fix
rename to src/patches/suse-2.6.27.31/patches.arch/ia64-smp_flush_tlb_mm-IPI-fix
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ia64-sn-BTE_MAX_XFER b/src/patches/suse-2.6.27.31/patches.arch/ia64-sn-BTE_MAX_XFER
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ia64-sn-BTE_MAX_XFER
rename to src/patches/suse-2.6.27.31/patches.arch/ia64-sn-BTE_MAX_XFER
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ia64-sn-fix-pci-attribute-propagation-bug.patch b/src/patches/suse-2.6.27.31/patches.arch/ia64-sn-fix-pci-attribute-propagation-bug.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ia64-sn-fix-pci-attribute-propagation-bug.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ia64-sn-fix-pci-attribute-propagation-bug.patch
diff --git a/src/patches/suse-2.6.27.31/patches.arch/ia64-sn-specific-version-of-dma_get_required_mask b/src/patches/suse-2.6.27.31/patches.arch/ia64-sn-specific-version-of-dma_get_required_mask
new file mode 100644
index 000000000..f329edaa5
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/ia64-sn-specific-version-of-dma_get_required_mask
@@ -0,0 +1,192 @@
+From: John Keller
+Date: Mon, 24 Nov 2008 22:47:17 +0000 (-0600)
+Subject: [IA64] SN specific version of dma_get_required_mask()
+Patch-mainline: 2.6.29-rc2
+Git-commit: 175add1981e53d22caba8f42d5f924a4de507b6c
+References: bnc#529369
+
+[IA64] SN specific version of dma_get_required_mask()
+
+Create a platform specific version of dma_get_required_mask()
+for ia64 SN Altix. All SN Altix platforms support 64 bit DMA
+addressing regardless of the size of system memory.
+Create an ia64 machvec for dma_get_required_mask, with the
+SN version unconditionally returning DMA_64BIT_MASK.
+
+Signed-off-by: John Keller
+Signed-off-by: Tony Luck
+Acked-by: Jeff Mahoney
+---
+ Documentation/DMA-API.txt | 9 ++++-----
+ arch/ia64/include/asm/dma-mapping.h | 2 ++
+ arch/ia64/include/asm/machvec.h | 7 +++++++
+ arch/ia64/include/asm/machvec_init.h | 1 +
+ arch/ia64/include/asm/machvec_sn2.h | 2 ++
+ arch/ia64/pci/pci.c | 27 +++++++++++++++++++++++++++
+ arch/ia64/sn/pci/pci_dma.c | 6 ++++++
+ 7 files changed, 49 insertions(+), 5 deletions(-)
+
+--- a/Documentation/DMA-API.txt
++++ b/Documentation/DMA-API.txt
+@@ -170,16 +170,15 @@ Returns: 0 if successful and a negative
+ u64
+ dma_get_required_mask(struct device *dev)
+
+-After setting the mask with dma_set_mask(), this API returns the
+-actual mask (within that already set) that the platform actually
+-requires to operate efficiently. Usually this means the returned mask
++This API returns the mask that the platform requires to
++operate efficiently. Usually this means the returned mask
+ is the minimum required to cover all of memory. Examining the
+ required mask gives drivers with variable descriptor sizes the
+ opportunity to use smaller descriptors as necessary.
+
+ Requesting the required mask does not alter the current mask. If you
+-wish to take advantage of it, you should issue another dma_set_mask()
+-call to lower the mask again.
++wish to take advantage of it, you should issue a dma_set_mask()
++call to set the mask to the value returned.
+
+
+ Part Id - Streaming DMA mappings
+--- a/arch/ia64/include/asm/dma-mapping.h
++++ b/arch/ia64/include/asm/dma-mapping.h
+@@ -8,6 +8,8 @@
+ #include
+ #include
+
++#define ARCH_HAS_DMA_GET_REQUIRED_MASK
++
+ #define dma_alloc_coherent platform_dma_alloc_coherent
+ /* coherent mem. is cheap */
+ static inline void *
+--- a/arch/ia64/include/asm/machvec.h
++++ b/arch/ia64/include/asm/machvec.h
+@@ -61,6 +61,7 @@ typedef dma_addr_t ia64_mv_dma_map_singl
+ typedef void ia64_mv_dma_unmap_single_attrs (struct device *, dma_addr_t, size_t, int, struct dma_attrs *);
+ typedef int ia64_mv_dma_map_sg_attrs (struct device *, struct scatterlist *, int, int, struct dma_attrs *);
+ typedef void ia64_mv_dma_unmap_sg_attrs (struct device *, struct scatterlist *, int, int, struct dma_attrs *);
++typedef u64 ia64_mv_dma_get_required_mask (struct device *);
+
+ /*
+ * WARNING: The legacy I/O space is _architected_. Platforms are
+@@ -154,6 +155,7 @@ extern void machvec_tlb_migrate_finish (
+ # define platform_dma_sync_sg_for_device ia64_mv.dma_sync_sg_for_device
+ # define platform_dma_mapping_error ia64_mv.dma_mapping_error
+ # define platform_dma_supported ia64_mv.dma_supported
++# define platform_dma_get_required_mask ia64_mv.dma_get_required_mask
+ # define platform_irq_to_vector ia64_mv.irq_to_vector
+ # define platform_local_vector_to_irq ia64_mv.local_vector_to_irq
+ # define platform_pci_get_legacy_mem ia64_mv.pci_get_legacy_mem
+@@ -208,6 +210,7 @@ struct ia64_machine_vector {
+ ia64_mv_dma_sync_sg_for_device *dma_sync_sg_for_device;
+ ia64_mv_dma_mapping_error *dma_mapping_error;
+ ia64_mv_dma_supported *dma_supported;
++ ia64_mv_dma_get_required_mask *dma_get_required_mask;
+ ia64_mv_irq_to_vector *irq_to_vector;
+ ia64_mv_local_vector_to_irq *local_vector_to_irq;
+ ia64_mv_pci_get_legacy_mem_t *pci_get_legacy_mem;
+@@ -258,6 +261,7 @@ struct ia64_machine_vector {
+ platform_dma_sync_sg_for_device, \
+ platform_dma_mapping_error, \
+ platform_dma_supported, \
++ platform_dma_get_required_mask, \
+ platform_irq_to_vector, \
+ platform_local_vector_to_irq, \
+ platform_pci_get_legacy_mem, \
+@@ -382,6 +386,9 @@ extern ia64_mv_dma_supported swiotlb_dm
+ #ifndef platform_dma_supported
+ # define platform_dma_supported swiotlb_dma_supported
+ #endif
++#ifndef platform_dma_get_required_mask
++# define platform_dma_get_required_mask ia64_dma_get_required_mask
++#endif
+ #ifndef platform_irq_to_vector
+ # define platform_irq_to_vector __ia64_irq_to_vector
+ #endif
+--- a/arch/ia64/include/asm/machvec_init.h
++++ b/arch/ia64/include/asm/machvec_init.h
+@@ -2,6 +2,7 @@
+
+ extern ia64_mv_send_ipi_t ia64_send_ipi;
+ extern ia64_mv_global_tlb_purge_t ia64_global_tlb_purge;
++extern ia64_mv_dma_get_required_mask ia64_dma_get_required_mask;
+ extern ia64_mv_irq_to_vector __ia64_irq_to_vector;
+ extern ia64_mv_local_vector_to_irq __ia64_local_vector_to_irq;
+ extern ia64_mv_pci_get_legacy_mem_t ia64_pci_get_legacy_mem;
+--- a/arch/ia64/include/asm/machvec_sn2.h
++++ b/arch/ia64/include/asm/machvec_sn2.h
+@@ -67,6 +67,7 @@ extern ia64_mv_dma_sync_single_for_devic
+ extern ia64_mv_dma_sync_sg_for_device sn_dma_sync_sg_for_device;
+ extern ia64_mv_dma_mapping_error sn_dma_mapping_error;
+ extern ia64_mv_dma_supported sn_dma_supported;
++extern ia64_mv_dma_get_required_mask sn_dma_get_required_mask;
+ extern ia64_mv_migrate_t sn_migrate;
+ extern ia64_mv_kernel_launch_event_t sn_kernel_launch_event;
+ extern ia64_mv_setup_msi_irq_t sn_setup_msi_irq;
+@@ -123,6 +124,7 @@ extern ia64_mv_pci_fixup_bus_t sn_pci_f
+ #define platform_dma_sync_sg_for_device sn_dma_sync_sg_for_device
+ #define platform_dma_mapping_error sn_dma_mapping_error
+ #define platform_dma_supported sn_dma_supported
++#define platform_dma_get_required_mask sn_dma_get_required_mask
+ #define platform_migrate sn_migrate
+ #define platform_kernel_launch_event sn_kernel_launch_event
+ #ifdef CONFIG_PCI_MSI
+--- a/arch/ia64/pci/pci.c
++++ b/arch/ia64/pci/pci.c
+@@ -19,6 +19,7 @@
+ #include
+ #include
+ #include
++#include
+
+ #include
+ #include
+@@ -743,6 +744,32 @@ static void __init set_pci_cacheline_siz
+ pci_cache_line_size = (1 << cci.pcci_line_size) / 4;
+ }
+
++u64 ia64_dma_get_required_mask(struct device *dev)
++{
++ u32 low_totalram = ((max_pfn - 1) << PAGE_SHIFT);
++ u32 high_totalram = ((max_pfn - 1) >> (32 - PAGE_SHIFT));
++ u64 mask;
++
++ if (!high_totalram) {
++ /* convert to mask just covering totalram */
++ low_totalram = (1 << (fls(low_totalram) - 1));
++ low_totalram += low_totalram - 1;
++ mask = low_totalram;
++ } else {
++ high_totalram = (1 << (fls(high_totalram) - 1));
++ high_totalram += high_totalram - 1;
++ mask = (((u64)high_totalram) << 32) + 0xffffffff;
++ }
++ return mask;
++}
++EXPORT_SYMBOL_GPL(ia64_dma_get_required_mask);
++
++u64 dma_get_required_mask(struct device *dev)
++{
++ return platform_dma_get_required_mask(dev);
++}
++EXPORT_SYMBOL_GPL(dma_get_required_mask);
++
+ static int __init pcibios_init(void)
+ {
+ set_pci_cacheline_size();
+--- a/arch/ia64/sn/pci/pci_dma.c
++++ b/arch/ia64/sn/pci/pci_dma.c
+@@ -356,6 +356,12 @@ int sn_dma_mapping_error(struct device *
+ }
+ EXPORT_SYMBOL(sn_dma_mapping_error);
+
++u64 sn_dma_get_required_mask(struct device *dev)
++{
++ return DMA_64BIT_MASK;
++}
++EXPORT_SYMBOL_GPL(sn_dma_get_required_mask);
++
+ char *sn_pci_get_legacy_mem(struct pci_bus *bus)
+ {
+ if (!SN_PCIBUS_BUSSOFT(bus))
diff --git a/src/patches/suse-2.6.27.25/patches.arch/mm-avoid-bad-page-on-lru b/src/patches/suse-2.6.27.31/patches.arch/mm-avoid-bad-page-on-lru
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/mm-avoid-bad-page-on-lru
rename to src/patches/suse-2.6.27.31/patches.arch/mm-avoid-bad-page-on-lru
diff --git a/src/patches/suse-2.6.27.25/patches.arch/powerpc-pseries-cmo-unused-page-hinting.patch b/src/patches/suse-2.6.27.31/patches.arch/powerpc-pseries-cmo-unused-page-hinting.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/powerpc-pseries-cmo-unused-page-hinting.patch
rename to src/patches/suse-2.6.27.31/patches.arch/powerpc-pseries-cmo-unused-page-hinting.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-altivec-VSX-ctxswitch b/src/patches/suse-2.6.27.31/patches.arch/ppc-altivec-VSX-ctxswitch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-altivec-VSX-ctxswitch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-altivec-VSX-ctxswitch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-axon-missing-msi-workaround-5.diff b/src/patches/suse-2.6.27.31/patches.arch/ppc-axon-missing-msi-workaround-5.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-axon-missing-msi-workaround-5.diff
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-axon-missing-msi-workaround-5.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-cell-gdb-watchpoints.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-cell-gdb-watchpoints.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-cell-gdb-watchpoints.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-cell-gdb-watchpoints.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-clock_gettime-nanoseconds.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-clock_gettime-nanoseconds.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-clock_gettime-nanoseconds.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-clock_gettime-nanoseconds.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-dynamic-reconfiguration.diff b/src/patches/suse-2.6.27.31/patches.arch/ppc-dynamic-reconfiguration.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-dynamic-reconfiguration.diff
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-dynamic-reconfiguration.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-efika-bestcomm-ata-dma.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-efika-bestcomm-ata-dma.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-efika-bestcomm-ata-dma.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-efika-bestcomm-ata-dma.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-efika-mpc52xx-ac97.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-efika-mpc52xx-ac97.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-efika-mpc52xx-ac97.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-efika-mpc52xx-ac97.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-efika-psc-console-autodetection.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-efika-psc-console-autodetection.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-efika-psc-console-autodetection.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-efika-psc-console-autodetection.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-fix-ppc-insn-emulation_mr.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-fix-ppc-insn-emulation_mr.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-fix-ppc-insn-emulation_mr.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-fix-ppc-insn-emulation_mr.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-ipic-suspend-without-83xx-fix b/src/patches/suse-2.6.27.31/patches.arch/ppc-ipic-suspend-without-83xx-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-ipic-suspend-without-83xx-fix
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-ipic-suspend-without-83xx-fix
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-memoryless-nodes.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-memoryless-nodes.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-memoryless-nodes.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-memoryless-nodes.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-of-irq-map.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-of-irq-map.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-of-irq-map.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-of-irq-map.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-oprofile-spu-mutex-locking.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-oprofile-spu-mutex-locking.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-oprofile-spu-mutex-locking.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-oprofile-spu-mutex-locking.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-oprofile-spu.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-oprofile-spu.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-oprofile-spu.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-oprofile-spu.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-optimize-sync.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-optimize-sync.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-optimize-sync.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-optimize-sync.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-pcibios_allocate_bus_resources.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-pcibios_allocate_bus_resources.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-pcibios_allocate_bus_resources.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-pcibios_allocate_bus_resources.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-pegasos-console-autodetection.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-pegasos-console-autodetection.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-pegasos-console-autodetection.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-pegasos-console-autodetection.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-powerpc-debug-pci-hotplug.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-powerpc-debug-pci-hotplug.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-powerpc-debug-pci-hotplug.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-powerpc-debug-pci-hotplug.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-powerpc-fix-pci-unmap-io.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-powerpc-fix-pci-unmap-io.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-powerpc-fix-pci-unmap-io.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-powerpc-fix-pci-unmap-io.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-prom-nodisplay.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-prom-nodisplay.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-prom-nodisplay.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-prom-nodisplay.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-ps3-add-passthrough-support-for-non-audio-streams.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-ps3-add-passthrough-support-for-non-audio-streams.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-ps3-add-passthrough-support-for-non-audio-streams.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-ps3-add-passthrough-support-for-non-audio-streams.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-ps3-add-ps3av-audio-mute-analog.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-ps3-add-ps3av-audio-mute-analog.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-ps3-add-ps3av-audio-mute-analog.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-ps3-add-ps3av-audio-mute-analog.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-ps3-add-support-for-SPDIF-HDMI-passthrough.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-ps3-add-support-for-SPDIF-HDMI-passthrough.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-ps3-add-support-for-SPDIF-HDMI-passthrough.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-ps3-add-support-for-SPDIF-HDMI-passthrough.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-ps3-introduce-ps3_gpu_mutex.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-ps3-introduce-ps3_gpu_mutex.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-ps3-introduce-ps3_gpu_mutex.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-ps3-introduce-ps3_gpu_mutex.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-ps3-ps3vram-mtd.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-ps3-ps3vram-mtd.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-ps3-ps3vram-mtd.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-ps3-ps3vram-mtd.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-pseries-bsr-4k.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-bsr-4k.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-pseries-bsr-4k.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-bsr-4k.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-pseries-bsr-multinode.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-bsr-multinode.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-pseries-bsr-multinode.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-bsr-multinode.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-pseries-cmm-pagecounter.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-cmm-pagecounter.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-pseries-cmm-pagecounter.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-cmm-pagecounter.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-pseries-cpu-migrate.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-cpu-migrate.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-pseries-cpu-migrate.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-cpu-migrate.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-pseries-migration_hang_fix.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-migration_hang_fix.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-pseries-migration_hang_fix.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-migration_hang_fix.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-pseries_pfn-mem-rm.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-pseries_pfn-mem-rm.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-pseries_pfn-mem-rm.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-pseries_pfn-mem-rm.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-pseries_remove_lmb-PAGE_SHIFTT.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-pseries_remove_lmb-PAGE_SHIFTT.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-pseries_remove_lmb-PAGE_SHIFTT.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-pseries_remove_lmb-PAGE_SHIFTT.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-select b/src/patches/suse-2.6.27.31/patches.arch/ppc-select
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-select
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-select
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-01-use-inc_nlink.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-01-use-inc_nlink.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-01-use-inc_nlink.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-01-use-inc_nlink.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-03-sputrace-Only-enable-logging-on-open.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-03-sputrace-Only-enable-logging-on-open.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-03-sputrace-Only-enable-logging-on-open.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-03-sputrace-Only-enable-logging-on-open.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-04-sputrace-Don-t-block-until-the-read.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-04-sputrace-Don-t-block-until-the-read.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-04-sputrace-Don-t-block-until-the-read.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-04-sputrace-Don-t-block-until-the-read.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-05-Use-state_mutex-for-switch_log-lockin.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-05-Use-state_mutex-for-switch_log-lockin.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-05-Use-state_mutex-for-switch_log-lockin.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-05-Use-state_mutex-for-switch_log-lockin.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-06-Don-t-require-full-buffer-in-switch_l.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-06-Don-t-require-full-buffer-in-switch_l.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-06-Don-t-require-full-buffer-in-switch_l.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-06-Don-t-require-full-buffer-in-switch_l.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-07-Don-t-spu_acquire_saved-unnecessarily.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-08-Use-kmalloc-rather-than-kzalloc-for-s.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-08-Use-kmalloc-rather-than-kzalloc-for-s.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-08-Use-kmalloc-rather-than-kzalloc-for-s.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-08-Use-kmalloc-rather-than-kzalloc-for-s.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-09-Improve-search-of-node-for-contexts-w.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-09-Improve-search-of-node-for-contexts-w.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-09-Improve-search-of-node-for-contexts-w.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-09-Improve-search-of-node-for-contexts-w.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-10-Explain-conditional-decrement-of-aff_.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-10-Explain-conditional-decrement-of-aff_.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-spufs-10-Explain-conditional-decrement-of-aff_.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-spufs-10-Explain-conditional-decrement-of-aff_.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-syscall-xer.so.1.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-syscall-xer.so.1.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-syscall-xer.so.1.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-syscall-xer.so.1.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-valid-hugepage-size-hugetlb_get_unmapped_area.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-valid-hugepage-size-hugetlb_get_unmapped_area.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-valid-hugepage-size-hugetlb_get_unmapped_area.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-valid-hugepage-size-hugetlb_get_unmapped_area.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-vio-modalias.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-vio-modalias.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-vio-modalias.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-vio-modalias.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-vmcoreinfo.diff b/src/patches/suse-2.6.27.31/patches.arch/ppc-vmcoreinfo.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-vmcoreinfo.diff
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-vmcoreinfo.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc-xics-EOI-unmapped-irqs.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc-xics-EOI-unmapped-irqs.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc-xics-EOI-unmapped-irqs.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc-xics-EOI-unmapped-irqs.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc32-fix-ptrace-compat-wrapper-for-fpu-register-access b/src/patches/suse-2.6.27.31/patches.arch/ppc32-fix-ptrace-compat-wrapper-for-fpu-register-access
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc32-fix-ptrace-compat-wrapper-for-fpu-register-access
rename to src/patches/suse-2.6.27.31/patches.arch/ppc32-fix-ptrace-compat-wrapper-for-fpu-register-access
diff --git a/src/patches/suse-2.6.27.31/patches.arch/ppc64-eeh-msix-irq b/src/patches/suse-2.6.27.31/patches.arch/ppc64-eeh-msix-irq
new file mode 100644
index 000000000..0436ab890
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/ppc64-eeh-msix-irq
@@ -0,0 +1,145 @@
+From: Mike Mason
+Date: Tue, 10 Feb 2009 11:12:21 +0000 (+0000)
+Subject: powerpc/eeh: Only disable/enable LSI interrupts in EEH
+Patch-mainline: 2.6.30-rc1
+Git-commit: 8535ef05a6904429ce72671c3035dbf05e6d5edf
+References: bnc#509497
+
+powerpc/eeh: Only disable/enable LSI interrupts in EEH
+
+The EEH code disables and enables interrupts during the
+device recovery process. This is unnecessary for MSI
+and MSI-X interrupts because they are effectively disabled
+by the DMA Stopped state when an EEH error occurs. The
+current code is also incorrect for MSI-X interrupts. It
+doesn't take into account that MSI-X interrupts are tracked
+in a different way than LSI/MSI interrupts. This patch
+ensures only LSI interrupts are disabled/enabled.
+
+Signed-off-by: Mike Mason
+Acked-by: Linas Vepstas
+Signed-off-by: Benjamin Herrenschmidt
+Acked-by: Jeff Mahoney
+---
+
+ arch/powerpc/platforms/pseries/eeh_driver.c | 68 ++++++++++++++++++----------
+ 1 file changed, 45 insertions(+), 23 deletions(-)
+
+--- a/arch/powerpc/platforms/pseries/eeh_driver.c
++++ b/arch/powerpc/platforms/pseries/eeh_driver.c
+@@ -79,6 +79,40 @@ static int irq_in_use(unsigned int irq)
+ return rc;
+ }
+
++/**
++ * eeh_disable_irq - disable interrupt for the recovering device
++ */
++static void eeh_disable_irq(struct pci_dev *dev)
++{
++ struct device_node *dn = pci_device_to_OF_node(dev);
++
++ /* Don't disable MSI and MSI-X interrupts. They are
++ * effectively disabled by the DMA Stopped state
++ * when an EEH error occurs.
++ */
++ if (dev->msi_enabled || dev->msix_enabled)
++ return;
++
++ if (!irq_in_use(dev->irq))
++ return;
++
++ PCI_DN(dn)->eeh_mode |= EEH_MODE_IRQ_DISABLED;
++ disable_irq_nosync(dev->irq);
++}
++
++/**
++ * eeh_enable_irq - enable interrupt for the recovering device
++ */
++static void eeh_enable_irq(struct pci_dev *dev)
++{
++ struct device_node *dn = pci_device_to_OF_node(dev);
++
++ if ((PCI_DN(dn)->eeh_mode) & EEH_MODE_IRQ_DISABLED) {
++ PCI_DN(dn)->eeh_mode &= ~EEH_MODE_IRQ_DISABLED;
++ enable_irq(dev->irq);
++ }
++}
++
+ /* ------------------------------------------------------- */
+ /**
+ * eeh_report_error - report pci error to each device driver
+@@ -98,11 +132,8 @@ static void eeh_report_error(struct pci_
+ if (!driver)
+ return;
+
+- if (irq_in_use (dev->irq)) {
+- struct device_node *dn = pci_device_to_OF_node(dev);
+- PCI_DN(dn)->eeh_mode |= EEH_MODE_IRQ_DISABLED;
+- disable_irq_nosync(dev->irq);
+- }
++ eeh_disable_irq(dev);
++
+ if (!driver->err_handler ||
+ !driver->err_handler->error_detected)
+ return;
+@@ -147,17 +178,14 @@ static void eeh_report_reset(struct pci_
+ {
+ enum pci_ers_result rc, *res = userdata;
+ struct pci_driver *driver = dev->driver;
+- struct device_node *dn = pci_device_to_OF_node(dev);
+
+ if (!driver)
+ return;
+
+ dev->error_state = pci_channel_io_normal;
+
+- if ((PCI_DN(dn)->eeh_mode) & EEH_MODE_IRQ_DISABLED) {
+- PCI_DN(dn)->eeh_mode &= ~EEH_MODE_IRQ_DISABLED;
+- enable_irq(dev->irq);
+- }
++ eeh_enable_irq(dev);
++
+ if (!driver->err_handler ||
+ !driver->err_handler->slot_reset)
+ return;
+@@ -176,17 +204,14 @@ static void eeh_report_reset(struct pci_
+ static void eeh_report_resume(struct pci_dev *dev, void *userdata)
+ {
+ struct pci_driver *driver = dev->driver;
+- struct device_node *dn = pci_device_to_OF_node(dev);
+
+ dev->error_state = pci_channel_io_normal;
+
+ if (!driver)
+ return;
+
+- if ((PCI_DN(dn)->eeh_mode) & EEH_MODE_IRQ_DISABLED) {
+- PCI_DN(dn)->eeh_mode &= ~EEH_MODE_IRQ_DISABLED;
+- enable_irq(dev->irq);
+- }
++ eeh_enable_irq(dev);
++
+ if (!driver->err_handler ||
+ !driver->err_handler->resume)
+ return;
+@@ -210,15 +235,12 @@ static void eeh_report_failure(struct pc
+ if (!driver)
+ return;
+
+- if (irq_in_use (dev->irq)) {
+- struct device_node *dn = pci_device_to_OF_node(dev);
+- PCI_DN(dn)->eeh_mode |= EEH_MODE_IRQ_DISABLED;
+- disable_irq_nosync(dev->irq);
+- }
+- if (!driver->err_handler)
+- return;
+- if (!driver->err_handler->error_detected)
++ eeh_disable_irq(dev);
++
++ if (!driver->err_handler ||
++ !driver->err_handler->error_detected)
+ return;
++
+ driver->err_handler->error_detected(dev, pci_channel_io_perm_failure);
+ }
+
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc64-reduce-hashtable-size-for-64k-pages.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc64-reduce-hashtable-size-for-64k-pages.patch
similarity index 84%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc64-reduce-hashtable-size-for-64k-pages.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc64-reduce-hashtable-size-for-64k-pages.patch
index 3e7f6adb0..bbb5b8891 100644
--- a/src/patches/suse-2.6.27.25/patches.arch/ppc64-reduce-hashtable-size-for-64k-pages.patch
+++ b/src/patches/suse-2.6.27.31/patches.arch/ppc64-reduce-hashtable-size-for-64k-pages.patch
@@ -19,11 +19,13 @@ Git: 13870b657578bcce167978ee93dc02bf54e3beb0
Signed-off-by: Benjamin Herrenschmidt
Acked-by: Nick Piggin
-diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
-index 8d5b475..f5bc1b2 100644
+---
+ arch/powerpc/mm/hash_utils_64.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
-@@ -516,7 +516,7 @@ static int __init htab_dt_scan_pftsize(unsigned long node,
+@@ -514,7 +514,7 @@ static int __init htab_dt_scan_pftsize(u
static unsigned long __init htab_get_table_size(void)
{
@@ -32,7 +34,7 @@ index 8d5b475..f5bc1b2 100644
/* If hash size isn't already provided by the platform, we try to
* retrieve it from the device-tree. If it's not there neither, we
-@@ -534,7 +534,8 @@ static unsigned long __init htab_get_table_size(void)
+@@ -532,7 +532,8 @@ static unsigned long __init htab_get_tab
rnd_mem_size <<= 1;
/* # pages / 2 */
diff --git a/src/patches/suse-2.6.27.25/patches.arch/ppc64-xmon-dmesg-printing.patch b/src/patches/suse-2.6.27.31/patches.arch/ppc64-xmon-dmesg-printing.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/ppc64-xmon-dmesg-printing.patch
rename to src/patches/suse-2.6.27.31/patches.arch/ppc64-xmon-dmesg-printing.patch
diff --git a/src/patches/suse-2.6.27.31/patches.arch/pseries-set-error_state-correctly-in-eeh_report_reset b/src/patches/suse-2.6.27.31/patches.arch/pseries-set-error_state-correctly-in-eeh_report_reset
new file mode 100644
index 000000000..e4e58652e
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/pseries-set-error_state-correctly-in-eeh_report_reset
@@ -0,0 +1,98 @@
+From: Mike Mason
+Date: Fri, 10 Apr 2009 08:57:03 +0000 (+0000)
+Subject: powerpc/pseries: Set error_state to pci_channel_io_normal in eeh_report_reset()
+Patch-mainline: 2.6.30
+Git-commit: c58dc575f3c8bdc69fb868ec51e1c80ee7cae5e7
+References: bnc#509407
+
+powerpc/pseries: Set error_state to pci_channel_io_normal in eeh_report_reset()
+
+While adding native EEH support to Emulex and Qlogic drivers, it was
+discovered that dev->error_state was set to pci_io_channel_normal too
+late in the recovery process. These drivers rely on error_state to
+determine if they can access the device in their slot_reset callback,
+thus error_state needs to be set to pci_io_channel_normal in
+eeh_report_reset(). Below is a detailed explanation (courtesy of Richard
+Lary) as to why this is necessary.
+
+Background:
+PCI MMIO or DMA accesses to a frozen slot generate additional EEH
+errors. If the number of additional EEH errors exceeds EEH_MAX_FAILS the
+adapter will be shutdown. To avoid triggering excessive EEH errors and
+an undesirable adapter shutdown, some drivers use the
+pci_channel_offline(dev) wrapper function to return a Boolean value
+based on the value of pci_dev->error_state to determine if PCI MMIO or
+DMA accesses are safe. If the wrapper returns TRUE, drivers must not
+make PCI MMIO or DMA access to their hardware.
+
+The pci_dev structure member error_state reflects one of three values,
+1) pci_channel_io_normal, 2) pci_channel_io_frozen, 3)
+pci_channel_io_perm_failure. Function pci_channel_offline(dev) returns
+TRUE if error_state is pci_channel_io_frozen or pci_channel_io_perm_failure.
+
+The EEH driver sets pci_dev->error_state to pci_channel_io_frozen at the
+point where the PCI slot is frozen. Currently, the EEH driver restores
+dev->error_state to pci_channel_io_normal in eeh_report_resume() before
+calling the driver's resume callback. However, when the EEH driver calls
+the driver's slot_reset callback() from eeh_report_reset(), it
+incorrectly indicates the error state is still pci_channel_io_frozen.
+
+Waiting until eeh_report_resume() to restore dev->error_state to
+pci_channel_io_normal is too late for Emulex and QLogic FC drivers and
+any other drivers which are designed to use common code paths in these
+two cases: i) those called after the driver's slot_reset callback() and
+ii) those called after the PCI slot is frozen but before the driver's
+slot_reset callback is called. Case i) all driver paths executed to
+reinitialize the hardware after a reset and case ii) all code paths
+executed by driver kernel threads that run asynchronous to the main
+driver thread, such as interrupt handlers and worker threads to process
+driver work queues.
+
+Emulex and QLogic FC drivers are designed with common code paths which
+require that pci_channel_offline(dev) reflect the true state of the
+hardware. The state transitions that the hardware takes from Normal
+Operations to Slot Frozen to Reset to Normal Operations are documented
+in the Power Architecture™ Platform Requirements+ (PAPR+) in Table 75.
+PE State Control.
+
+PAPR defines the following 3 states:
+
+0 -- Not reset, Not EEH stopped, MMIO load/store allowed, DMA allowed
+ (Normal Operations)
+1 -- Reset, Not EEH stopped, MMIO load/store disabled, DMA disabled
+2 -- Not reset, EEH stopped, MMIO load/store disabled, DMA disabled
+ (Slot Frozen)
+
+An EEH error places the slot in state 2 (Frozen) and the adapter driver
+is notified that an EEH error was detected. If the adapter driver
+returns PCI_ERS_RESULT_NEED_RESET, the EEH driver calls
+eeh_reset_device() to place the slot into state 1 (Reset) and
+eeh_reset_device completes by placing the slot into State 0 (Normal
+Operations). Upon return from eeh_reset_device(), the EEH driver calls
+eeh_report_reset, which then calls the adapter's slot_reset callback. At
+the time the adapter's slot_reset callback is called, the true state of
+the hardware is Normal Operations and should be accurately reflected by
+setting dev->error_state to pci_channel_io_normal.
+
+The current implementation of EEH driver does not do so and requires
+this change to correct this deficiency.
+
+Signed-off-by: Mike Mason
+Acked-by: Linas Vepstas
+Signed-off-by: Paul Mackerras
+Acked-by: Jeff Mahoney
+---
+ arch/powerpc/platforms/pseries/eeh_driver.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/arch/powerpc/platforms/pseries/eeh_driver.c
++++ b/arch/powerpc/platforms/pseries/eeh_driver.c
+@@ -152,6 +152,8 @@ static void eeh_report_reset(struct pci_
+ if (!driver)
+ return;
+
++ dev->error_state = pci_channel_io_normal;
++
+ if ((PCI_DN(dn)->eeh_mode) & EEH_MODE_IRQ_DISABLED) {
+ PCI_DN(dn)->eeh_mode &= ~EEH_MODE_IRQ_DISABLED;
+ enable_irq(dev->irq);
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-01-02-dcss-64-v2.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-01-02-dcss-64-v2.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-01-02-dcss-64-v2.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-01-02-dcss-64-v2.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-01-04-fcpperf-1.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-01-04-fcpperf-1.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-01-04-fcpperf-1.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-01-04-fcpperf-1.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-01-04-fcpperf-2.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-01-04-fcpperf-2.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-01-04-fcpperf-2.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-01-04-fcpperf-2.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-01-04-fcpperf-3-v2.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-01-04-fcpperf-3-v2.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-01-04-fcpperf-3-v2.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-01-04-fcpperf-3-v2.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-01-04-fcpperf-4-v2.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-01-04-fcpperf-4-v2.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-01-04-fcpperf-4-v2.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-01-04-fcpperf-4-v2.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-01-05-kmsg-v3.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-01-05-kmsg-v3.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-01-05-kmsg-v3.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-01-05-kmsg-v3.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-01-06-zfcp-cleanup-v2.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-01-06-zfcp-cleanup-v2.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-01-06-zfcp-cleanup-v2.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-01-06-zfcp-cleanup-v2.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-02-01-xpram.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-02-01-xpram.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-02-01-xpram.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-02-01-xpram.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-02-03-zfcp.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-02-03-zfcp.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-02-03-zfcp.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-02-03-zfcp.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-02-04-qeth-mac.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-02-04-qeth-mac.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-02-04-qeth-mac.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-02-04-qeth-mac.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-02-05-qeth-recovery.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-02-05-qeth-recovery.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-02-05-qeth-recovery.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-02-05-qeth-recovery.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-02-06-qeth-offset.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-02-06-qeth-offset.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-02-06-qeth-offset.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-02-06-qeth-offset.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-02-07-qeth-ipv6check.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-02-07-qeth-ipv6check.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-02-07-qeth-ipv6check.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-02-07-qeth-ipv6check.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-02-08-qeth-panic.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-02-08-qeth-panic.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-02-08-qeth-panic.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-02-08-qeth-panic.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-02-09-tape-lock.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-02-09-tape-lock.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-02-09-tape-lock.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-02-09-tape-lock.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-02-10-zfcp-scan-online.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-02-10-zfcp-scan-online.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-02-10-zfcp-scan-online.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-02-10-zfcp-scan-online.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-03-01-stp-init.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-03-01-stp-init.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-03-01-stp-init.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-03-01-stp-init.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-03-02-setup_memory.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-03-02-setup_memory.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-03-02-setup_memory.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-03-02-setup_memory.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-03-03-dasd_unsolicited_interrupt.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-03-03-dasd_unsolicited_interrupt.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-03-03-dasd_unsolicited_interrupt.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-03-03-dasd_unsolicited_interrupt.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-03-04-qdio_multicast_performance.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-03-04-qdio_multicast_performance.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-03-04-qdio_multicast_performance.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-03-04-qdio_multicast_performance.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-03-05-dasd-block-uevent.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-03-05-dasd-block-uevent.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-03-05-dasd-block-uevent.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-03-05-dasd-block-uevent.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-03-06-zfcp-hexdump.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-03-06-zfcp-hexdump.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-03-06-zfcp-hexdump.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-03-06-zfcp-hexdump.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-03-07-qeth_hsi_mcl_string.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-03-07-qeth_hsi_mcl_string.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-03-07-qeth_hsi_mcl_string.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-03-07-qeth_hsi_mcl_string.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-03-08-zfcp-abort-race.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-03-08-zfcp-abort-race.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-03-08-zfcp-abort-race.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-03-08-zfcp-abort-race.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-03-09-zfcp-oops-during-target-scan.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-03-09-zfcp-oops-during-target-scan.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-03-09-zfcp-oops-during-target-scan.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-03-09-zfcp-oops-during-target-scan.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-04-01-qdio_prevent_double_shutdown.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-04-01-qdio_prevent_double_shutdown.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-04-01-qdio_prevent_double_shutdown.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-04-01-qdio_prevent_double_shutdown.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-04-02-qdio-osa-port-count.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-04-02-qdio-osa-port-count.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-04-02-qdio-osa-port-count.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-04-02-qdio-osa-port-count.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-04-03-kmsg.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-04-03-kmsg.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-04-03-kmsg.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-04-03-kmsg.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-04-04-dasd_fatal_error_log_sense.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-04-04-dasd_fatal_error_log_sense.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-04-04-dasd_fatal_error_log_sense.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-04-04-dasd_fatal_error_log_sense.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-04-06-cio-sac-update.diff b/src/patches/suse-2.6.27.31/patches.arch/s390-04-06-cio-sac-update.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-04-06-cio-sac-update.diff
rename to src/patches/suse-2.6.27.31/patches.arch/s390-04-06-cio-sac-update.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-04-07-als.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-04-07-als.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-04-07-als.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-04-07-als.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-04-08-cio-ungroup-race-fix.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-04-08-cio-ungroup-race-fix.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-04-08-cio-ungroup-race-fix.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-04-08-cio-ungroup-race-fix.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-04-09-zfcp-host-busy-count-fix.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-04-09-zfcp-host-busy-count-fix.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-04-09-zfcp-host-busy-count-fix.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-04-09-zfcp-host-busy-count-fix.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-05-01-zfcp-message-linebreak.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-05-01-zfcp-message-linebreak.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-05-01-zfcp-message-linebreak.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-05-01-zfcp-message-linebreak.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-05-02-zfcp-invalid-non-null-return.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-05-02-zfcp-invalid-non-null-return.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-05-02-zfcp-invalid-non-null-return.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-05-02-zfcp-invalid-non-null-return.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-05-03-zfcp-wka-port.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-05-03-zfcp-wka-port.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-05-03-zfcp-wka-port.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-05-03-zfcp-wka-port.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-05-04-fix_rport_status_check.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-05-04-fix_rport_status_check.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-05-04-fix_rport_status_check.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-05-04-fix_rport_status_check.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-05-05-stp-etr-stop-machine.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-05-05-stp-etr-stop-machine.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-05-05-stp-etr-stop-machine.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-05-05-stp-etr-stop-machine.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-05-06-stp-etr-mutex.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-05-06-stp-etr-mutex.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-05-06-stp-etr-mutex.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-05-06-stp-etr-mutex.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-05-07-generic-ipi.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-05-07-generic-ipi.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-05-07-generic-ipi.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-05-07-generic-ipi.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-05-08-topology.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-05-08-topology.patch
similarity index 97%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-05-08-topology.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-05-08-topology.patch
index f876b3266..f08a61afc 100644
--- a/src/patches/suse-2.6.27.25/patches.arch/s390-05-08-topology.patch
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-05-08-topology.patch
@@ -20,6 +20,23 @@ Acked-by: John Jolly
arch/s390/kernel/topology.c | 12 +++++++++++-
2 files changed, 19 insertions(+), 1 deletion(-)
+--- a/Documentation/kernel-parameters.txt
++++ b/Documentation/kernel-parameters.txt
+@@ -2201,6 +2201,14 @@ and is between 256 and 4096 characters.
+ See comment before function dc390_setup() in
+ drivers/scsi/tmscsim.c.
+
++ topology= [S390]
++ Format: {off | on}
++ Specify if the kernel should make use of the cpu
++ topology informations if the hardware supports these.
++ The scheduler will make use of these informations and
++ e.g. base its process migration decisions on it.
++ Default is off.
++
+ tp720= [HW,PS2]
+
+ trix= [HW,OSS] MediaTrix AudioTrix Pro
--- a/arch/s390/kernel/topology.c
+++ b/arch/s390/kernel/topology.c
@@ -59,6 +59,7 @@ struct core_info {
@@ -55,20 +72,3 @@ Acked-by: John Jolly
static int __init init_topology_update(void)
{
int rc;
---- a/Documentation/kernel-parameters.txt
-+++ b/Documentation/kernel-parameters.txt
-@@ -2194,6 +2194,14 @@ and is between 256 and 4096 characters.
- See comment before function dc390_setup() in
- drivers/scsi/tmscsim.c.
-
-+ topology= [S390]
-+ Format: {off | on}
-+ Specify if the kernel should make use of the cpu
-+ topology informations if the hardware supports these.
-+ The scheduler will make use of these informations and
-+ e.g. base its process migration decisions on it.
-+ Default is off.
-+
- tp720= [HW,PS2]
-
- trix= [HW,OSS] MediaTrix AudioTrix Pro
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-05-09-cleanup-of-portopen-requests.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-05-09-cleanup-of-portopen-requests.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-05-09-cleanup-of-portopen-requests.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-05-09-cleanup-of-portopen-requests.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-06-01-qeth-ext-src-mac-addr.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-06-01-qeth-ext-src-mac-addr.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-06-01-qeth-ext-src-mac-addr.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-06-01-qeth-ext-src-mac-addr.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-06-02-qeth-layercrash.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-06-02-qeth-layercrash.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-06-02-qeth-layercrash.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-06-02-qeth-layercrash.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-06-03-dasd_sim_sense_condition.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-06-03-dasd_sim_sense_condition.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-06-03-dasd_sim_sense_condition.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-06-03-dasd_sim_sense_condition.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-06-04-qdio_ssqd_memcpy.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-06-04-qdio_ssqd_memcpy.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-06-04-qdio_ssqd_memcpy.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-06-04-qdio_ssqd_memcpy.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-06-05-qdio_s390dbf.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-06-05-qdio_s390dbf.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-06-05-qdio_s390dbf.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-06-05-qdio_s390dbf.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-06-06-qdio_inbound_ack.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-06-06-qdio_inbound_ack.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-06-06-qdio_inbound_ack.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-06-06-qdio_inbound_ack.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-06-07-cio-attach_detach.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-06-07-cio-attach_detach.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-06-07-cio-attach_detach.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-06-07-cio-attach_detach.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-07-01-zfcp-port-failed-message.diff b/src/patches/suse-2.6.27.31/patches.arch/s390-07-01-zfcp-port-failed-message.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-07-01-zfcp-port-failed-message.diff
rename to src/patches/suse-2.6.27.31/patches.arch/s390-07-01-zfcp-port-failed-message.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-07-02-zfcp-unchained-fsf.diff b/src/patches/suse-2.6.27.31/patches.arch/s390-07-02-zfcp-unchained-fsf.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-07-02-zfcp-unchained-fsf.diff
rename to src/patches/suse-2.6.27.31/patches.arch/s390-07-02-zfcp-unchained-fsf.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-07-03-topology-fix.diff b/src/patches/suse-2.6.27.31/patches.arch/s390-07-03-topology-fix.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-07-03-topology-fix.diff
rename to src/patches/suse-2.6.27.31/patches.arch/s390-07-03-topology-fix.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-07-04-dasd-failfast.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-07-04-dasd-failfast.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-07-04-dasd-failfast.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-07-04-dasd-failfast.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-08-01-cio-fix-mp-mode.diff b/src/patches/suse-2.6.27.31/patches.arch/s390-08-01-cio-fix-mp-mode.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-08-01-cio-fix-mp-mode.diff
rename to src/patches/suse-2.6.27.31/patches.arch/s390-08-01-cio-fix-mp-mode.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-08-02-zfcp-gpn-align-fix.diff b/src/patches/suse-2.6.27.31/patches.arch/s390-08-02-zfcp-gpn-align-fix.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-08-02-zfcp-gpn-align-fix.diff
rename to src/patches/suse-2.6.27.31/patches.arch/s390-08-02-zfcp-gpn-align-fix.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-08-03-iucv-cpu-hotremove.diff b/src/patches/suse-2.6.27.31/patches.arch/s390-08-03-iucv-cpu-hotremove.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-08-03-iucv-cpu-hotremove.diff
rename to src/patches/suse-2.6.27.31/patches.arch/s390-08-03-iucv-cpu-hotremove.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-08-04-compat-sigaltstack.diff b/src/patches/suse-2.6.27.31/patches.arch/s390-08-04-compat-sigaltstack.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-08-04-compat-sigaltstack.diff
rename to src/patches/suse-2.6.27.31/patches.arch/s390-08-04-compat-sigaltstack.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-08-05-af_iucv-msgpeek-fix.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-08-05-af_iucv-msgpeek-fix.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-08-05-af_iucv-msgpeek-fix.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-08-05-af_iucv-msgpeek-fix.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-08-06-personality.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-08-06-personality.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-08-06-personality.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-08-06-personality.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-08-07-compat_wrappers.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-08-07-compat_wrappers.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-08-07-compat_wrappers.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-08-07-compat_wrappers.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-08-08-add_qdio_utilization.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-08-08-add_qdio_utilization.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-08-08-add_qdio_utilization.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-08-08-add_qdio_utilization.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-08-09-switch-amode-off.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-08-09-switch-amode-off.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-08-09-switch-amode-off.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-08-09-switch-amode-off.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-09-01-cio_disable_notoper.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-09-01-cio_disable_notoper.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-09-01-cio_disable_notoper.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-09-01-cio_disable_notoper.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-09-02-sclp-handle-empty-evbufs.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-09-02-sclp-handle-empty-evbufs.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-09-02-sclp-handle-empty-evbufs.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-09-02-sclp-handle-empty-evbufs.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-09-03-sclp-mem.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-09-03-sclp-mem.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-09-03-sclp-mem.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-09-03-sclp-mem.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-09-04-topology.diff b/src/patches/suse-2.6.27.31/patches.arch/s390-09-04-topology.diff
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-09-04-topology.diff
rename to src/patches/suse-2.6.27.31/patches.arch/s390-09-04-topology.diff
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-10-01-airq_fix_array_boundary.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-10-01-airq_fix_array_boundary.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-10-01-airq_fix_array_boundary.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-10-01-airq_fix_array_boundary.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-10-02-zfcp_wait_sbal.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-10-02-zfcp_wait_sbal.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-10-02-zfcp_wait_sbal.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-10-02-zfcp_wait_sbal.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-10-03-zfcp_els_thread_context.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-10-03-zfcp_els_thread_context.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-10-03-zfcp_els_thread_context.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-10-03-zfcp_els_thread_context.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-10-04-zfcp_change_adisc_processing.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-10-04-zfcp_change_adisc_processing.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-10-04-zfcp_change_adisc_processing.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-10-04-zfcp_change_adisc_processing.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-10-05-zfcp_remote_port_handling.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-10-05-zfcp_remote_port_handling.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-10-05-zfcp_remote_port_handling.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-10-05-zfcp_remote_port_handling.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-10-06-zfcp_slave_destroy.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-10-06-zfcp_slave_destroy.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-10-06-zfcp_slave_destroy.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-10-06-zfcp_slave_destroy.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-10-07-zfcp_refc_work_inflight.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-10-07-zfcp_refc_work_inflight.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-10-07-zfcp_refc_work_inflight.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-10-07-zfcp_refc_work_inflight.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-10-08-iucv-2ndparm.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-10-08-iucv-2ndparm.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-10-08-iucv-2ndparm.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-10-08-iucv-2ndparm.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-10-09-dasd-fix-timer-add.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-10-09-dasd-fix-timer-add.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-10-09-dasd-fix-timer-add.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-10-09-dasd-fix-timer-add.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-10-10-ccwgroup_fix_unbind.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-10-10-ccwgroup_fix_unbind.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-10-10-ccwgroup_fix_unbind.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-10-10-ccwgroup_fix_unbind.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-01-kernel_ds_pgtable_walk.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-01-kernel_ds_pgtable_walk.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-01-kernel_ds_pgtable_walk.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-01-kernel_ds_pgtable_walk.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-02-kernel_pfn_valid_uaccess.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-02-kernel_pfn_valid_uaccess.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-02-kernel_pfn_valid_uaccess.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-02-kernel_pfn_valid_uaccess.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-03-qeth_recovery_drop_mac.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-03-qeth_recovery_drop_mac.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-03-qeth_recovery_drop_mac.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-03-qeth_recovery_drop_mac.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-04-lcs_hard_sx_rc.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-04-lcs_hard_sx_rc.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-04-lcs_hard_sx_rc.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-04-lcs_hard_sx_rc.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-05-qdio_error_reporting_hs.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-05-qdio_error_reporting_hs.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-05-qdio_error_reporting_hs.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-05-qdio_error_reporting_hs.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-06-qdio_tiq_list_lock.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-06-qdio_tiq_list_lock.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-06-qdio_tiq_list_lock.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-06-qdio_tiq_list_lock.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-07-qdio_kill_tasklets.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-07-qdio_kill_tasklets.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-07-qdio_kill_tasklets.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-07-qdio_kill_tasklets.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-08-qdio_free_shutdown.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-08-qdio_free_shutdown.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-08-qdio_free_shutdown.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-08-qdio_free_shutdown.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-09-qdio_ack_newest_and_seperate_polling.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-09-qdio_ack_newest_and_seperate_polling.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-09-qdio_ack_newest_and_seperate_polling.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-09-qdio_ack_newest_and_seperate_polling.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-10-zfcp_nameserver_state_on_adapter_offline.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-10-zfcp_nameserver_state_on_adapter_offline.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-10-zfcp_nameserver_state_on_adapter_offline.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-10-zfcp_nameserver_state_on_adapter_offline.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-11-zfcp_req_free.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-11-zfcp_req_free.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-11-zfcp_req_free.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-11-zfcp_req_free.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-12-zfcp_scsi_scan.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-12-zfcp_scsi_scan.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-12-zfcp_scsi_scan.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-12-zfcp_scsi_scan.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-13-zfcp_avoid_semaphore_race.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-13-zfcp_avoid_semaphore_race.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-13-zfcp_avoid_semaphore_race.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-13-zfcp_avoid_semaphore_race.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-14-zfcp_unit_remove.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-14-zfcp_unit_remove.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-14-zfcp_unit_remove.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-14-zfcp_unit_remove.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-15-kernel_task_size.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-15-kernel_task_size.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-15-kernel_task_size.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-15-kernel_task_size.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-11-16-qeth_siga_error_handling.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-11-16-qeth_siga_error_handling.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-11-16-qeth_siga_error_handling.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-11-16-qeth_siga_error_handling.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-01-cio-reprobe-deadlock-fix.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-01-cio-reprobe-deadlock-fix.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-01-cio-reprobe-deadlock-fix.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-01-cio-reprobe-deadlock-fix.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-02-zfcp_scsi_queue_erp_deadlock.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-02-zfcp_scsi_queue_erp_deadlock.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-02-zfcp_scsi_queue_erp_deadlock.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-02-zfcp_scsi_queue_erp_deadlock.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-03-zfcp_adjust_test_link_pre_reqs.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-03-zfcp_adjust_test_link_pre_reqs.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-03-zfcp_adjust_test_link_pre_reqs.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-03-zfcp_adjust_test_link_pre_reqs.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-04-zfcp_rport_handling_on_error_inject.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-04-zfcp_rport_handling_on_error_inject.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-04-zfcp_rport_handling_on_error_inject.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-04-zfcp_rport_handling_on_error_inject.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-05-cio_introduce_ccw_device_boxed_notify.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-05-cio_introduce_ccw_device_boxed_notify.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-05-cio_introduce_ccw_device_boxed_notify.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-05-cio_introduce_ccw_device_boxed_notify.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-06-zfcp_actcli_error.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-06-zfcp_actcli_error.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-06-zfcp_actcli_error.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-06-zfcp_actcli_error.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-07-ctcm_remove_crash.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-07-ctcm_remove_crash.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-07-ctcm_remove_crash.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-07-ctcm_remove_crash.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-08-kernel_appldata_vtimer.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-08-kernel_appldata_vtimer.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-08-kernel_appldata_vtimer.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-08-kernel_appldata_vtimer.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-09-qeth_lan_offline.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-09-qeth_lan_offline.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-09-qeth_lan_offline.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-09-qeth_lan_offline.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-10-kernel_appldata_mutex.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-10-kernel_appldata_mutex.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-10-kernel_appldata_mutex.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-10-kernel_appldata_mutex.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-11-zfcp_fcp_port_handling.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-11-zfcp_fcp_port_handling.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-11-zfcp_fcp_port_handling.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-11-zfcp_fcp_port_handling.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-12-zfcp_wka_wait_refcount.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-12-zfcp_wka_wait_refcount.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-12-zfcp_wka_wait_refcount.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-12-zfcp_wka_wait_refcount.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-13-zfcp_deadlock_port_scan_ERP.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-13-zfcp_deadlock_port_scan_ERP.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-13-zfcp_deadlock_port_scan_ERP.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-13-zfcp_deadlock_port_scan_ERP.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-14-zfcp_port_reference_counting.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-14-zfcp_port_reference_counting.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-14-zfcp_port_reference_counting.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-14-zfcp_port_reference_counting.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-15-zfcp_abort_handler_for_completions_in_progress.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-15-zfcp_abort_handler_for_completions_in_progress.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-15-zfcp_abort_handler_for_completions_in_progress.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-15-zfcp_abort_handler_for_completions_in_progress.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-12-16-zfcp_reference_counting_for_cfdc_requests.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-12-16-zfcp_reference_counting_for_cfdc_requests.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-12-16-zfcp_reference_counting_for_cfdc_requests.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-12-16-zfcp_reference_counting_for_cfdc_requests.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-13-01-af_iucv-fix-race-msgpending.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-13-01-af_iucv-fix-race-msgpending.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-13-01-af_iucv-fix-race-msgpending.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-13-01-af_iucv-fix-race-msgpending.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-13-02-zfcp_changed_port_did.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-13-02-zfcp_changed_port_did.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-13-02-zfcp_changed_port_did.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-13-02-zfcp_changed_port_did.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-13-03-qeth_checksum.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-13-03-qeth_checksum.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-13-03-qeth_checksum.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-13-03-qeth_checksum.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-13-04-qeth-port-isolation.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-13-04-qeth-port-isolation.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-13-04-qeth-port-isolation.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-13-04-qeth-port-isolation.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-14-01-af_iucv-connect-free-path.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-14-01-af_iucv-connect-free-path.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-14-01-af_iucv-connect-free-path.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-14-01-af_iucv-connect-free-path.patch
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-15-01-zfcp-erp-escalation.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-15-01-zfcp-erp-escalation.patch
new file mode 100644
index 000000000..39df29a99
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-15-01-zfcp-erp-escalation.patch
@@ -0,0 +1,113 @@
+From: Gerald Schaefer
+Subject: zfcp: Fix erp escalation procedure
+References: bnc#518291,LTC#54456
+
+Symptom: After a failure the zfcp erp gives up.
+Problem: When a zfcp erp step fails the zfcp erp might end without
+ setting the driver internal flags appropriately.
+Solution: Fix the erp escalation procedure. If a erp action fails,
+ retry it until the retry counter exceeds. This ensures
+ that the erp continues or the failed flag is set
+ correctly. If for some reason another action is
+ necessary, this will be triggered from outside the erp,
+ to avoid global recoveries for single port failures.
+
+Acked-by: John Jolly
+---
+ drivers/s390/scsi/zfcp_dbf.c | 8 ++----
+ drivers/s390/scsi/zfcp_erp.c | 50 ++++++++++++++++++++-----------------------
+ 2 files changed, 27 insertions(+), 31 deletions(-)
+
+--- a/drivers/s390/scsi/zfcp_erp.c 2009-06-23 10:45:52.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_erp.c 2009-06-23 14:13:30.000000000 +0200
+@@ -549,40 +549,35 @@ static void _zfcp_erp_unit_reopen_all(st
+ _zfcp_erp_unit_reopen(unit, clear, id, ref);
+ }
+
+-static void zfcp_erp_strategy_followup_actions(struct zfcp_erp_action *act)
++static void zfcp_erp_strategy_followup_failed(struct zfcp_erp_action *act)
+ {
+- struct zfcp_adapter *adapter = act->adapter;
+- struct zfcp_port *port = act->port;
+- struct zfcp_unit *unit = act->unit;
+- u32 status = act->status;
+-
+- /* initiate follow-up actions depending on success of finished action */
+ switch (act->action) {
+-
+ case ZFCP_ERP_ACTION_REOPEN_ADAPTER:
+- if (status == ZFCP_ERP_SUCCEEDED)
+- _zfcp_erp_port_reopen_all(adapter, 0, 70, NULL);
+- else
+- _zfcp_erp_adapter_reopen(adapter, 0, 71, NULL);
++ _zfcp_erp_adapter_reopen(act->adapter, 0, 71, NULL);
+ break;
+-
+ case ZFCP_ERP_ACTION_REOPEN_PORT_FORCED:
+- if (status == ZFCP_ERP_SUCCEEDED)
+- _zfcp_erp_port_reopen(port, 0, 72, NULL);
+- else
+- _zfcp_erp_adapter_reopen(adapter, 0, 73, NULL);
++ _zfcp_erp_port_forced_reopen(act->port, 0, 73, NULL);
+ break;
+-
+ case ZFCP_ERP_ACTION_REOPEN_PORT:
+- if (status == ZFCP_ERP_SUCCEEDED)
+- _zfcp_erp_unit_reopen_all(port, 0, 74, NULL);
+- else
+- _zfcp_erp_port_forced_reopen(port, 0, 75, NULL);
++ _zfcp_erp_port_reopen(act->port, 0, 75, NULL);
+ break;
+-
+ case ZFCP_ERP_ACTION_REOPEN_UNIT:
+- if (status != ZFCP_ERP_SUCCEEDED)
+- _zfcp_erp_port_reopen(unit->port, 0, 76, NULL);
++ _zfcp_erp_unit_reopen(act->unit, 0, 76, NULL);
++ break;
++ }
++}
++
++static void zfcp_erp_strategy_followup_success(struct zfcp_erp_action *act)
++{
++ switch (act->action) {
++ case ZFCP_ERP_ACTION_REOPEN_ADAPTER:
++ _zfcp_erp_port_reopen_all(act->adapter, 0, 70, NULL);
++ break;
++ case ZFCP_ERP_ACTION_REOPEN_PORT_FORCED:
++ _zfcp_erp_port_reopen(act->port, 0, 72, NULL);
++ break;
++ case ZFCP_ERP_ACTION_REOPEN_PORT:
++ _zfcp_erp_unit_reopen_all(act->port, 0, 74, NULL);
+ break;
+ }
+ }
+@@ -1297,7 +1292,10 @@ static int zfcp_erp_strategy(struct zfcp
+ retval = zfcp_erp_strategy_statechange(erp_action, retval);
+ if (retval == ZFCP_ERP_EXIT)
+ goto unlock;
+- zfcp_erp_strategy_followup_actions(erp_action);
++ if (retval == ZFCP_ERP_SUCCEEDED)
++ zfcp_erp_strategy_followup_success(erp_action);
++ if (retval == ZFCP_ERP_FAILED)
++ zfcp_erp_strategy_followup_failed(erp_action);
+
+ unlock:
+ write_unlock(&adapter->erp_lock);
+--- a/drivers/s390/scsi/zfcp_dbf.c 2009-06-23 10:45:52.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_dbf.c 2009-06-23 14:20:41.000000000 +0200
+@@ -563,12 +563,10 @@ static const char *zfcp_rec_dbf_ids[] =
+ [71] = "adapter recovery escalation after failed adapter recovery",
+ [72] = "port recovery follow-up after successful physical port "
+ "recovery",
+- [73] = "adapter recovery escalation after failed physical port "
+- "recovery",
++ [73] = "physical port recovery retry after failure",
+ [74] = "unit recovery follow-up after successful port recovery",
+- [75] = "physical port recovery escalation after failed port "
+- "recovery",
+- [76] = "port recovery escalation after failed unit recovery",
++ [75] = "port recovery retry after failure",
++ [76] = "unit recovery retry after failure",
+ [77] = "",
+ [78] = "duplicate request id",
+ [79] = "link down",
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-15-02-phys-port-close.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-15-02-phys-port-close.patch
new file mode 100644
index 000000000..4b7040939
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-15-02-phys-port-close.patch
@@ -0,0 +1,27 @@
+From: Gerald Schaefer
+Subject: zfcp: Handle "forced close" correctly in the erp
+References: bnc#518291,LTC#54458
+
+Symptom: After a remote port problem, the zfcp erp does not
+ recover from the problem.
+Problem: After trying the "forced close" step from the erp the
+ the check of the flag indicating if the port is still
+ open is wrong.
+Solution: Fix the check of the open flag.
+
+Acked-by: John Jolly
+---
+ drivers/s390/scsi/zfcp_erp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/s390/scsi/zfcp_erp.c 2009-06-23 14:11:53.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_erp.c 2009-06-23 14:11:57.000000000 +0200
+@@ -796,7 +796,7 @@ static int zfcp_erp_port_forced_strategy
+ return ZFCP_ERP_FAILED;
+
+ case ZFCP_ERP_STEP_PHYS_PORT_CLOSING:
+- if (status & ZFCP_STATUS_PORT_PHYS_OPEN)
++ if (!(status & ZFCP_STATUS_PORT_PHYS_OPEN))
+ return ZFCP_ERP_SUCCEEDED;
+ }
+ return ZFCP_ERP_FAILED;
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-15-03-zfcp-recover-stall.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-15-03-zfcp-recover-stall.patch
new file mode 100644
index 000000000..112af1d8c
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-15-03-zfcp-recover-stall.patch
@@ -0,0 +1,46 @@
+From: Gerald Schaefer
+Subject: zfcp: Recover from stalled outbound queue
+References: bnc#518291,LTC#54460
+
+Symptom: In some error scenarious, the channel can stall. To
+ Linux this looks like a stall in the outbound queue.
+ Linux has to recover this.
+Problem: There is no trigger to recover the queues if the outbound
+ queue stalls.
+Solution: When trying to issue a non-SCSI command, zfcp waits for
+ 5 seconds to get a free SBAL in the queue. Use this timeout
+ as a trigger: If after 5 seconds there is no free SBAL,
+ assume a stalled outbound queue and trigger recovery.
+
+Acked-by: John Jolly
+---
+ drivers/s390/scsi/zfcp_dbf.c | 2 +-
+ drivers/s390/scsi/zfcp_fsf.c | 5 ++++-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+--- a/drivers/s390/scsi/zfcp_fsf.c 2009-06-23 14:24:48.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_fsf.c 2009-06-23 14:26:00.000000000 +0200
+@@ -668,8 +668,11 @@ static int zfcp_fsf_req_sbal_get(struct
+ zfcp_fsf_sbal_check(adapter), 5 * HZ);
+ if (ret > 0)
+ return 0;
+- if (!ret)
++ if (!ret) {
+ atomic_inc(&adapter->qdio_outb_full);
++ /* assume hanging outbound queue, try queue recovery */
++ zfcp_erp_adapter_reopen(adapter, 0, 77, NULL);
++ }
+
+ spin_lock_bh(&adapter->req_q_lock);
+ return -EIO;
+--- a/drivers/s390/scsi/zfcp_dbf.c 2009-06-23 14:20:41.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_dbf.c 2009-06-23 14:25:50.000000000 +0200
+@@ -567,7 +567,7 @@ static const char *zfcp_rec_dbf_ids[] =
+ [74] = "unit recovery follow-up after successful port recovery",
+ [75] = "port recovery retry after failure",
+ [76] = "unit recovery retry after failure",
+- [77] = "",
++ [77] = "adapter reopen from queue stall",
+ [78] = "duplicate request id",
+ [79] = "link down",
+ [80] = "exclusive read-only unit access unsupported",
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-15-04-zfcp-unchained-sbals.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-15-04-zfcp-unchained-sbals.patch
new file mode 100644
index 000000000..2b048c3b1
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-15-04-zfcp-unchained-sbals.patch
@@ -0,0 +1,72 @@
+From: Gerald Schaefer
+Subject: zfcp: Use only single SBAL commands from recovery
+References: bnc#518291,LTC#54462
+
+Symptom: Issuing an ELS request might not detect a stalled
+ outbound queue
+Problem: zfcp uses chained SBALs for ELS requests leading to the
+ situation that the ELS request gets one free SBAL, but
+ not the following ones. In this situation the ELS request
+ fails but does not trigger the error handling for the
+ stalled queue.
+Solution: Use unchained SBALs where possible, especially for
+ commands from the erp. This guarantees that each erp
+ command will get the required SBAL or trigger queue
+ recovery.
+
+Acked-by: John Jolly
+---
+ drivers/s390/scsi/zfcp_fsf.c | 33 +++++++++++++++++++++++++--------
+ 1 file changed, 25 insertions(+), 8 deletions(-)
+
+--- a/drivers/s390/scsi/zfcp_fsf.c 2009-07-01 12:26:28.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_fsf.c 2009-07-01 12:28:43.000000000 +0200
+@@ -1012,6 +1012,23 @@ skip_fsfstatus:
+ send_ct->handler(send_ct->handler_data);
+ }
+
++static void zfcp_fsf_setup_ct_els_unchained(struct qdio_buffer_element *sbale,
++ struct scatterlist *sg_req,
++ struct scatterlist *sg_resp)
++{
++ sbale[0].flags |= SBAL_FLAGS0_TYPE_WRITE_READ;
++ sbale[2].addr = sg_virt(sg_req);
++ sbale[2].length = sg_req->length;
++ sbale[3].addr = sg_virt(sg_resp);
++ sbale[3].length = sg_resp->length;
++ sbale[3].flags |= SBAL_FLAGS_LAST_ENTRY;
++}
++
++static int zfcp_fsf_one_sbal(struct scatterlist *sg)
++{
++ return sg_is_last(sg) && sg->length <= PAGE_SIZE;
++}
++
+ static int zfcp_fsf_setup_ct_els_sbals(struct zfcp_fsf_req *req,
+ struct scatterlist *sg_req,
+ struct scatterlist *sg_resp,
+@@ -1022,16 +1039,16 @@ static int zfcp_fsf_setup_ct_els_sbals(s
+ int bytes;
+
+ if (!(feat & FSF_FEATURE_ELS_CT_CHAINED_SBALS)) {
+- if (sg_req->length > PAGE_SIZE || sg_resp->length > PAGE_SIZE ||
+- !sg_is_last(sg_req) || !sg_is_last(sg_resp))
++ if (!zfcp_fsf_one_sbal(sg_req) || !zfcp_fsf_one_sbal(sg_resp))
+ return -EOPNOTSUPP;
+
+- sbale[0].flags |= SBAL_FLAGS0_TYPE_WRITE_READ;
+- sbale[2].addr = sg_virt(sg_req);
+- sbale[2].length = sg_req->length;
+- sbale[3].addr = sg_virt(sg_resp);
+- sbale[3].length = sg_resp->length;
+- sbale[3].flags |= SBAL_FLAGS_LAST_ENTRY;
++ zfcp_fsf_setup_ct_els_unchained(sbale, sg_req, sg_resp);
++ return 0;
++ }
++
++ /* use single, unchained SBAL if it can hold the request */
++ if (zfcp_fsf_one_sbal(sg_req) && zfcp_fsf_one_sbal(sg_resp)) {
++ zfcp_fsf_setup_ct_els_unchained(sbale, sg_req, sg_resp);
+ return 0;
+ }
+
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-15-05-zfcp-erp-notify.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-15-05-zfcp-erp-notify.patch
new file mode 100644
index 000000000..b6d4800c8
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-15-05-zfcp-erp-notify.patch
@@ -0,0 +1,31 @@
+From: Gerald Schaefer
+Subject: zfcp: Use correct flags when reporting status to erp
+References: bnc#518291,LTC#54463
+
+Symptom: The erp might not detect correctly problems from the
+ gid_pn nameserver requests.
+Problem: The wrong status flags have been used to pass updates via
+ the call to zfcp_erp_notify.
+Solution: Use the correct status flags when calling zfcp_erp_notify.
+
+Acked-by: John Jolly
+---
+
+ drivers/s390/scsi/zfcp_erp.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/s390/scsi/zfcp_erp.c 2009-07-01 11:31:02.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_erp.c 2009-07-01 12:44:45.000000000 +0200
+@@ -850,10 +850,10 @@ void zfcp_erp_port_strategy_open_lookup(
+
+ retval = zfcp_fc_ns_gid_pn(&port->erp_action);
+ if (retval == -ENOMEM)
+- zfcp_erp_notify(&port->erp_action, ZFCP_ERP_NOMEM);
++ zfcp_erp_notify(&port->erp_action, ZFCP_STATUS_ERP_LOWMEM);
+ port->erp_action.step = ZFCP_ERP_STEP_NAMESERVER_LOOKUP;
+ if (retval)
+- zfcp_erp_notify(&port->erp_action, ZFCP_ERP_FAILED);
++ zfcp_erp_notify(&port->erp_action, 0);
+ zfcp_port_put(port);
+ }
+
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-15-06-zfcp-recovery-wait.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-15-06-zfcp-recovery-wait.patch
new file mode 100644
index 000000000..b792c5e6b
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-15-06-zfcp-recovery-wait.patch
@@ -0,0 +1,369 @@
+From: Gerald Schaefer
+Subject: zfcp: Improve reliability of SCSI eh handlers in zfcp
+References: bnc#518291,LTC#54465
+
+Symptom: During error recovery scenarious, zfcp and SCSI midlayer
+ run error recovery and later SCSI devices are flagged as
+ "offline" in the Linux kernel.
+Problem: The SCSI midlayer error recovery issues various requests
+ to zfcp. If zfcp is recovering internally at the same
+ time, the SCSI midlayer requests fail immediately and the
+ SCSI midlayer recovery will run until hitting the final
+ step where SCSI devices are flagged as "offline".
+Solution: Backport the commit 63caf367e1c92e0667a344d9b687c04e6ef054b5.
+ This commit changes the SCSI midlayer recovery callbacks
+ in zfcp to wait for the zfcp erp to finish before issuing any
+ request. If necessary retry the request three times.
+
+Acked-by: John Jolly
+---
+ drivers/s390/scsi/zfcp_def.h | 3 -
+ drivers/s390/scsi/zfcp_ext.h | 11 +--
+ drivers/s390/scsi/zfcp_fsf.c | 39 ++++---------
+ drivers/s390/scsi/zfcp_scsi.c | 122 ++++++++++++++++++++----------------------
+ 4 files changed, 77 insertions(+), 98 deletions(-)
+
+--- a/drivers/s390/scsi/zfcp_def.h 2009-07-01 13:39:47.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_def.h 2009-07-01 13:39:50.000000000 +0200
+@@ -621,9 +621,6 @@ struct zfcp_fsf_req_qtcb {
+
+ /********************** ZFCP SPECIFIC DEFINES ********************************/
+
+-#define ZFCP_REQ_AUTO_CLEANUP 0x00000002
+-#define ZFCP_REQ_NO_QTCB 0x00000008
+-
+ #define ZFCP_SET 0x00000100
+ #define ZFCP_CLEAR 0x00000200
+
+--- a/drivers/s390/scsi/zfcp_ext.h 2009-07-01 13:39:47.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_ext.h 2009-07-01 13:39:50.000000000 +0200
+@@ -127,16 +127,13 @@ extern int zfcp_status_read_refill(struc
+ extern int zfcp_fsf_send_ct(struct zfcp_send_ct *, mempool_t *,
+ struct zfcp_erp_action *);
+ extern int zfcp_fsf_send_els(struct zfcp_send_els *);
+-extern int zfcp_fsf_send_fcp_command_task(struct zfcp_adapter *,
+- struct zfcp_unit *,
+- struct scsi_cmnd *, int, int);
++extern int zfcp_fsf_send_fcp_command_task(struct zfcp_unit *,
++ struct scsi_cmnd *);
+ extern void zfcp_fsf_req_complete(struct zfcp_fsf_req *);
+ extern void zfcp_fsf_req_free(struct zfcp_fsf_req *);
+-extern struct zfcp_fsf_req *zfcp_fsf_send_fcp_ctm(struct zfcp_adapter *,
+- struct zfcp_unit *, u8, int);
++extern struct zfcp_fsf_req *zfcp_fsf_send_fcp_ctm(struct zfcp_unit *, u8);
+ extern struct zfcp_fsf_req *zfcp_fsf_abort_fcp_command(unsigned long,
+- struct zfcp_adapter *,
+- struct zfcp_unit *, int);
++ struct zfcp_unit *);
+
+ /* zfcp_qdio.c */
+ extern int zfcp_qdio_allocate(struct zfcp_adapter *);
+--- a/drivers/s390/scsi/zfcp_fsf.c 2009-07-01 13:39:47.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_fsf.c 2009-07-01 13:39:50.000000000 +0200
+@@ -11,6 +11,9 @@
+ #include
+ #include "zfcp_ext.h"
+
++#define ZFCP_REQ_AUTO_CLEANUP 0x00000002
++#define ZFCP_REQ_NO_QTCB 0x00000008
++
+ static void zfcp_fsf_request_timeout_handler(unsigned long data)
+ {
+ struct zfcp_adapter *adapter = (struct zfcp_adapter *) data;
+@@ -911,27 +914,22 @@ static void zfcp_fsf_abort_fcp_command_h
+ /**
+ * zfcp_fsf_abort_fcp_command - abort running SCSI command
+ * @old_req_id: unsigned long
+- * @adapter: pointer to struct zfcp_adapter
+ * @unit: pointer to struct zfcp_unit
+- * @req_flags: integer specifying the request flags
+ * Returns: pointer to struct zfcp_fsf_req
+- *
+- * FIXME(design): should be watched by a timeout !!!
+ */
+
+ struct zfcp_fsf_req *zfcp_fsf_abort_fcp_command(unsigned long old_req_id,
+- struct zfcp_adapter *adapter,
+- struct zfcp_unit *unit,
+- int req_flags)
++ struct zfcp_unit *unit)
+ {
+ struct qdio_buffer_element *sbale;
+ struct zfcp_fsf_req *req = NULL;
++ struct zfcp_adapter *adapter = unit->port->adapter;
+
+ spin_lock_bh(&adapter->req_q_lock);
+ if (zfcp_fsf_req_sbal_get(adapter))
+ goto out;
+ req = zfcp_fsf_req_create(adapter, FSF_QTCB_ABORT_FCP_CMND,
+- req_flags, adapter->pool.fsf_req_abort);
++ 0, adapter->pool.fsf_req_abort);
+ if (IS_ERR(req)) {
+ req = NULL;
+ goto out;
+@@ -2334,21 +2332,17 @@ static void zfcp_set_fcp_dl(struct fcp_c
+
+ /**
+ * zfcp_fsf_send_fcp_command_task - initiate an FCP command (for a SCSI command)
+- * @adapter: adapter where scsi command is issued
+ * @unit: unit where command is sent to
+ * @scsi_cmnd: scsi command to be sent
+- * @timer: timer to be started when request is initiated
+- * @req_flags: flags for fsf_request
+ */
+-int zfcp_fsf_send_fcp_command_task(struct zfcp_adapter *adapter,
+- struct zfcp_unit *unit,
+- struct scsi_cmnd *scsi_cmnd,
+- int use_timer, int req_flags)
++int zfcp_fsf_send_fcp_command_task(struct zfcp_unit *unit,
++ struct scsi_cmnd *scsi_cmnd)
+ {
+ struct zfcp_fsf_req *req;
+ struct fcp_cmnd_iu *fcp_cmnd_iu;
+ unsigned int sbtype;
+ int real_bytes, retval = -EIO;
++ struct zfcp_adapter *adapter = unit->port->adapter;
+
+ if (unlikely(!(atomic_read(&unit->status) &
+ ZFCP_STATUS_COMMON_UNBLOCKED)))
+@@ -2359,7 +2353,8 @@ int zfcp_fsf_send_fcp_command_task(struc
+ atomic_inc(&adapter->qdio_outb_full);
+ goto out;
+ }
+- req = zfcp_fsf_req_create(adapter, FSF_QTCB_FCP_CMND, req_flags,
++ req = zfcp_fsf_req_create(adapter, FSF_QTCB_FCP_CMND,
++ ZFCP_REQ_AUTO_CLEANUP,
+ adapter->pool.fsf_req_scsi);
+ if (IS_ERR(req)) {
+ retval = PTR_ERR(req);
+@@ -2441,9 +2436,6 @@ int zfcp_fsf_send_fcp_command_task(struc
+
+ zfcp_set_fcp_dl(fcp_cmnd_iu, real_bytes);
+
+- if (use_timer)
+- zfcp_fsf_start_timer(req, ZFCP_FSF_REQUEST_TIMEOUT);
+-
+ retval = zfcp_fsf_req_send(req);
+ if (unlikely(retval))
+ goto failed_scsi_cmnd;
+@@ -2461,19 +2453,16 @@ out:
+
+ /**
+ * zfcp_fsf_send_fcp_ctm - send SCSI task management command
+- * @adapter: pointer to struct zfcp-adapter
+ * @unit: pointer to struct zfcp_unit
+ * @tm_flags: unsigned byte for task management flags
+- * @req_flags: int request flags
+ * Returns: on success pointer to struct fsf_req, NULL otherwise
+ */
+-struct zfcp_fsf_req *zfcp_fsf_send_fcp_ctm(struct zfcp_adapter *adapter,
+- struct zfcp_unit *unit,
+- u8 tm_flags, int req_flags)
++struct zfcp_fsf_req *zfcp_fsf_send_fcp_ctm(struct zfcp_unit *unit, u8 tm_flags)
+ {
+ struct qdio_buffer_element *sbale;
+ struct zfcp_fsf_req *req = NULL;
+ struct fcp_cmnd_iu *fcp_cmnd_iu;
++ struct zfcp_adapter *adapter = unit->port->adapter;
+
+ if (unlikely(!(atomic_read(&unit->status) &
+ ZFCP_STATUS_COMMON_UNBLOCKED)))
+@@ -2482,7 +2471,7 @@ struct zfcp_fsf_req *zfcp_fsf_send_fcp_c
+ spin_lock_bh(&adapter->req_q_lock);
+ if (zfcp_fsf_req_sbal_get(adapter))
+ goto out;
+- req = zfcp_fsf_req_create(adapter, FSF_QTCB_FCP_CMND, req_flags,
++ req = zfcp_fsf_req_create(adapter, FSF_QTCB_FCP_CMND, 0,
+ adapter->pool.fsf_req_scsi);
+ if (IS_ERR(req)) {
+ req = NULL;
+--- a/drivers/s390/scsi/zfcp_scsi.c 2009-07-01 13:39:47.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_scsi.c 2009-07-01 13:41:23.000000000 +0200
+@@ -94,8 +94,7 @@ static int zfcp_scsi_queuecommand(struct
+ return 0;;
+ }
+
+- ret = zfcp_fsf_send_fcp_command_task(adapter, unit, scpnt, 0,
+- ZFCP_REQ_AUTO_CLEANUP);
++ ret = zfcp_fsf_send_fcp_command_task(unit, scpnt);
+ if (unlikely(ret == -EBUSY))
+ return SCSI_MLQUEUE_DEVICE_BUSY;
+ else if (unlikely(ret < 0))
+@@ -153,79 +152,91 @@ out:
+
+ static int zfcp_scsi_eh_abort_handler(struct scsi_cmnd *scpnt)
+ {
+- struct Scsi_Host *scsi_host;
+- struct zfcp_adapter *adapter;
+- struct zfcp_unit *unit;
+- struct zfcp_fsf_req *fsf_req;
++ struct Scsi_Host *scsi_host = scpnt->device->host;
++ struct zfcp_adapter *adapter =
++ (struct zfcp_adapter *) scsi_host->hostdata[0];
++ struct zfcp_unit *unit = scpnt->device->hostdata;
++ struct zfcp_fsf_req *old_req, *abrt_req;
+ unsigned long flags;
+ unsigned long old_req_id = (unsigned long) scpnt->host_scribble;
+ int retval = SUCCESS;
+-
+- scsi_host = scpnt->device->host;
+- adapter = (struct zfcp_adapter *) scsi_host->hostdata[0];
+- unit = scpnt->device->hostdata;
++ int retry = 3;
+
+ /* avoid race condition between late normal completion and abort */
+ write_lock_irqsave(&adapter->abort_lock, flags);
+
+- /* Check whether corresponding fsf_req is still pending */
+ spin_lock(&adapter->req_list_lock);
+- fsf_req = zfcp_reqlist_find(adapter, old_req_id);
++ old_req = zfcp_reqlist_find(adapter, old_req_id);
+ spin_unlock(&adapter->req_list_lock);
+- if (!fsf_req) {
++ if (!old_req) {
+ write_unlock_irqrestore(&adapter->abort_lock, flags);
+- zfcp_scsi_dbf_event_abort("lte1", adapter, scpnt, NULL, 0);
+- return FAILED; /* completion could be in progress */
++ zfcp_scsi_dbf_event_abort("lte1", adapter, scpnt, NULL,
++ old_req_id);
++ return SUCCESS;
+ }
+- fsf_req->data = NULL;
++ old_req->data = NULL;
+
+ /* don't access old fsf_req after releasing the abort_lock */
+ write_unlock_irqrestore(&adapter->abort_lock, flags);
+
+- fsf_req = zfcp_fsf_abort_fcp_command(old_req_id, adapter, unit, 0);
+- if (!fsf_req) {
+- zfcp_scsi_dbf_event_abort("nres", adapter, scpnt, NULL,
+- old_req_id);
+- retval = FAILED;
+- return retval;
++ while (retry--) {
++ abrt_req = zfcp_fsf_abort_fcp_command(old_req_id, unit);
++ if (abrt_req)
++ break;
++
++ zfcp_erp_wait(adapter);
++ if (!(atomic_read(&adapter->status) &
++ ZFCP_STATUS_COMMON_RUNNING)) {
++ zfcp_scsi_dbf_event_abort("nres", adapter, scpnt, NULL,
++ old_req_id);
++ return SUCCESS;
++ }
+ }
++ if (!abrt_req)
++ return FAILED;
+
+- __wait_event(fsf_req->completion_wq,
+- fsf_req->status & ZFCP_STATUS_FSFREQ_COMPLETED);
++ wait_event(abrt_req->completion_wq,
++ abrt_req->status & ZFCP_STATUS_FSFREQ_COMPLETED);
+
+- if (fsf_req->status & ZFCP_STATUS_FSFREQ_ABORTSUCCEEDED) {
+- zfcp_scsi_dbf_event_abort("okay", adapter, scpnt, fsf_req, 0);
+- } else if (fsf_req->status & ZFCP_STATUS_FSFREQ_ABORTNOTNEEDED) {
+- zfcp_scsi_dbf_event_abort("lte2", adapter, scpnt, fsf_req, 0);
+- } else {
+- zfcp_scsi_dbf_event_abort("fail", adapter, scpnt, fsf_req, 0);
++ if (abrt_req->status & ZFCP_STATUS_FSFREQ_ABORTSUCCEEDED)
++ zfcp_scsi_dbf_event_abort("okay", adapter, scpnt, abrt_req, 0);
++ else if (abrt_req->status & ZFCP_STATUS_FSFREQ_ABORTNOTNEEDED)
++ zfcp_scsi_dbf_event_abort("lte2", adapter, scpnt, abrt_req, 0);
++ else {
++ zfcp_scsi_dbf_event_abort("fail", adapter, scpnt, abrt_req, 0);
+ retval = FAILED;
+ }
+- zfcp_fsf_req_free(fsf_req);
+-
++ zfcp_fsf_req_free(abrt_req);
+ return retval;
+ }
+
+-static int zfcp_task_mgmt_function(struct zfcp_unit *unit, u8 tm_flags,
+- struct scsi_cmnd *scpnt)
++static int zfcp_task_mgmt_function(struct scsi_cmnd *scpnt, u8 tm_flags)
+ {
++ struct zfcp_unit *unit = scpnt->device->hostdata;
+ struct zfcp_adapter *adapter = unit->port->adapter;
+ struct zfcp_fsf_req *fsf_req;
+ int retval = SUCCESS;
++ int retry = 3;
+
+- /* issue task management function */
+- fsf_req = zfcp_fsf_send_fcp_ctm(adapter, unit, tm_flags, 0);
+- if (!fsf_req) {
+- zfcp_scsi_dbf_event_devreset("nres", tm_flags, unit, scpnt);
+- return FAILED;
++ while (retry--) {
++ fsf_req = zfcp_fsf_send_fcp_ctm(unit, tm_flags);
++ if (fsf_req)
++ break;
++
++ zfcp_erp_wait(adapter);
++ if (!(atomic_read(&adapter->status) &
++ ZFCP_STATUS_COMMON_RUNNING)) {
++ zfcp_scsi_dbf_event_devreset("nres", tm_flags, unit,
++ scpnt);
++ return SUCCESS;
++ }
+ }
++ if (!fsf_req)
++ return FAILED;
+
+- __wait_event(fsf_req->completion_wq,
+- fsf_req->status & ZFCP_STATUS_FSFREQ_COMPLETED);
++ wait_event(fsf_req->completion_wq,
++ fsf_req->status & ZFCP_STATUS_FSFREQ_COMPLETED);
+
+- /*
+- * check completion status of task management function
+- */
+ if (fsf_req->status & ZFCP_STATUS_FSFREQ_TMFUNCFAILED) {
+ zfcp_scsi_dbf_event_devreset("fail", tm_flags, unit, scpnt);
+ retval = FAILED;
+@@ -236,39 +247,24 @@ static int zfcp_task_mgmt_function(struc
+ zfcp_scsi_dbf_event_devreset("okay", tm_flags, unit, scpnt);
+
+ zfcp_fsf_req_free(fsf_req);
+-
+ return retval;
+ }
+
+ static int zfcp_scsi_eh_device_reset_handler(struct scsi_cmnd *scpnt)
+ {
+- struct zfcp_unit *unit = scpnt->device->hostdata;
+-
+- if (!unit) {
+- WARN_ON(1);
+- return SUCCESS;
+- }
+- return zfcp_task_mgmt_function(unit, FCP_LOGICAL_UNIT_RESET, scpnt);
++ return zfcp_task_mgmt_function(scpnt, FCP_LOGICAL_UNIT_RESET);
+ }
+
+ static int zfcp_scsi_eh_target_reset_handler(struct scsi_cmnd *scpnt)
+ {
+- struct zfcp_unit *unit = scpnt->device->hostdata;
+-
+- if (!unit) {
+- WARN_ON(1);
+- return SUCCESS;
+- }
+- return zfcp_task_mgmt_function(unit, FCP_TARGET_RESET, scpnt);
++ return zfcp_task_mgmt_function(scpnt, FCP_TARGET_RESET);
+ }
+
+ static int zfcp_scsi_eh_host_reset_handler(struct scsi_cmnd *scpnt)
+ {
+- struct zfcp_unit *unit;
+- struct zfcp_adapter *adapter;
++ struct zfcp_unit *unit = scpnt->device->hostdata;
++ struct zfcp_adapter *adapter = unit->port->adapter;
+
+- unit = scpnt->device->hostdata;
+- adapter = unit->port->adapter;
+ zfcp_erp_adapter_reopen(adapter, 0, 141, scpnt);
+ zfcp_erp_wait(adapter);
+
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-15-07-zfcp-fc-rport.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-15-07-zfcp-fc-rport.patch
new file mode 100644
index 000000000..36b28f40a
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-15-07-zfcp-fc-rport.patch
@@ -0,0 +1,42 @@
+From: Gerald Schaefer
+Subject: zfcp: Don't create multiple sysfs entries for same WWPN
+References: bnc#518291,LTC#54468
+
+Symptom: The FC transport class creates multiple rport entries in
+ sysfs for the same WWPN.
+Problem: The FC transport class requires that the
+ fc_remote_port_add and fc_remote_delete functions are
+ always called in this sequence. It was possible that zfcp
+ called fc_remote_port_add twice leading to the problem.
+Solution: Make sure to only call fc_remote_port_add once before
+ calling fc_remote_port_delete.
+
+Acked-by: John Jolly
+---
+ drivers/s390/scsi/zfcp_scsi.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/drivers/s390/scsi/zfcp_scsi.c 2009-06-29 14:11:50.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_scsi.c 2009-06-29 14:27:25.000000000 +0200
+@@ -525,6 +525,9 @@ static void zfcp_scsi_rport_register(str
+ struct fc_rport_identifiers ids;
+ struct fc_rport *rport;
+
++ if (port->rport)
++ return;
++
+ ids.node_name = port->wwnn;
+ ids.port_name = port->wwpn;
+ ids.port_id = port->d_id;
+@@ -548,8 +551,10 @@ static void zfcp_scsi_rport_block(struct
+ {
+ struct fc_rport *rport = port->rport;
+
+- if (rport)
++ if (rport) {
+ fc_remote_port_delete(rport);
++ port->rport = NULL;
++ }
+ }
+
+ void zfcp_scsi_schedule_rport_register(struct zfcp_port *port)
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-15-08-zfcp-fc-wka-opening.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-15-08-zfcp-fc-wka-opening.patch
new file mode 100644
index 000000000..f97a228c8
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-15-08-zfcp-fc-wka-opening.patch
@@ -0,0 +1,52 @@
+From: Gerald Schaefer
+Subject: zfcp: fix wka port processing
+References: bnc#518291,LTC#54673
+
+Symptom: Remote port cannot be opened.
+Problem: After an "open port" request for the WKA port did not
+ return within half a second, the WKA port for the
+ directory server remains in the state OPENING,
+ preventing any succeeding request to open the port.
+Solution: Make sure to always update the WKA port status from the
+ corresponding FSF handler and do not rely on the timeout
+ in zfcp_wka_port_get.
+
+Acked-by: John Jolly
+---
+
+ drivers/s390/scsi/zfcp_fc.c | 8 +++-----
+ drivers/s390/scsi/zfcp_fsf.c | 4 ++--
+ 2 files changed, 5 insertions(+), 7 deletions(-)
+
+--- a/drivers/s390/scsi/zfcp_fc.c 2009-07-13 11:07:50.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_fc.c 2009-07-13 11:18:09.000000000 +0200
+@@ -56,11 +56,9 @@ static int zfcp_wka_port_get(struct zfcp
+
+ mutex_unlock(&wka_port->mutex);
+
+- wait_event_timeout(
+- wka_port->completion_wq,
+- wka_port->status == ZFCP_WKA_PORT_ONLINE ||
+- wka_port->status == ZFCP_WKA_PORT_OFFLINE,
+- HZ >> 1);
++ wait_event(wka_port->completion_wq,
++ wka_port->status == ZFCP_WKA_PORT_ONLINE ||
++ wka_port->status == ZFCP_WKA_PORT_OFFLINE);
+
+ if (wka_port->status == ZFCP_WKA_PORT_ONLINE) {
+ atomic_inc(&wka_port->refcount);
+--- a/drivers/s390/scsi/zfcp_fsf.c 2009-07-13 11:07:50.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_fsf.c 2009-07-13 11:18:09.000000000 +0200
+@@ -1616,10 +1616,10 @@ static void zfcp_fsf_open_wka_port_handl
+ case FSF_ACCESS_DENIED:
+ wka_port->status = ZFCP_WKA_PORT_OFFLINE;
+ break;
+- case FSF_PORT_ALREADY_OPEN:
+- break;
+ case FSF_GOOD:
+ wka_port->handle = header->port_handle;
++ /* fall through */
++ case FSF_PORT_ALREADY_OPEN:
+ wka_port->status = ZFCP_WKA_PORT_ONLINE;
+ }
+ out:
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-15-09-idle-accounting.diff b/src/patches/suse-2.6.27.31/patches.arch/s390-15-09-idle-accounting.diff
new file mode 100644
index 000000000..53fe51815
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-15-09-idle-accounting.diff
@@ -0,0 +1,47 @@
+From: Gerald Schaefer
+Subject: kernel: fix idle time accounting
+References: bnc#518291,LTC#54879
+
+Symptom: The idle time reported in /proc/stat is too large
+Problem: The time spent with time ticks disabled is accounted twice,
+ once by the architecture backend and another time by the
+ generic timer code.
+Solution: Stop accounting idle time in the generic timer code if
+ CONFIG_VIRT_CPU_ACCOUNTING is enabled.
+
+Acked-by: John Jolly
+---
+
+ kernel/time/tick-sched.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+Index: linux-sles11/kernel/time/tick-sched.c
+===================================================================
+--- linux-sles11.orig/kernel/time/tick-sched.c
++++ linux-sles11/kernel/time/tick-sched.c
+@@ -377,7 +377,9 @@ void tick_nohz_restart_sched_tick(void)
+ {
+ int cpu = smp_processor_id();
+ struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu);
++#ifndef CONFIG_VIRT_CPU_ACCOUNTING
+ unsigned long ticks;
++#endif
+ ktime_t now;
+
+ local_irq_disable();
+@@ -399,6 +401,7 @@ void tick_nohz_restart_sched_tick(void)
+ tick_do_update_jiffies64(now);
+ cpu_clear(cpu, nohz_cpu_mask);
+
++#ifndef CONFIG_VIRT_CPU_ACCOUNTING
+ /*
+ * We stopped the tick in idle. Update process times would miss the
+ * time we slept as update_process_times does only a 1 tick
+@@ -414,6 +417,7 @@ void tick_nohz_restart_sched_tick(void)
+ jiffies_to_cputime(ticks));
+ sub_preempt_count(HARDIRQ_OFFSET);
+ }
++#endif
+
+ touch_softlockup_watchdog();
+ /*
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-15-10-zcrypt-hrtimer-scheduling.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-15-10-zcrypt-hrtimer-scheduling.patch
new file mode 100644
index 000000000..3bc394fbc
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-15-10-zcrypt-hrtimer-scheduling.patch
@@ -0,0 +1,34 @@
+From: Gerald Schaefer
+Subject: zcrypt: fix z90crypt kernel modules causes 100% cpu usage
+References: bnc#518291,LTC#54925
+
+Symptom: 100% cpu usage
+Problem: ap_poll_timer expires permanently and is restarts
+Solution: Only restart ap_poll_timer when it expires and do it in the
+ future.
+
+Acked-by: John Jolly
+---
+Index: linux-sles11/drivers/s390/crypto/ap_bus.c
+===================================================================
+--- linux-sles11.orig/drivers/s390/crypto/ap_bus.c
++++ linux-sles11/drivers/s390/crypto/ap_bus.c
+@@ -930,10 +930,16 @@ ap_config_timeout(unsigned long ptr)
+ */
+ static inline void ap_schedule_poll_timer(void)
+ {
++ ktime_t hr_time;
+ if (hrtimer_is_queued(&ap_poll_timer))
+ return;
+- hrtimer_start(&ap_poll_timer, ktime_set(0, poll_timeout),
+- HRTIMER_MODE_ABS);
++
++ if (ktime_to_ns(hrtimer_get_remaining(&ap_poll_timer)) <= 0) {
++ hr_time = ktime_set(0, poll_timeout);
++ hrtimer_forward_now(&ap_poll_timer, hr_time);
++ hrtimer_restart(&ap_poll_timer);
++ }
++ return;
+ }
+
+ /**
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-15-11-cio-vary-unregister.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-15-11-cio-vary-unregister.patch
new file mode 100644
index 000000000..3cf07f30d
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-15-11-cio-vary-unregister.patch
@@ -0,0 +1,48 @@
+From: Gerald Schaefer
+Subject: cio: ccw devices are not removed when last path is varied offline
+References: bnc#518291,LTC#54951
+
+Symptom: When the last CHPID to an offline CCW device is varied offline,
+ that device remains registered even though it is no longer
+ accessible.
+Problem: The vary command triggers an internal path verification event
+ which is not handled for devices in the offline state.
+Solution: Install a handler for the path verification event in offline state
+ which will remove the device if it is no longer accessible.
+
+Acked-by: John Jolly
+---
+ drivers/s390/cio/device_fsm.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+Index: linux-sles11/drivers/s390/cio/device_fsm.c
+===================================================================
+--- linux-sles11.orig/drivers/s390/cio/device_fsm.c
++++ linux-sles11/drivers/s390/cio/device_fsm.c
+@@ -739,6 +739,17 @@ static void ccw_device_generic_notoper(s
+ }
+
+ /*
++ * Handle path verification event in offline state.
++ */
++static void ccw_device_offline_verify(struct ccw_device *cdev,
++ enum dev_event dev_event)
++{
++ struct subchannel *sch = to_subchannel(cdev->dev.parent);
++
++ css_schedule_eval(sch->schid);
++}
++
++/*
+ * Handle path verification event.
+ */
+ static void
+@@ -1155,7 +1166,7 @@ fsm_func_t *dev_jumptable[NR_DEV_STATES]
+ [DEV_EVENT_NOTOPER] = ccw_device_generic_notoper,
+ [DEV_EVENT_INTERRUPT] = ccw_device_offline_irq,
+ [DEV_EVENT_TIMEOUT] = ccw_device_nop,
+- [DEV_EVENT_VERIFY] = ccw_device_nop,
++ [DEV_EVENT_VERIFY] = ccw_device_offline_verify,
+ },
+ [DEV_STATE_VERIFY] = {
+ [DEV_EVENT_NOTOPER] = ccw_device_generic_notoper,
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-15-12-zfcp-wka-work.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-15-12-zfcp-wka-work.patch
new file mode 100644
index 000000000..eab969090
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-15-12-zfcp-wka-work.patch
@@ -0,0 +1,26 @@
+From: Gerald Schaefer
+Subject: zfcp: Cancel WKA port work on adapter dequeue
+References: bnc#518291,LTC#54988
+
+Symptom: Oops when enabling / disabling lots of FCP subchannels
+ while setting the chpid off / on.
+Problem: The delayed_work for the directory server wka port is
+ being executed after the adapter struct has been removed.
+Solution: Before removing the adapter struct make sure that the
+ delayed_work is not running.
+
+Acked-by: John Jolly
+---
+ drivers/s390/scsi/zfcp_aux.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/s390/scsi/zfcp_aux.c
++++ b/drivers/s390/scsi/zfcp_aux.c
+@@ -552,6 +552,7 @@ void zfcp_adapter_dequeue(struct zfcp_ad
+
+ cancel_work_sync(&adapter->scan_work);
+ cancel_work_sync(&adapter->stat_work);
++ zfcp_fc_wka_port_force_offline(&adapter->nsp);
+ zfcp_adapter_scsi_unregister(adapter);
+ sysfs_remove_group(&adapter->ccw_device->dev.kobj,
+ &zfcp_sysfs_adapter_attrs);
diff --git a/src/patches/suse-2.6.27.31/patches.arch/s390-16-01-zfcp-link-test.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-16-01-zfcp-link-test.patch
new file mode 100644
index 000000000..fff60457c
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.arch/s390-16-01-zfcp-link-test.patch
@@ -0,0 +1,60 @@
+From: Gerald Schaefer
+Subject: zfcp: Only issue one test link command per port
+References: bnc#529188,LTC#55337
+
+Symptom: During error recovery, the SAN trace shows a long series
+ of els adisc commands being issued to the same remote port.
+Problem: When the FCP channel returns a series of failed commands,
+ a els adisc test link command is issued for each failed
+ command.
+Solution: Introduce a flag to ensure only one els adisc is pending
+ at one time. This is enough to trigger follow-on actions.
+
+Acked-by: John Jolly
+---
+ drivers/s390/scsi/zfcp_def.h | 1 +
+ drivers/s390/scsi/zfcp_fc.c | 9 +++++++++
+ 2 files changed, 10 insertions(+)
+
+--- a/drivers/s390/scsi/zfcp_def.h 2009-07-16 12:20:57.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_def.h 2009-07-16 12:22:20.000000000 +0200
+@@ -260,6 +260,7 @@ struct zfcp_ls_adisc {
+ #define ZFCP_STATUS_PORT_PHYS_CLOSING 0x00000004
+ #define ZFCP_STATUS_PORT_NO_WWPN 0x00000008
+ #define ZFCP_STATUS_PORT_INVALID_WWPN 0x00000020
++#define ZFCP_STATUS_PORT_LINK_TEST 0x00000040
+
+ /* well known address (WKA) port status*/
+ enum zfcp_wka_status {
+--- a/drivers/s390/scsi/zfcp_fc.c 2009-07-16 12:20:57.000000000 +0200
++++ b/drivers/s390/scsi/zfcp_fc.c 2009-07-16 12:23:15.000000000 +0200
+@@ -389,6 +389,7 @@ static void zfcp_fc_adisc_handler(unsign
+ zfcp_scsi_schedule_rport_register(port);
+
+ out:
++ atomic_clear_mask(ZFCP_STATUS_PORT_LINK_TEST, &port->status);
+ zfcp_port_put(port);
+ kfree(adisc);
+ }
+@@ -435,13 +436,21 @@ void zfcp_fc_link_test_work(struct work_
+ port->rport_task = RPORT_DEL;
+ zfcp_scsi_rport_work(&port->rport_work);
+
++ /* only issue one test command at one time per port */
++ if (atomic_read(&port->status) & ZFCP_STATUS_PORT_LINK_TEST)
++ goto out;
++
++ atomic_set_mask(ZFCP_STATUS_PORT_LINK_TEST, &port->status);
++
+ retval = zfcp_fc_adisc(port);
+ if (retval == 0)
+ return;
+
+ /* send of ADISC was not possible */
++ atomic_clear_mask(ZFCP_STATUS_PORT_LINK_TEST, &port->status);
+ zfcp_erp_port_forced_reopen(port, 0, 65, NULL);
+
++out:
+ zfcp_port_put(port);
+ }
+
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-add-FREE_PTE_NR b/src/patches/suse-2.6.27.31/patches.arch/s390-add-FREE_PTE_NR
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-add-FREE_PTE_NR
rename to src/patches/suse-2.6.27.31/patches.arch/s390-add-FREE_PTE_NR
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-disable-etr-stp b/src/patches/suse-2.6.27.31/patches.arch/s390-disable-etr-stp
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-disable-etr-stp
rename to src/patches/suse-2.6.27.31/patches.arch/s390-disable-etr-stp
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-personality-mask.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-personality-mask.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-personality-mask.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-personality-mask.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-symmetrix-ioctl.patch b/src/patches/suse-2.6.27.31/patches.arch/s390-symmetrix-ioctl.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-symmetrix-ioctl.patch
rename to src/patches/suse-2.6.27.31/patches.arch/s390-symmetrix-ioctl.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/s390-zfcp-synchronize-scsi-register b/src/patches/suse-2.6.27.31/patches.arch/s390-zfcp-synchronize-scsi-register
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/s390-zfcp-synchronize-scsi-register
rename to src/patches/suse-2.6.27.31/patches.arch/s390-zfcp-synchronize-scsi-register
diff --git a/src/patches/suse-2.6.27.25/patches.arch/thinkpad_acpi-hotkey-notify-fix b/src/patches/suse-2.6.27.31/patches.arch/thinkpad_acpi-hotkey-notify-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/thinkpad_acpi-hotkey-notify-fix
rename to src/patches/suse-2.6.27.31/patches.arch/thinkpad_acpi-hotkey-notify-fix
diff --git a/src/patches/suse-2.6.27.25/patches.arch/thinkpad_fingers_off_backlight_igd.patch b/src/patches/suse-2.6.27.31/patches.arch/thinkpad_fingers_off_backlight_igd.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/thinkpad_fingers_off_backlight_igd.patch
rename to src/patches/suse-2.6.27.31/patches.arch/thinkpad_fingers_off_backlight_igd.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_01_0f4896665a02b465ddca59a560983b24ec28c64b b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_01_0f4896665a02b465ddca59a560983b24ec28c64b
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_01_0f4896665a02b465ddca59a560983b24ec28c64b
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_01_0f4896665a02b465ddca59a560983b24ec28c64b
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_01_of_41_e61d98d8dad0048619bb138b0ff996422ffae53b b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_01_of_41_e61d98d8dad0048619bb138b0ff996422ffae53b
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_01_of_41_e61d98d8dad0048619bb138b0ff996422ffae53b
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_01_of_41_e61d98d8dad0048619bb138b0ff996422ffae53b
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_02_228324076234ca6a8cd34be89be78022773459f1 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_02_228324076234ca6a8cd34be89be78022773459f1
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_02_228324076234ca6a8cd34be89be78022773459f1
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_02_228324076234ca6a8cd34be89be78022773459f1
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_02_of_41_c42d9f32443397aed2d37d37df161392e6a5862f b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_02_of_41_c42d9f32443397aed2d37d37df161392e6a5862f
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_02_of_41_c42d9f32443397aed2d37d37df161392e6a5862f
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_02_of_41_c42d9f32443397aed2d37d37df161392e6a5862f
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_03_3f1fdb3673bb5638fa94186dc391cbc4879590bc b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_03_3f1fdb3673bb5638fa94186dc391cbc4879590bc
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_03_3f1fdb3673bb5638fa94186dc391cbc4879590bc
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_03_3f1fdb3673bb5638fa94186dc391cbc4879590bc
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_03_of_41_1886e8a90a580f3ad343f2065c84c1b9e1dac9ef b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_03_of_41_1886e8a90a580f3ad343f2065c84c1b9e1dac9ef
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_03_of_41_1886e8a90a580f3ad343f2065c84c1b9e1dac9ef
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_03_of_41_1886e8a90a580f3ad343f2065c84c1b9e1dac9ef
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_04_f12c73e7fa7ebf9ad6defee2c4fb2664e743e970 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_04_f12c73e7fa7ebf9ad6defee2c4fb2664e743e970
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_04_f12c73e7fa7ebf9ad6defee2c4fb2664e743e970
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_04_f12c73e7fa7ebf9ad6defee2c4fb2664e743e970
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_04_of_41_aaa9d1dd63bf89b62f4ea9f46de376ab1a3fbc6c b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_04_of_41_aaa9d1dd63bf89b62f4ea9f46de376ab1a3fbc6c
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_04_of_41_aaa9d1dd63bf89b62f4ea9f46de376ab1a3fbc6c
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_04_of_41_aaa9d1dd63bf89b62f4ea9f46de376ab1a3fbc6c
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_05_7be42004065ce4df193aeef5befd26805267d0d9 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_05_7be42004065ce4df193aeef5befd26805267d0d9
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_05_7be42004065ce4df193aeef5befd26805267d0d9
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_05_7be42004065ce4df193aeef5befd26805267d0d9
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_06_caf43bf7c6a55e89b6df5179df434d67e24aa32e b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_06_caf43bf7c6a55e89b6df5179df434d67e24aa32e
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_06_caf43bf7c6a55e89b6df5179df434d67e24aa32e
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_06_caf43bf7c6a55e89b6df5179df434d67e24aa32e
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_06_of_41_ad3ad3f6a2caebf56869b83b69e23eb9fa5e0ab6 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_06_of_41_ad3ad3f6a2caebf56869b83b69e23eb9fa5e0ab6
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_06_of_41_ad3ad3f6a2caebf56869b83b69e23eb9fa5e0ab6
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_06_of_41_ad3ad3f6a2caebf56869b83b69e23eb9fa5e0ab6
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_07_511d9d34183662aada3890883e860b151d707e22 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_07_511d9d34183662aada3890883e860b151d707e22
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_07_511d9d34183662aada3890883e860b151d707e22
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_07_511d9d34183662aada3890883e860b151d707e22
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_07_of_41_cf1337f0447e5be8e66daa944f0ea3bcac2b6179 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_07_of_41_cf1337f0447e5be8e66daa944f0ea3bcac2b6179
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_07_of_41_cf1337f0447e5be8e66daa944f0ea3bcac2b6179
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_07_of_41_cf1337f0447e5be8e66daa944f0ea3bcac2b6179
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_08_of_41_fe962e90cb17a8426e144dee970e77ed789d98ee b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_08_of_41_fe962e90cb17a8426e144dee970e77ed789d98ee
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_08_of_41_fe962e90cb17a8426e144dee970e77ed789d98ee
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_08_of_41_fe962e90cb17a8426e144dee970e77ed789d98ee
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_09_94a8c3c2437c8946f1b6c8e0b2c560a7db8ed3c6 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_09_94a8c3c2437c8946f1b6c8e0b2c560a7db8ed3c6
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_09_94a8c3c2437c8946f1b6c8e0b2c560a7db8ed3c6
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_09_94a8c3c2437c8946f1b6c8e0b2c560a7db8ed3c6
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_09_of_41_2ae21010694e56461a63bfc80e960090ce0a5ed9 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_09_of_41_2ae21010694e56461a63bfc80e960090ce0a5ed9
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_09_of_41_2ae21010694e56461a63bfc80e960090ce0a5ed9
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_09_of_41_2ae21010694e56461a63bfc80e960090ce0a5ed9
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_10_of_41_b6fcb33ad6c05f152a672f7c96c1fab006527b80 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_10_of_41_b6fcb33ad6c05f152a672f7c96c1fab006527b80
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_10_of_41_b6fcb33ad6c05f152a672f7c96c1fab006527b80
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_10_of_41_b6fcb33ad6c05f152a672f7c96c1fab006527b80
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_11_of_41_72b1e22dfcad1daca6906148fd956ffe404bb0bc b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_11_of_41_72b1e22dfcad1daca6906148fd956ffe404bb0bc
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_11_of_41_72b1e22dfcad1daca6906148fd956ffe404bb0bc
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_11_of_41_72b1e22dfcad1daca6906148fd956ffe404bb0bc
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_12_of_41_d94d93ca5cc36cd78c532def62772c98fe8ba5d7 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_12_of_41_d94d93ca5cc36cd78c532def62772c98fe8ba5d7
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_12_of_41_d94d93ca5cc36cd78c532def62772c98fe8ba5d7
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_12_of_41_d94d93ca5cc36cd78c532def62772c98fe8ba5d7
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_13_of_41_4dc2f96cacd1e74c688f94348a3bfd0a980817d5 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_13_of_41_4dc2f96cacd1e74c688f94348a3bfd0a980817d5
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_13_of_41_4dc2f96cacd1e74c688f94348a3bfd0a980817d5
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_13_of_41_4dc2f96cacd1e74c688f94348a3bfd0a980817d5
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_14_of_41_0c81c746f9bdbfaafe64322d540c8b7b59c27314 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_14_of_41_0c81c746f9bdbfaafe64322d540c8b7b59c27314
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_14_of_41_0c81c746f9bdbfaafe64322d540c8b7b59c27314
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_14_of_41_0c81c746f9bdbfaafe64322d540c8b7b59c27314
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_15_of_41_2d7a66d02e11af9ab8e16c76d22767e622b4e3d7 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_15_of_41_2d7a66d02e11af9ab8e16c76d22767e622b4e3d7
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_15_of_41_2d7a66d02e11af9ab8e16c76d22767e622b4e3d7
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_15_of_41_2d7a66d02e11af9ab8e16c76d22767e622b4e3d7
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_16_of_41_1b374e4d6f8b3eb2fcd034fcc24ea8ba1dfde7aa b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_16_of_41_1b374e4d6f8b3eb2fcd034fcc24ea8ba1dfde7aa
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_16_of_41_1b374e4d6f8b3eb2fcd034fcc24ea8ba1dfde7aa
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_16_of_41_1b374e4d6f8b3eb2fcd034fcc24ea8ba1dfde7aa
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_17_of_41_32e1d0a0651004f5fe47f85a2a5c725ad579a90c b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_17_of_41_32e1d0a0651004f5fe47f85a2a5c725ad579a90c
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_17_of_41_32e1d0a0651004f5fe47f85a2a5c725ad579a90c
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_17_of_41_32e1d0a0651004f5fe47f85a2a5c725ad579a90c
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_18_of_41_1cb11583a6c4ceda7426eb36f7bf0419da8dfbc2 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_18_of_41_1cb11583a6c4ceda7426eb36f7bf0419da8dfbc2
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_18_of_41_1cb11583a6c4ceda7426eb36f7bf0419da8dfbc2
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_18_of_41_1cb11583a6c4ceda7426eb36f7bf0419da8dfbc2
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_19_of_41_13c88fb58d0112d47f7839f24a755715c6218822 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_19_of_41_13c88fb58d0112d47f7839f24a755715c6218822
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_19_of_41_13c88fb58d0112d47f7839f24a755715c6218822
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_19_of_41_13c88fb58d0112d47f7839f24a755715c6218822
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_20_of_41_cff73a6ffaed726780b001937d2a42efde553922 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_20_of_41_cff73a6ffaed726780b001937d2a42efde553922
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_20_of_41_cff73a6ffaed726780b001937d2a42efde553922
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_20_of_41_cff73a6ffaed726780b001937d2a42efde553922
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_21_of_41_12a67cf6851871ca8df42025c94f140c303d0f7f b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_21_of_41_12a67cf6851871ca8df42025c94f140c303d0f7f
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_21_of_41_12a67cf6851871ca8df42025c94f140c303d0f7f
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_21_of_41_12a67cf6851871ca8df42025c94f140c303d0f7f
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_22_of_41_5c520a6724e912a7e6153b7597192edad6752750 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_22_of_41_5c520a6724e912a7e6153b7597192edad6752750
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_22_of_41_5c520a6724e912a7e6153b7597192edad6752750
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_22_of_41_5c520a6724e912a7e6153b7597192edad6752750
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_23_of_41_89027d35aa5b8f45ce0f7fa0911db85b46563da0 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_23_of_41_89027d35aa5b8f45ce0f7fa0911db85b46563da0
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_23_of_41_89027d35aa5b8f45ce0f7fa0911db85b46563da0
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_23_of_41_89027d35aa5b8f45ce0f7fa0911db85b46563da0
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_24_of_41_75c46fa61bc5b4ccd20a168ff325c58771248fcd b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_24_of_41_75c46fa61bc5b4ccd20a168ff325c58771248fcd
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_24_of_41_75c46fa61bc5b4ccd20a168ff325c58771248fcd
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_24_of_41_75c46fa61bc5b4ccd20a168ff325c58771248fcd
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_25_1_of_41_4c9961d56ec20c27ec5d02e49fd7427748312741 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_25_1_of_41_4c9961d56ec20c27ec5d02e49fd7427748312741
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_25_1_of_41_4c9961d56ec20c27ec5d02e49fd7427748312741
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_25_1_of_41_4c9961d56ec20c27ec5d02e49fd7427748312741
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_25_2_of_41_c535b6a1a685eb23f96e2c221777d6c1e05080d5 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_25_2_of_41_c535b6a1a685eb23f96e2c221777d6c1e05080d5
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_25_2_of_41_c535b6a1a685eb23f96e2c221777d6c1e05080d5
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_25_2_of_41_c535b6a1a685eb23f96e2c221777d6c1e05080d5
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_25_of_41_6e1cb38a2aef7680975e71f23de187859ee8b158 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_25_of_41_6e1cb38a2aef7680975e71f23de187859ee8b158
similarity index 99%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_25_of_41_6e1cb38a2aef7680975e71f23de187859ee8b158
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_25_of_41_6e1cb38a2aef7680975e71f23de187859ee8b158
index 7254f520a..d3e725fcf 100644
--- a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_25_of_41_6e1cb38a2aef7680975e71f23de187859ee8b158
+++ b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_25_of_41_6e1cb38a2aef7680975e71f23de187859ee8b158
@@ -298,7 +298,7 @@ Signed-off-by: Ingo Molnar
return num_processors;
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
-@@ -778,6 +778,8 @@ void __init setup_arch(char **cmdline_p)
+@@ -769,6 +769,8 @@ void __init setup_arch(char **cmdline_p)
#else
num_physpages = max_pfn;
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_26_of_41_2d9579a124d746a3e0e0ba45e57d80800ee80807 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_26_of_41_2d9579a124d746a3e0e0ba45e57d80800ee80807
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_26_of_41_2d9579a124d746a3e0e0ba45e57d80800ee80807
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_26_of_41_2d9579a124d746a3e0e0ba45e57d80800ee80807
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_27_of_41_9fa8c481b55e80edd8c637573f87853bb6b600f5 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_27_of_41_9fa8c481b55e80edd8c637573f87853bb6b600f5
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_27_of_41_9fa8c481b55e80edd8c637573f87853bb6b600f5
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_27_of_41_9fa8c481b55e80edd8c637573f87853bb6b600f5
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_28_1_of_41_f910a9dc7c865896815e2a95fe33363e9522f277 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_28_1_of_41_f910a9dc7c865896815e2a95fe33363e9522f277
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_28_1_of_41_f910a9dc7c865896815e2a95fe33363e9522f277
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_28_1_of_41_f910a9dc7c865896815e2a95fe33363e9522f277
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_29_of_41_277d1f5846d84e16760131a93b7a67ebfa8eded4 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_29_of_41_277d1f5846d84e16760131a93b7a67ebfa8eded4
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_29_of_41_277d1f5846d84e16760131a93b7a67ebfa8eded4
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_29_of_41_277d1f5846d84e16760131a93b7a67ebfa8eded4
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_30_of_41_ad66dd340f561bdde2285992314d9e4fd9b6191e b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_30_of_41_ad66dd340f561bdde2285992314d9e4fd9b6191e
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_30_of_41_ad66dd340f561bdde2285992314d9e4fd9b6191e
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_30_of_41_ad66dd340f561bdde2285992314d9e4fd9b6191e
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_34_of_41_1b9b89e7f163336ad84200b66a17284dbf26aced b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_34_of_41_1b9b89e7f163336ad84200b66a17284dbf26aced
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_34_of_41_1b9b89e7f163336ad84200b66a17284dbf26aced
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_34_of_41_1b9b89e7f163336ad84200b66a17284dbf26aced
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_35_of_41_d25ae38b7e005af03843833bbd811ffe8c5f8cb4 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_35_of_41_d25ae38b7e005af03843833bbd811ffe8c5f8cb4
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_35_of_41_d25ae38b7e005af03843833bbd811ffe8c5f8cb4
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_35_of_41_d25ae38b7e005af03843833bbd811ffe8c5f8cb4
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_36_of_41_276605dddb74cbf1b77696e32c4a947e42cec52d b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_36_of_41_276605dddb74cbf1b77696e32c4a947e42cec52d
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_36_of_41_276605dddb74cbf1b77696e32c4a947e42cec52d
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_36_of_41_276605dddb74cbf1b77696e32c4a947e42cec52d
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_40_of_41_bbb65d2d365efe9951290e61678dcf81ec60add4 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_40_of_41_bbb65d2d365efe9951290e61678dcf81ec60add4
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_40_of_41_bbb65d2d365efe9951290e61678dcf81ec60add4
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_40_of_41_bbb65d2d365efe9951290e61678dcf81ec60add4
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_41_of_41_11c231a962c740b3216eb6565149ae5a7944cba7 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_41_of_41_11c231a962c740b3216eb6565149ae5a7944cba7
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_41_of_41_11c231a962c740b3216eb6565149ae5a7944cba7
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_41_of_41_11c231a962c740b3216eb6565149ae5a7944cba7
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_42_of_41_77322deb4bc676a5ee645444e7ed1a89f854473d b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_42_of_41_77322deb4bc676a5ee645444e7ed1a89f854473d
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_42_of_41_77322deb4bc676a5ee645444e7ed1a89f854473d
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_42_of_41_77322deb4bc676a5ee645444e7ed1a89f854473d
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_43_of_41_2c72d93f6593f386f5760ca8e7ac7026948c31d7 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_43_of_41_2c72d93f6593f386f5760ca8e7ac7026948c31d7
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_43_of_41_2c72d93f6593f386f5760ca8e7ac7026948c31d7
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_43_of_41_2c72d93f6593f386f5760ca8e7ac7026948c31d7
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_x86-mach_apicdef.h-need-to-include-before-smp.h.patch b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_x86-mach_apicdef.h-need-to-include-before-smp.h.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_PATCH_x86-mach_apicdef.h-need-to-include-before-smp.h.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_x86-mach_apicdef.h-need-to-include-before-smp.h.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x2APIC_fix_section_mismatch.patch b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_fix_section_mismatch.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x2APIC_fix_section_mismatch.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x2APIC_fix_section_mismatch.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-acpi-reroute-PCI-interrupt-to-legacy-boot-interrupt.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-acpi-reroute-PCI-interrupt-to-legacy-boot-interrupt.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-acpi-reroute-PCI-interrupt-to-legacy-boot-interrupt.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-acpi-reroute-PCI-interrupt-to-legacy-boot-interrupt.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-add-PCI-IDs-for-devices-that-need-boot-irq-quirk.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-add-PCI-IDs-for-devices-that-need-boot-irq-quirk.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-add-PCI-IDs-for-devices-that-need-boot-irq-quirk.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-add-PCI-IDs-for-devices-that-need-boot-irq-quirk.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-apic-force-bigsmp-apic-on-IBM-EXA3-4.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-apic-force-bigsmp-apic-on-IBM-EXA3-4.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-apic-force-bigsmp-apic-on-IBM-EXA3-4.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-apic-force-bigsmp-apic-on-IBM-EXA3-4.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-call-boot-IRQ-quirks-at-end-of-device-init-and-during-resume.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-call-boot-IRQ-quirks-at-end-of-device-init-and-during-resume.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-call-boot-IRQ-quirks-at-end-of-device-init-and-during-resume.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-call-boot-IRQ-quirks-at-end-of-device-init-and-during-resume.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-disable-AMD-ATI-boot-interrupt-generation.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-disable-AMD-ATI-boot-interrupt-generation.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-disable-AMD-ATI-boot-interrupt-generation.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-disable-AMD-ATI-boot-interrupt-generation.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-disable-broadcomm-boot-interrupt-generation.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-disable-broadcomm-boot-interrupt-generation.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-disable-broadcomm-boot-interrupt-generation.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-disable-broadcomm-boot-interrupt-generation.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-disable-intel-boot-interrupt-generation.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-disable-intel-boot-interrupt-generation.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-disable-intel-boot-interrupt-generation.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-disable-intel-boot-interrupt-generation.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-fix-kmap-contig.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-fix-kmap-contig.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-fix-kmap-contig.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-fix-kmap-contig.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-fix-nodac b/src/patches/suse-2.6.27.31/patches.arch/x86-fix-nodac
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-fix-nodac
rename to src/patches/suse-2.6.27.31/patches.arch/x86-fix-nodac
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-hpet-pre-read b/src/patches/suse-2.6.27.31/patches.arch/x86-hpet-pre-read
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-hpet-pre-read
rename to src/patches/suse-2.6.27.31/patches.arch/x86-hpet-pre-read
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-introduce-config-option-for-pci-reroute-quirks.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-introduce-config-option-for-pci-reroute-quirks.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-introduce-config-option-for-pci-reroute-quirks.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-introduce-config-option-for-pci-reroute-quirks.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-introduce-pci-ioapicreroute-kernel-cmdline.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-introduce-pci-ioapicreroute-kernel-cmdline.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-introduce-pci-ioapicreroute-kernel-cmdline.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-introduce-pci-ioapicreroute-kernel-cmdline.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-introduce-pci-noioapicquirk-kernel-cmdline.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-introduce-pci-noioapicquirk-kernel-cmdline.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-introduce-pci-noioapicquirk-kernel-cmdline.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-introduce-pci-noioapicquirk-kernel-cmdline.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-mce-make-polling-timer-interval-per-cpu b/src/patches/suse-2.6.27.31/patches.arch/x86-mce-make-polling-timer-interval-per-cpu
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-mce-make-polling-timer-interval-per-cpu
rename to src/patches/suse-2.6.27.31/patches.arch/x86-mce-make-polling-timer-interval-per-cpu
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-mce-switch-machine-check-polling-to-per-cpu-timer b/src/patches/suse-2.6.27.31/patches.arch/x86-mce-switch-machine-check-polling-to-per-cpu-timer
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-mce-switch-machine-check-polling-to-per-cpu-timer
rename to src/patches/suse-2.6.27.31/patches.arch/x86-mce-switch-machine-check-polling-to-per-cpu-timer
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-mce-use-round_jiffies-instead-round_jiffies_relative b/src/patches/suse-2.6.27.31/patches.arch/x86-mce-use-round_jiffies-instead-round_jiffies_relative
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-mce-use-round_jiffies-instead-round_jiffies_relative
rename to src/patches/suse-2.6.27.31/patches.arch/x86-mce-use-round_jiffies-instead-round_jiffies_relative
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-mcp51-no-dac b/src/patches/suse-2.6.27.31/patches.arch/x86-mcp51-no-dac
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-mcp51-no-dac
rename to src/patches/suse-2.6.27.31/patches.arch/x86-mcp51-no-dac
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-pageattr-pmd-permission-fix.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-pageattr-pmd-permission-fix.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-pageattr-pmd-permission-fix.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-pageattr-pmd-permission-fix.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-self-ptrace.patch b/src/patches/suse-2.6.27.31/patches.arch/x86-self-ptrace.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-self-ptrace.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86-self-ptrace.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-tracehook b/src/patches/suse-2.6.27.31/patches.arch/x86-tracehook
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-tracehook
rename to src/patches/suse-2.6.27.31/patches.arch/x86-tracehook
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-01-add-TSC_RELIABLE b/src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-01-add-TSC_RELIABLE
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-01-add-TSC_RELIABLE
rename to src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-01-add-TSC_RELIABLE
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-02-add-X86_FEATURE_HYPERVISOR b/src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-02-add-X86_FEATURE_HYPERVISOR
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-02-add-X86_FEATURE_HYPERVISOR
rename to src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-02-add-X86_FEATURE_HYPERVISOR
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-03-detect-from-hypervisor b/src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-03-detect-from-hypervisor
similarity index 99%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-03-detect-from-hypervisor
rename to src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-03-detect-from-hypervisor
index 1d2e69f8a..9f1e82834 100644
--- a/src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-03-detect-from-hypervisor
+++ b/src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-03-detect-from-hypervisor
@@ -252,7 +252,7 @@ Signed-off-by: Takashi Iwai
#include
#include
-@@ -905,6 +906,12 @@ void __init setup_arch(char **cmdline_p)
+@@ -896,6 +897,12 @@ void __init setup_arch(char **cmdline_p)
e820_reserve_resources();
e820_mark_nosave_regions(max_low_pfn);
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-04-use-TSC_RELIABLE b/src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-04-use-TSC_RELIABLE
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-04-use-TSC_RELIABLE
rename to src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-04-use-TSC_RELIABLE
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-05-skip-tsc-clocksource b/src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-05-skip-tsc-clocksource
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-05-skip-tsc-clocksource
rename to src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-05-skip-tsc-clocksource
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-06-fix-vmware_get_tsc b/src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-06-fix-vmware_get_tsc
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-06-fix-vmware_get_tsc
rename to src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-06-fix-vmware_get_tsc
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-07-DMI-product-serial-key b/src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-07-DMI-product-serial-key
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86-vmware-tsc-07-DMI-product-serial-key
rename to src/patches/suse-2.6.27.31/patches.arch/x86-vmware-tsc-07-DMI-product-serial-key
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_64-hpet-64bit-timer.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_64-hpet-64bit-timer.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_64-hpet-64bit-timer.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_64-hpet-64bit-timer.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_64-unwind-annotations b/src/patches/suse-2.6.27.31/patches.arch/x86_64-unwind-annotations
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_64-unwind-annotations
rename to src/patches/suse-2.6.27.31/patches.arch/x86_64-unwind-annotations
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_agpgart-g33-stoeln-fix-2.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_agpgart-g33-stoeln-fix-2.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_agpgart-g33-stoeln-fix-2.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_agpgart-g33-stoeln-fix-2.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_fix_llc_shared_map__cpu_llc_id_anomolies.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_fix_llc_shared_map__cpu_llc_id_anomolies.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_fix_llc_shared_map__cpu_llc_id_anomolies.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_fix_llc_shared_map__cpu_llc_id_anomolies.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_intel_cacheinfo_fix.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_intel_cacheinfo_fix.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_intel_cacheinfo_fix.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_intel_cacheinfo_fix.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_restrict_pci_early_quirks_to_root_bridges.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_restrict_pci_early_quirks_to_root_bridges.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_restrict_pci_early_quirks_to_root_bridges.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_restrict_pci_early_quirks_to_root_bridges.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_sgi-uv-scir.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_sgi-uv-scir.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_sgi-uv-scir.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_sgi-uv-scir.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_sgi_cpus4096-01-fix-smp_call_function.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-01-fix-smp_call_function.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_sgi_cpus4096-01-fix-smp_call_function.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-01-fix-smp_call_function.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_sgi_cpus4096-02-fix-send_call_func_ip.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-02-fix-send_call_func_ip.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_sgi_cpus4096-02-fix-send_call_func_ip.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-02-fix-send_call_func_ip.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_sgi_cpus4096-04-add-for_each_cpu_mask_and.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-04-add-for_each_cpu_mask_and.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_sgi_cpus4096-04-add-for_each_cpu_mask_and.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-04-add-for_each_cpu_mask_and.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_sgi_cpus4096-05-update-send_IPI_mask.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-05-update-send_IPI_mask.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_sgi_cpus4096-05-update-send_IPI_mask.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-05-update-send_IPI_mask.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_sgi_cpus4096-06-optimize-cpumask-in-sched_c.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-06-optimize-cpumask-in-sched_c.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_sgi_cpus4096-06-optimize-cpumask-in-sched_c.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-06-optimize-cpumask-in-sched_c.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_sgi_cpus4096-07_pae_compile_fixups.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-07_pae_compile_fixups.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_sgi_cpus4096-07_pae_compile_fixups.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_sgi_cpus4096-07_pae_compile_fixups.patch
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_sgi_uv_early_detect_oem.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_sgi_uv_early_detect_oem.patch
similarity index 93%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_sgi_uv_early_detect_oem.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_sgi_uv_early_detect_oem.patch
index 5f7266a13..c70a05c12 100644
--- a/src/patches/suse-2.6.27.25/patches.arch/x86_sgi_uv_early_detect_oem.patch
+++ b/src/patches/suse-2.6.27.31/patches.arch/x86_sgi_uv_early_detect_oem.patch
@@ -22,7 +22,7 @@ Signed-off-by: Thomas Renninger
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
-@@ -827,6 +827,8 @@ void __init setup_arch(char **cmdline_p)
+@@ -818,6 +818,8 @@ void __init setup_arch(char **cmdline_p)
*/
acpi_boot_table_init();
diff --git a/src/patches/suse-2.6.27.25/patches.arch/x86_uv_early_detect.patch b/src/patches/suse-2.6.27.31/patches.arch/x86_uv_early_detect.patch
similarity index 99%
rename from src/patches/suse-2.6.27.25/patches.arch/x86_uv_early_detect.patch
rename to src/patches/suse-2.6.27.31/patches.arch/x86_uv_early_detect.patch
index dd88f437b..9eb70dd9b 100644
--- a/src/patches/suse-2.6.27.25/patches.arch/x86_uv_early_detect.patch
+++ b/src/patches/suse-2.6.27.31/patches.arch/x86_uv_early_detect.patch
@@ -186,7 +186,7 @@ Signed-off-by: Thomas Renninger
-
--- a/arch/x86/mm/srat_64.c
+++ b/arch/x86/mm/srat_64.c
-@@ -140,7 +140,7 @@ acpi_numa_processor_affinity_init(struct
+@@ -142,7 +142,7 @@ acpi_numa_processor_affinity_init(struct
return;
}
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0001-IB-ehca-Fix-problem-with-max-number-of-QPs-and-CQs.patch b/src/patches/suse-2.6.27.31/patches.drivers/0001-IB-ehca-Fix-problem-with-max-number-of-QPs-and-CQs.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0001-IB-ehca-Fix-problem-with-max-number-of-QPs-and-CQs.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0001-IB-ehca-Fix-problem-with-max-number-of-QPs-and-CQs.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0001-Staging-add-TAINT_CRAP-for-all-drivers-staging-code.patch b/src/patches/suse-2.6.27.31/patches.drivers/0001-Staging-add-TAINT_CRAP-for-all-drivers-staging-code.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0001-Staging-add-TAINT_CRAP-for-all-drivers-staging-code.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0001-Staging-add-TAINT_CRAP-for-all-drivers-staging-code.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0002-Staging-add-TAINT_CRAP-flag-to-drivers-staging-modu.patch b/src/patches/suse-2.6.27.31/patches.drivers/0002-Staging-add-TAINT_CRAP-flag-to-drivers-staging-modu.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0002-Staging-add-TAINT_CRAP-flag-to-drivers-staging-modu.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0002-Staging-add-TAINT_CRAP-flag-to-drivers-staging-modu.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0003-Staging-add-Kconfig-entries-and-Makefile-infrastruc.patch b/src/patches/suse-2.6.27.31/patches.drivers/0003-Staging-add-Kconfig-entries-and-Makefile-infrastruc.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0003-Staging-add-Kconfig-entries-and-Makefile-infrastruc.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0003-Staging-add-Kconfig-entries-and-Makefile-infrastruc.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0004-Staging-add-MAINTAINERS-entry.patch b/src/patches/suse-2.6.27.31/patches.drivers/0004-Staging-add-MAINTAINERS-entry.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0004-Staging-add-MAINTAINERS-entry.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0004-Staging-add-MAINTAINERS-entry.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0005-Staging-add-et131x-network-driver.patch b/src/patches/suse-2.6.27.31/patches.drivers/0005-Staging-add-et131x-network-driver.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0005-Staging-add-et131x-network-driver.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0005-Staging-add-et131x-network-driver.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0006-Staging-add-Alacritech-slicoss-network-driver.patch b/src/patches/suse-2.6.27.31/patches.drivers/0006-Staging-add-Alacritech-slicoss-network-driver.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0006-Staging-add-Alacritech-slicoss-network-driver.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0006-Staging-add-Alacritech-slicoss-network-driver.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0007-Staging-add-sxg-network-driver.patch b/src/patches/suse-2.6.27.31/patches.drivers/0007-Staging-add-sxg-network-driver.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0007-Staging-add-sxg-network-driver.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0007-Staging-add-sxg-network-driver.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0008-Staging-add-me4000-firmware-files.patch b/src/patches/suse-2.6.27.31/patches.drivers/0008-Staging-add-me4000-firmware-files.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0008-Staging-add-me4000-firmware-files.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0008-Staging-add-me4000-firmware-files.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0009-Staging-add-me4000-pci-data-collection-driver.patch b/src/patches/suse-2.6.27.31/patches.drivers/0009-Staging-add-me4000-pci-data-collection-driver.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0009-Staging-add-me4000-pci-data-collection-driver.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0009-Staging-add-me4000-pci-data-collection-driver.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0010-Staging-add-the-go7007-video-driver.patch b/src/patches/suse-2.6.27.31/patches.drivers/0010-Staging-add-the-go7007-video-driver.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0010-Staging-add-the-go7007-video-driver.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0010-Staging-add-the-go7007-video-driver.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0011-Staging-USB-IP-add-common-functions-needed.patch b/src/patches/suse-2.6.27.31/patches.drivers/0011-Staging-USB-IP-add-common-functions-needed.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0011-Staging-USB-IP-add-common-functions-needed.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0011-Staging-USB-IP-add-common-functions-needed.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0012-Staging-USB-IP-add-client-driver.patch b/src/patches/suse-2.6.27.31/patches.drivers/0012-Staging-USB-IP-add-client-driver.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0012-Staging-USB-IP-add-client-driver.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0012-Staging-USB-IP-add-client-driver.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0013-Staging-USB-IP-add-host-driver.patch b/src/patches/suse-2.6.27.31/patches.drivers/0013-Staging-USB-IP-add-host-driver.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0013-Staging-USB-IP-add-host-driver.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0013-Staging-USB-IP-add-host-driver.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0014-Staging-add-w35und-wifi-driver.patch b/src/patches/suse-2.6.27.31/patches.drivers/0014-Staging-add-w35und-wifi-driver.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0014-Staging-add-w35und-wifi-driver.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0014-Staging-add-w35und-wifi-driver.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0015-Staging-add-wlan-ng-prism2-usb-driver.patch b/src/patches/suse-2.6.27.31/patches.drivers/0015-Staging-add-wlan-ng-prism2-usb-driver.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0015-Staging-add-wlan-ng-prism2-usb-driver.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0015-Staging-add-wlan-ng-prism2-usb-driver.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0016-Staging-add-echo-cancelation-module.patch b/src/patches/suse-2.6.27.31/patches.drivers/0016-Staging-add-echo-cancelation-module.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0016-Staging-add-echo-cancelation-module.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0016-Staging-add-echo-cancelation-module.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0017-Staging-Fix-gcc-warnings-in-sxg.patch b/src/patches/suse-2.6.27.31/patches.drivers/0017-Staging-Fix-gcc-warnings-in-sxg.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0017-Staging-Fix-gcc-warnings-in-sxg.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0017-Staging-Fix-gcc-warnings-in-sxg.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0018-Staging-go7007-v4l-fixes.patch b/src/patches/suse-2.6.27.31/patches.drivers/0018-Staging-go7007-v4l-fixes.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0018-Staging-go7007-v4l-fixes.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0018-Staging-go7007-v4l-fixes.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0019-Staging-SLICOSS-lots-of-checkpatch-fixes.patch b/src/patches/suse-2.6.27.31/patches.drivers/0019-Staging-SLICOSS-lots-of-checkpatch-fixes.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0019-Staging-SLICOSS-lots-of-checkpatch-fixes.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0019-Staging-SLICOSS-lots-of-checkpatch-fixes.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0020-Staging-SLICOSS-Fix-warnings-due-to-static-usage.patch b/src/patches/suse-2.6.27.31/patches.drivers/0020-Staging-SLICOSS-Fix-warnings-due-to-static-usage.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0020-Staging-SLICOSS-Fix-warnings-due-to-static-usage.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0020-Staging-SLICOSS-Fix-warnings-due-to-static-usage.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0021-Staging-SLICOSS-Fix-remaining-type-names.patch b/src/patches/suse-2.6.27.31/patches.drivers/0021-Staging-SLICOSS-Fix-remaining-type-names.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0021-Staging-SLICOSS-Fix-remaining-type-names.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0021-Staging-SLICOSS-Fix-remaining-type-names.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0022-Staging-SLICOSS-Call-pci_release_regions-at-driver.patch b/src/patches/suse-2.6.27.31/patches.drivers/0022-Staging-SLICOSS-Call-pci_release_regions-at-driver.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0022-Staging-SLICOSS-Call-pci_release_regions-at-driver.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0022-Staging-SLICOSS-Call-pci_release_regions-at-driver.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/0023-Staging-Lindent-sxg.c.patch b/src/patches/suse-2.6.27.31/patches.drivers/0023-Staging-Lindent-sxg.c.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/0023-Staging-Lindent-sxg.c.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/0023-Staging-Lindent-sxg.c.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/Out-of-order-tx-frames-was-causing-several-check-con.patch b/src/patches/suse-2.6.27.31/patches.drivers/Out-of-order-tx-frames-was-causing-several-check-con.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/Out-of-order-tx-frames-was-causing-several-check-con.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/Out-of-order-tx-frames-was-causing-several-check-con.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-call-_osc-support-during-root-bridge-discovery.patch b/src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-call-_osc-support-during-root-bridge-discovery.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-call-_osc-support-during-root-bridge-discovery.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-call-_osc-support-during-root-bridge-discovery.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-change-pci_osc_control_set-to-query-control-bits-first.patch b/src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-change-pci_osc_control_set-to-query-control-bits-first.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-change-pci_osc_control_set-to-query-control-bits-first.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-change-pci_osc_control_set-to-query-control-bits-first.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-fix-possible-race-condition-on-_osc-evaluation.patch b/src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-fix-possible-race-condition-on-_osc-evaluation.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-fix-possible-race-condition-on-_osc-evaluation.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-fix-possible-race-condition-on-_osc-evaluation.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-include-missing-acpi.h-file-in-pci-acpi.h.patch b/src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-include-missing-acpi.h-file-in-pci-acpi.h.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-include-missing-acpi.h-file-in-pci-acpi.h.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-include-missing-acpi.h-file-in-pci-acpi.h.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-pci-extended-config-_osc-support-called-when-root-bridge-added.patch b/src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-pci-extended-config-_osc-support-called-when-root-bridge-added.patch
similarity index 98%
rename from src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-pci-extended-config-_osc-support-called-when-root-bridge-added.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-pci-extended-config-_osc-support-called-when-root-bridge-added.patch
index 93963e3a1..2fee2d428 100644
--- a/src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-pci-extended-config-_osc-support-called-when-root-bridge-added.patch
+++ b/src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-pci-extended-config-_osc-support-called-when-root-bridge-added.patch
@@ -77,7 +77,7 @@ Signed-off-by: Greg Kroah-Hartman
if (!list_empty(&root->node))
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
-@@ -1899,6 +1899,19 @@ static void __devinit pci_no_domains(voi
+@@ -1900,6 +1900,19 @@ static void __devinit pci_no_domains(voi
#endif
}
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-pci-msi-_osc-support-capabilities-called-when-root-bridge-added.patch b/src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-pci-msi-_osc-support-capabilities-called-when-root-bridge-added.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-pci-msi-_osc-support-capabilities-called-when-root-bridge-added.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-pci-msi-_osc-support-capabilities-called-when-root-bridge-added.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-pcie-aer-_osc-support-capabilities-called-when-root-bridge-added.patch b/src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-pcie-aer-_osc-support-capabilities-called-when-root-bridge-added.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-pcie-aer-_osc-support-capabilities-called-when-root-bridge-added.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-pcie-aer-_osc-support-capabilities-called-when-root-bridge-added.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-pcie-aspm-_osc-support-capabilities-called-when-root-bridge-added.patch b/src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-pcie-aspm-_osc-support-capabilities-called-when-root-bridge-added.patch
similarity index 98%
rename from src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-pcie-aspm-_osc-support-capabilities-called-when-root-bridge-added.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-pcie-aspm-_osc-support-capabilities-called-when-root-bridge-added.patch
index 7144c0a33..ce90cf0ce 100644
--- a/src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-pcie-aspm-_osc-support-capabilities-called-when-root-bridge-added.patch
+++ b/src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-pcie-aspm-_osc-support-capabilities-called-when-root-bridge-added.patch
@@ -36,7 +36,7 @@ Signed-off-by: Greg Kroah-Hartman
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
-@@ -944,24 +944,15 @@ void pcie_no_aspm(void)
+@@ -948,24 +948,15 @@ void pcie_no_aspm(void)
aspm_disabled = 1;
}
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-remove-obsolete-_osc-capability-support-functions.patch b/src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-remove-obsolete-_osc-capability-support-functions.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/acpi-pci-remove-obsolete-_osc-capability-support-functions.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/acpi-pci-remove-obsolete-_osc-capability-support-functions.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/add-via-chrome9-drm-support.patch b/src/patches/suse-2.6.27.31/patches.drivers/add-via-chrome9-drm-support.patch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/add-via-chrome9-drm-support.patch
rename to src/patches/suse-2.6.27.31/patches.drivers/add-via-chrome9-drm-support.patch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-ad1984-hp-volume-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-ad1984-hp-volume-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-ad1984-hp-volume-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-ad1984-hp-volume-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-ca0106-capture-no-44khz b/src/patches/suse-2.6.27.31/patches.drivers/alsa-ca0106-capture-no-44khz
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-ca0106-capture-no-44khz
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-ca0106-capture-no-44khz
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-ca0106-pm-support b/src/patches/suse-2.6.27.31/patches.drivers/alsa-ca0106-pm-support
similarity index 99%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-ca0106-pm-support
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-ca0106-pm-support
index 2d9b4534e..a5565f647 100644
--- a/src/patches/suse-2.6.27.25/patches.drivers/alsa-ca0106-pm-support
+++ b/src/patches/suse-2.6.27.31/patches.drivers/alsa-ca0106-pm-support
@@ -10,264 +10,12 @@ Signed-off-by: Takashi Iwai
---
---- a/sound/pci/ca0106/ca0106_mixer.c
-+++ b/sound/pci/ca0106/ca0106_mixer.c
-@@ -75,6 +75,84 @@
-
- #include "ca0106.h"
-
-+static void ca0106_spdif_enable(struct snd_ca0106 *emu)
-+{
-+ unsigned int val;
-+
-+ if (emu->spdif_enable) {
-+ /* Digital */
-+ snd_ca0106_ptr_write(emu, SPDIF_SELECT1, 0, 0xf);
-+ snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x0b000000);
-+ val = snd_ca0106_ptr_read(emu, CAPTURE_CONTROL, 0) & ~0x1000;
-+ snd_ca0106_ptr_write(emu, CAPTURE_CONTROL, 0, val);
-+ val = inl(emu->port + GPIO) & ~0x101;
-+ outl(val, emu->port + GPIO);
-+
-+ } else {
-+ /* Analog */
-+ snd_ca0106_ptr_write(emu, SPDIF_SELECT1, 0, 0xf);
-+ snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x000f0000);
-+ val = snd_ca0106_ptr_read(emu, CAPTURE_CONTROL, 0) | 0x1000;
-+ snd_ca0106_ptr_write(emu, CAPTURE_CONTROL, 0, val);
-+ val = inl(emu->port + GPIO) | 0x101;
-+ outl(val, emu->port + GPIO);
-+ }
-+}
-+
-+static void ca0106_set_capture_source(struct snd_ca0106 *emu)
-+{
-+ unsigned int val = emu->capture_source;
-+ unsigned int source, mask;
-+ source = (val << 28) | (val << 24) | (val << 20) | (val << 16);
-+ mask = snd_ca0106_ptr_read(emu, CAPTURE_SOURCE, 0) & 0xffff;
-+ snd_ca0106_ptr_write(emu, CAPTURE_SOURCE, 0, source | mask);
-+}
-+
-+static void ca0106_set_i2c_capture_source(struct snd_ca0106 *emu,
-+ unsigned int val, int force)
-+{
-+ unsigned int ngain, ogain;
-+ u32 source;
-+
-+ snd_ca0106_i2c_write(emu, ADC_MUX, 0); /* Mute input */
-+ ngain = emu->i2c_capture_volume[val][0]; /* Left */
-+ ogain = emu->i2c_capture_volume[emu->i2c_capture_source][0]; /* Left */
-+ if (force || ngain != ogain)
-+ snd_ca0106_i2c_write(emu, ADC_ATTEN_ADCL, ngain & 0xff);
-+ ngain = emu->i2c_capture_volume[val][1]; /* Right */
-+ ogain = emu->i2c_capture_volume[emu->i2c_capture_source][1]; /* Right */
-+ if (force || ngain != ogain)
-+ snd_ca0106_i2c_write(emu, ADC_ATTEN_ADCR, ngain & 0xff);
-+ source = 1 << val;
-+ snd_ca0106_i2c_write(emu, ADC_MUX, source); /* Set source */
-+ emu->i2c_capture_source = val;
-+}
-+
-+static void ca0106_set_capture_mic_line_in(struct snd_ca0106 *emu)
-+{
-+ u32 tmp;
-+
-+ if (emu->capture_mic_line_in) {
-+ /* snd_ca0106_i2c_write(emu, ADC_MUX, 0); */ /* Mute input */
-+ tmp = inl(emu->port+GPIO) & ~0x400;
-+ tmp = tmp | 0x400;
-+ outl(tmp, emu->port+GPIO);
-+ /* snd_ca0106_i2c_write(emu, ADC_MUX, ADC_MUX_MIC); */
-+ } else {
-+ /* snd_ca0106_i2c_write(emu, ADC_MUX, 0); */ /* Mute input */
-+ tmp = inl(emu->port+GPIO) & ~0x400;
-+ outl(tmp, emu->port+GPIO);
-+ /* snd_ca0106_i2c_write(emu, ADC_MUX, ADC_MUX_LINEIN); */
-+ }
-+}
-+
-+static void ca0106_set_spdif_bits(struct snd_ca0106 *emu, int idx)
-+{
-+ snd_ca0106_ptr_write(emu, SPCS0 + idx, 0, emu->spdif_bits[idx]);
-+}
-+
-+/*
-+ */
- static const DECLARE_TLV_DB_SCALE(snd_ca0106_db_scale1, -5175, 25, 1);
- static const DECLARE_TLV_DB_SCALE(snd_ca0106_db_scale2, -10350, 50, 1);
-
-@@ -95,30 +173,12 @@ static int snd_ca0106_shared_spdif_put(s
- struct snd_ca0106 *emu = snd_kcontrol_chip(kcontrol);
- unsigned int val;
- int change = 0;
-- u32 mask;
-
- val = !!ucontrol->value.integer.value[0];
- change = (emu->spdif_enable != val);
- if (change) {
- emu->spdif_enable = val;
-- if (val) {
-- /* Digital */
-- snd_ca0106_ptr_write(emu, SPDIF_SELECT1, 0, 0xf);
-- snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x0b000000);
-- snd_ca0106_ptr_write(emu, CAPTURE_CONTROL, 0,
-- snd_ca0106_ptr_read(emu, CAPTURE_CONTROL, 0) & ~0x1000);
-- mask = inl(emu->port + GPIO) & ~0x101;
-- outl(mask, emu->port + GPIO);
--
-- } else {
-- /* Analog */
-- snd_ca0106_ptr_write(emu, SPDIF_SELECT1, 0, 0xf);
-- snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x000f0000);
-- snd_ca0106_ptr_write(emu, CAPTURE_CONTROL, 0,
-- snd_ca0106_ptr_read(emu, CAPTURE_CONTROL, 0) | 0x1000);
-- mask = inl(emu->port + GPIO) | 0x101;
-- outl(mask, emu->port + GPIO);
-- }
-+ ca0106_spdif_enable(emu);
- }
- return change;
- }
-@@ -154,8 +214,6 @@ static int snd_ca0106_capture_source_put
- struct snd_ca0106 *emu = snd_kcontrol_chip(kcontrol);
- unsigned int val;
- int change = 0;
-- u32 mask;
-- u32 source;
-
- val = ucontrol->value.enumerated.item[0] ;
- if (val >= 6)
-@@ -163,9 +221,7 @@ static int snd_ca0106_capture_source_put
- change = (emu->capture_source != val);
- if (change) {
- emu->capture_source = val;
-- source = (val << 28) | (val << 24) | (val << 20) | (val << 16);
-- mask = snd_ca0106_ptr_read(emu, CAPTURE_SOURCE, 0) & 0xffff;
-- snd_ca0106_ptr_write(emu, CAPTURE_SOURCE, 0, source | mask);
-+ ca0106_set_capture_source(emu);
- }
- return change;
- }
-@@ -200,9 +256,7 @@ static int snd_ca0106_i2c_capture_source
- {
- struct snd_ca0106 *emu = snd_kcontrol_chip(kcontrol);
- unsigned int source_id;
-- unsigned int ngain, ogain;
- int change = 0;
-- u32 source;
- /* If the capture source has changed,
- * update the capture volume from the cached value
- * for the particular source.
-@@ -212,18 +266,7 @@ static int snd_ca0106_i2c_capture_source
- return -EINVAL;
- change = (emu->i2c_capture_source != source_id);
- if (change) {
-- snd_ca0106_i2c_write(emu, ADC_MUX, 0); /* Mute input */
-- ngain = emu->i2c_capture_volume[source_id][0]; /* Left */
-- ogain = emu->i2c_capture_volume[emu->i2c_capture_source][0]; /* Left */
-- if (ngain != ogain)
-- snd_ca0106_i2c_write(emu, ADC_ATTEN_ADCL, ((ngain) & 0xff));
-- ngain = emu->i2c_capture_volume[source_id][1]; /* Left */
-- ogain = emu->i2c_capture_volume[emu->i2c_capture_source][1]; /* Left */
-- if (ngain != ogain)
-- snd_ca0106_i2c_write(emu, ADC_ATTEN_ADCR, ((ngain) & 0xff));
-- source = 1 << source_id;
-- snd_ca0106_i2c_write(emu, ADC_MUX, source); /* Set source */
-- emu->i2c_capture_source = source_id;
-+ ca0106_set_i2c_capture_source(emu, source_id, 0);
- }
- return change;
- }
-@@ -271,7 +314,6 @@ static int snd_ca0106_capture_mic_line_i
- struct snd_ca0106 *emu = snd_kcontrol_chip(kcontrol);
- unsigned int val;
- int change = 0;
-- u32 tmp;
-
- val = ucontrol->value.enumerated.item[0] ;
- if (val > 1)
-@@ -279,18 +321,7 @@ static int snd_ca0106_capture_mic_line_i
- change = (emu->capture_mic_line_in != val);
- if (change) {
- emu->capture_mic_line_in = val;
-- if (val) {
-- //snd_ca0106_i2c_write(emu, ADC_MUX, 0); /* Mute input */
-- tmp = inl(emu->port+GPIO) & ~0x400;
-- tmp = tmp | 0x400;
-- outl(tmp, emu->port+GPIO);
-- //snd_ca0106_i2c_write(emu, ADC_MUX, ADC_MUX_MIC);
-- } else {
-- //snd_ca0106_i2c_write(emu, ADC_MUX, 0); /* Mute input */
-- tmp = inl(emu->port+GPIO) & ~0x400;
-- outl(tmp, emu->port+GPIO);
-- //snd_ca0106_i2c_write(emu, ADC_MUX, ADC_MUX_LINEIN);
-- }
-+ ca0106_set_capture_mic_line_in(emu);
- }
- return change;
- }
-@@ -359,8 +390,8 @@ static int snd_ca0106_spdif_put(struct s
- (ucontrol->value.iec958.status[3] << 24);
- change = val != emu->spdif_bits[idx];
- if (change) {
-- snd_ca0106_ptr_write(emu, SPCS0 + idx, 0, val);
- emu->spdif_bits[idx] = val;
-+ ca0106_set_spdif_bits(emu, idx);
- }
- return change;
- }
-@@ -773,3 +804,50 @@ int __devinit snd_ca0106_mixer(struct sn
- return 0;
- }
-
-+#ifdef CONFIG_PM
-+struct ca0106_vol_tbl {
-+ unsigned int channel_id;
-+ unsigned int reg;
-+};
-+
-+static struct ca0106_vol_tbl saved_volumes[NUM_SAVED_VOLUMES] = {
-+ { CONTROL_FRONT_CHANNEL, PLAYBACK_VOLUME2 },
-+ { CONTROL_REAR_CHANNEL, PLAYBACK_VOLUME2 },
-+ { CONTROL_CENTER_LFE_CHANNEL, PLAYBACK_VOLUME2 },
-+ { CONTROL_UNKNOWN_CHANNEL, PLAYBACK_VOLUME2 },
-+ { CONTROL_FRONT_CHANNEL, PLAYBACK_VOLUME1 },
-+ { CONTROL_REAR_CHANNEL, PLAYBACK_VOLUME1 },
-+ { CONTROL_CENTER_LFE_CHANNEL, PLAYBACK_VOLUME1 },
-+ { CONTROL_UNKNOWN_CHANNEL, PLAYBACK_VOLUME1 },
-+ { 1, CAPTURE_CONTROL },
-+};
-+
-+void snd_ca0106_mixer_suspend(struct snd_ca0106 *chip)
-+{
-+ int i;
-+
-+ /* save volumes */
-+ for (i = 0; i < NUM_SAVED_VOLUMES; i++)
-+ chip->saved_vol[i] =
-+ snd_ca0106_ptr_read(chip, saved_volumes[i].reg,
-+ saved_volumes[i].channel_id);
-+}
-+
-+void snd_ca0106_mixer_resume(struct snd_ca0106 *chip)
-+{
-+ int i;
-+
-+ for (i = 0; i < NUM_SAVED_VOLUMES; i++)
-+ snd_ca0106_ptr_write(chip, saved_volumes[i].reg,
-+ saved_volumes[i].channel_id,
-+ chip->saved_vol[i]);
-+
-+ ca0106_spdif_enable(chip);
-+ ca0106_set_capture_source(chip);
-+ ca0106_set_i2c_capture_source(chip, chip->i2c_capture_source, 1);
-+ for (i = 0; i < 4; i++)
-+ ca0106_set_spdif_bits(chip, i);
-+ if (chip->details->i2c_adc)
-+ ca0106_set_capture_mic_line_in(chip);
-+}
-+#endif /* CONFIG_PM */
+---
+ sound/pci/ca0106/ca0106.h | 15 +
+ sound/pci/ca0106/ca0106_main.c | 532 +++++++++++++++++++++++-----------------
+ sound/pci/ca0106/ca0106_mixer.c | 182 +++++++++----
+ 3 files changed, 457 insertions(+), 272 deletions(-)
+
--- a/sound/pci/ca0106/ca0106.h
+++ b/sound/pci/ca0106/ca0106.h
@@ -686,7 +686,7 @@ struct snd_ca0106 {
@@ -1019,3 +767,261 @@ Signed-off-by: Takashi Iwai
};
// initialization of the module
+--- a/sound/pci/ca0106/ca0106_mixer.c
++++ b/sound/pci/ca0106/ca0106_mixer.c
+@@ -75,6 +75,84 @@
+
+ #include "ca0106.h"
+
++static void ca0106_spdif_enable(struct snd_ca0106 *emu)
++{
++ unsigned int val;
++
++ if (emu->spdif_enable) {
++ /* Digital */
++ snd_ca0106_ptr_write(emu, SPDIF_SELECT1, 0, 0xf);
++ snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x0b000000);
++ val = snd_ca0106_ptr_read(emu, CAPTURE_CONTROL, 0) & ~0x1000;
++ snd_ca0106_ptr_write(emu, CAPTURE_CONTROL, 0, val);
++ val = inl(emu->port + GPIO) & ~0x101;
++ outl(val, emu->port + GPIO);
++
++ } else {
++ /* Analog */
++ snd_ca0106_ptr_write(emu, SPDIF_SELECT1, 0, 0xf);
++ snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x000f0000);
++ val = snd_ca0106_ptr_read(emu, CAPTURE_CONTROL, 0) | 0x1000;
++ snd_ca0106_ptr_write(emu, CAPTURE_CONTROL, 0, val);
++ val = inl(emu->port + GPIO) | 0x101;
++ outl(val, emu->port + GPIO);
++ }
++}
++
++static void ca0106_set_capture_source(struct snd_ca0106 *emu)
++{
++ unsigned int val = emu->capture_source;
++ unsigned int source, mask;
++ source = (val << 28) | (val << 24) | (val << 20) | (val << 16);
++ mask = snd_ca0106_ptr_read(emu, CAPTURE_SOURCE, 0) & 0xffff;
++ snd_ca0106_ptr_write(emu, CAPTURE_SOURCE, 0, source | mask);
++}
++
++static void ca0106_set_i2c_capture_source(struct snd_ca0106 *emu,
++ unsigned int val, int force)
++{
++ unsigned int ngain, ogain;
++ u32 source;
++
++ snd_ca0106_i2c_write(emu, ADC_MUX, 0); /* Mute input */
++ ngain = emu->i2c_capture_volume[val][0]; /* Left */
++ ogain = emu->i2c_capture_volume[emu->i2c_capture_source][0]; /* Left */
++ if (force || ngain != ogain)
++ snd_ca0106_i2c_write(emu, ADC_ATTEN_ADCL, ngain & 0xff);
++ ngain = emu->i2c_capture_volume[val][1]; /* Right */
++ ogain = emu->i2c_capture_volume[emu->i2c_capture_source][1]; /* Right */
++ if (force || ngain != ogain)
++ snd_ca0106_i2c_write(emu, ADC_ATTEN_ADCR, ngain & 0xff);
++ source = 1 << val;
++ snd_ca0106_i2c_write(emu, ADC_MUX, source); /* Set source */
++ emu->i2c_capture_source = val;
++}
++
++static void ca0106_set_capture_mic_line_in(struct snd_ca0106 *emu)
++{
++ u32 tmp;
++
++ if (emu->capture_mic_line_in) {
++ /* snd_ca0106_i2c_write(emu, ADC_MUX, 0); */ /* Mute input */
++ tmp = inl(emu->port+GPIO) & ~0x400;
++ tmp = tmp | 0x400;
++ outl(tmp, emu->port+GPIO);
++ /* snd_ca0106_i2c_write(emu, ADC_MUX, ADC_MUX_MIC); */
++ } else {
++ /* snd_ca0106_i2c_write(emu, ADC_MUX, 0); */ /* Mute input */
++ tmp = inl(emu->port+GPIO) & ~0x400;
++ outl(tmp, emu->port+GPIO);
++ /* snd_ca0106_i2c_write(emu, ADC_MUX, ADC_MUX_LINEIN); */
++ }
++}
++
++static void ca0106_set_spdif_bits(struct snd_ca0106 *emu, int idx)
++{
++ snd_ca0106_ptr_write(emu, SPCS0 + idx, 0, emu->spdif_bits[idx]);
++}
++
++/*
++ */
+ static const DECLARE_TLV_DB_SCALE(snd_ca0106_db_scale1, -5175, 25, 1);
+ static const DECLARE_TLV_DB_SCALE(snd_ca0106_db_scale2, -10350, 50, 1);
+
+@@ -95,30 +173,12 @@ static int snd_ca0106_shared_spdif_put(s
+ struct snd_ca0106 *emu = snd_kcontrol_chip(kcontrol);
+ unsigned int val;
+ int change = 0;
+- u32 mask;
+
+ val = !!ucontrol->value.integer.value[0];
+ change = (emu->spdif_enable != val);
+ if (change) {
+ emu->spdif_enable = val;
+- if (val) {
+- /* Digital */
+- snd_ca0106_ptr_write(emu, SPDIF_SELECT1, 0, 0xf);
+- snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x0b000000);
+- snd_ca0106_ptr_write(emu, CAPTURE_CONTROL, 0,
+- snd_ca0106_ptr_read(emu, CAPTURE_CONTROL, 0) & ~0x1000);
+- mask = inl(emu->port + GPIO) & ~0x101;
+- outl(mask, emu->port + GPIO);
+-
+- } else {
+- /* Analog */
+- snd_ca0106_ptr_write(emu, SPDIF_SELECT1, 0, 0xf);
+- snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x000f0000);
+- snd_ca0106_ptr_write(emu, CAPTURE_CONTROL, 0,
+- snd_ca0106_ptr_read(emu, CAPTURE_CONTROL, 0) | 0x1000);
+- mask = inl(emu->port + GPIO) | 0x101;
+- outl(mask, emu->port + GPIO);
+- }
++ ca0106_spdif_enable(emu);
+ }
+ return change;
+ }
+@@ -154,8 +214,6 @@ static int snd_ca0106_capture_source_put
+ struct snd_ca0106 *emu = snd_kcontrol_chip(kcontrol);
+ unsigned int val;
+ int change = 0;
+- u32 mask;
+- u32 source;
+
+ val = ucontrol->value.enumerated.item[0] ;
+ if (val >= 6)
+@@ -163,9 +221,7 @@ static int snd_ca0106_capture_source_put
+ change = (emu->capture_source != val);
+ if (change) {
+ emu->capture_source = val;
+- source = (val << 28) | (val << 24) | (val << 20) | (val << 16);
+- mask = snd_ca0106_ptr_read(emu, CAPTURE_SOURCE, 0) & 0xffff;
+- snd_ca0106_ptr_write(emu, CAPTURE_SOURCE, 0, source | mask);
++ ca0106_set_capture_source(emu);
+ }
+ return change;
+ }
+@@ -200,9 +256,7 @@ static int snd_ca0106_i2c_capture_source
+ {
+ struct snd_ca0106 *emu = snd_kcontrol_chip(kcontrol);
+ unsigned int source_id;
+- unsigned int ngain, ogain;
+ int change = 0;
+- u32 source;
+ /* If the capture source has changed,
+ * update the capture volume from the cached value
+ * for the particular source.
+@@ -212,18 +266,7 @@ static int snd_ca0106_i2c_capture_source
+ return -EINVAL;
+ change = (emu->i2c_capture_source != source_id);
+ if (change) {
+- snd_ca0106_i2c_write(emu, ADC_MUX, 0); /* Mute input */
+- ngain = emu->i2c_capture_volume[source_id][0]; /* Left */
+- ogain = emu->i2c_capture_volume[emu->i2c_capture_source][0]; /* Left */
+- if (ngain != ogain)
+- snd_ca0106_i2c_write(emu, ADC_ATTEN_ADCL, ((ngain) & 0xff));
+- ngain = emu->i2c_capture_volume[source_id][1]; /* Left */
+- ogain = emu->i2c_capture_volume[emu->i2c_capture_source][1]; /* Left */
+- if (ngain != ogain)
+- snd_ca0106_i2c_write(emu, ADC_ATTEN_ADCR, ((ngain) & 0xff));
+- source = 1 << source_id;
+- snd_ca0106_i2c_write(emu, ADC_MUX, source); /* Set source */
+- emu->i2c_capture_source = source_id;
++ ca0106_set_i2c_capture_source(emu, source_id, 0);
+ }
+ return change;
+ }
+@@ -271,7 +314,6 @@ static int snd_ca0106_capture_mic_line_i
+ struct snd_ca0106 *emu = snd_kcontrol_chip(kcontrol);
+ unsigned int val;
+ int change = 0;
+- u32 tmp;
+
+ val = ucontrol->value.enumerated.item[0] ;
+ if (val > 1)
+@@ -279,18 +321,7 @@ static int snd_ca0106_capture_mic_line_i
+ change = (emu->capture_mic_line_in != val);
+ if (change) {
+ emu->capture_mic_line_in = val;
+- if (val) {
+- //snd_ca0106_i2c_write(emu, ADC_MUX, 0); /* Mute input */
+- tmp = inl(emu->port+GPIO) & ~0x400;
+- tmp = tmp | 0x400;
+- outl(tmp, emu->port+GPIO);
+- //snd_ca0106_i2c_write(emu, ADC_MUX, ADC_MUX_MIC);
+- } else {
+- //snd_ca0106_i2c_write(emu, ADC_MUX, 0); /* Mute input */
+- tmp = inl(emu->port+GPIO) & ~0x400;
+- outl(tmp, emu->port+GPIO);
+- //snd_ca0106_i2c_write(emu, ADC_MUX, ADC_MUX_LINEIN);
+- }
++ ca0106_set_capture_mic_line_in(emu);
+ }
+ return change;
+ }
+@@ -359,8 +390,8 @@ static int snd_ca0106_spdif_put(struct s
+ (ucontrol->value.iec958.status[3] << 24);
+ change = val != emu->spdif_bits[idx];
+ if (change) {
+- snd_ca0106_ptr_write(emu, SPCS0 + idx, 0, val);
+ emu->spdif_bits[idx] = val;
++ ca0106_set_spdif_bits(emu, idx);
+ }
+ return change;
+ }
+@@ -779,3 +810,50 @@ int __devinit snd_ca0106_mixer(struct sn
+ return 0;
+ }
+
++#ifdef CONFIG_PM
++struct ca0106_vol_tbl {
++ unsigned int channel_id;
++ unsigned int reg;
++};
++
++static struct ca0106_vol_tbl saved_volumes[NUM_SAVED_VOLUMES] = {
++ { CONTROL_FRONT_CHANNEL, PLAYBACK_VOLUME2 },
++ { CONTROL_REAR_CHANNEL, PLAYBACK_VOLUME2 },
++ { CONTROL_CENTER_LFE_CHANNEL, PLAYBACK_VOLUME2 },
++ { CONTROL_UNKNOWN_CHANNEL, PLAYBACK_VOLUME2 },
++ { CONTROL_FRONT_CHANNEL, PLAYBACK_VOLUME1 },
++ { CONTROL_REAR_CHANNEL, PLAYBACK_VOLUME1 },
++ { CONTROL_CENTER_LFE_CHANNEL, PLAYBACK_VOLUME1 },
++ { CONTROL_UNKNOWN_CHANNEL, PLAYBACK_VOLUME1 },
++ { 1, CAPTURE_CONTROL },
++};
++
++void snd_ca0106_mixer_suspend(struct snd_ca0106 *chip)
++{
++ int i;
++
++ /* save volumes */
++ for (i = 0; i < NUM_SAVED_VOLUMES; i++)
++ chip->saved_vol[i] =
++ snd_ca0106_ptr_read(chip, saved_volumes[i].reg,
++ saved_volumes[i].channel_id);
++}
++
++void snd_ca0106_mixer_resume(struct snd_ca0106 *chip)
++{
++ int i;
++
++ for (i = 0; i < NUM_SAVED_VOLUMES; i++)
++ snd_ca0106_ptr_write(chip, saved_volumes[i].reg,
++ saved_volumes[i].channel_id,
++ chip->saved_vol[i]);
++
++ ca0106_spdif_enable(chip);
++ ca0106_set_capture_source(chip);
++ ca0106_set_i2c_capture_source(chip, chip->i2c_capture_source, 1);
++ for (i = 0; i < 4; i++)
++ ca0106_set_spdif_bits(chip, i);
++ if (chip->details->i2c_adc)
++ ca0106_set_capture_mic_line_in(chip);
++}
++#endif /* CONFIG_PM */
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-emu10k1-audigy-fixes b/src/patches/suse-2.6.27.31/patches.drivers/alsa-emu10k1-audigy-fixes
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-emu10k1-audigy-fixes
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-emu10k1-audigy-fixes
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-92hd73x-desktop-fixes b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-92hd73x-desktop-fixes
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-92hd73x-desktop-fixes
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-92hd73x-desktop-fixes
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-ad1882-id-typo-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-ad1882-id-typo-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-ad1882-id-typo-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-ad1882-id-typo-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-add-volume-offset b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-add-volume-offset
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-add-volume-offset
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-add-volume-offset
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-alc269-fsc-amilo b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-alc269-fsc-amilo
similarity index 84%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-alc269-fsc-amilo
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-alc269-fsc-amilo
index 318390b48..fcbf75aec 100644
--- a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-alc269-fsc-amilo
+++ b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-alc269-fsc-amilo
@@ -18,7 +18,7 @@ Signed-off-by: Takashi Iwai
--- a/Documentation/sound/alsa/ALSA-Configuration.txt
+++ b/Documentation/sound/alsa/ALSA-Configuration.txt
-@@ -857,6 +857,8 @@ Prior to version 0.9.0rc4 options had a
+@@ -857,6 +857,8 @@ Prior to version 0.9.0rc4 options had a
quanta Quanta FL1
eeepc-p703 ASUS Eeepc P703 P900A
eeepc-p901 ASUS Eeepc P901 S101
@@ -45,7 +45,7 @@ Signed-off-by: Takashi Iwai
NULL,
};
-@@ -11938,6 +11940,15 @@ static struct snd_kcontrol_new alc269_ca
+@@ -11937,6 +11939,15 @@ static struct snd_kcontrol_new alc269_ca
static struct snd_kcontrol_new alc269_epc_capture_mixer[] = {
HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT),
HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT),
@@ -61,7 +61,7 @@ Signed-off-by: Takashi Iwai
{ } /* end */
};
-@@ -12360,7 +12371,8 @@ static const char *alc269_models[ALC269_
+@@ -12359,7 +12370,8 @@ static const char *alc269_models[ALC269_
[ALC269_BASIC] = "basic",
[ALC269_QUANTA_FL1] = "quanta",
[ALC269_ASUS_EEEPC_P703] = "eeepc-p703",
@@ -71,7 +71,7 @@ Signed-off-by: Takashi Iwai
};
static struct snd_pci_quirk alc269_cfg_tbl[] = {
-@@ -12371,6 +12383,7 @@ static struct snd_pci_quirk alc269_cfg_t
+@@ -12370,6 +12382,7 @@ static struct snd_pci_quirk alc269_cfg_t
ALC269_ASUS_EEEPC_P901),
SND_PCI_QUIRK(0x1043, 0x834a, "ASUS Eeepc S101",
ALC269_ASUS_EEEPC_P901),
@@ -79,16 +79,10 @@ Signed-off-by: Takashi Iwai
{}
};
-@@ -12423,6 +12436,20 @@ static struct alc_config_preset alc269_p
- .unsol_event = alc269_eeepc_dmic_unsol_event,
- .init_hook = alc269_eeepc_dmic_inithook,
- },
-+ [ALC269_FUJITSU] = {
-+ .mixers = { alc269_fujitsu_mixer, alc269_beep_mixer,
-+ alc269_epc_capture_mixer },
-+ .init_verbs = { alc269_init_verbs,
-+ alc269_eeepc_dmic_init_verbs },
-+ .num_dacs = ARRAY_SIZE(alc269_dac_nids),
+@@ -12414,6 +12427,20 @@ static struct alc_config_preset alc269_p
+ .init_verbs = { alc269_init_verbs,
+ alc269_eeepc_dmic_init_verbs },
+ .num_dacs = ARRAY_SIZE(alc269_dac_nids),
+ .dac_nids = alc269_dac_nids,
+ .hp_nid = 0x03,
+ .num_channel_mode = ARRAY_SIZE(alc269_modes),
@@ -97,6 +91,12 @@ Signed-off-by: Takashi Iwai
+ .unsol_event = alc269_eeepc_dmic_unsol_event,
+ .init_hook = alc269_eeepc_dmic_inithook,
+ },
- };
-
- static int patch_alc269(struct hda_codec *codec)
++ [ALC269_FUJITSU] = {
++ .mixers = { alc269_fujitsu_mixer, alc269_beep_mixer,
++ alc269_epc_capture_mixer },
++ .init_verbs = { alc269_init_verbs,
++ alc269_eeepc_dmic_init_verbs },
++ .num_dacs = ARRAY_SIZE(alc269_dac_nids),
+ .dac_nids = alc269_dac_nids,
+ .hp_nid = 0x03,
+ .num_channel_mode = ARRAY_SIZE(alc269_modes),
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-analog-update b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-analog-update
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-analog-update
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-analog-update
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-atihdmi-update b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-atihdmi-update
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-atihdmi-update
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-atihdmi-update
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-beep b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-beep
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-beep
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-beep
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-beep-dig-switch b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-beep-dig-switch
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-beep-dig-switch
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-beep-dig-switch
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-beep-null-check-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-beep-null-check-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-beep-null-check-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-beep-null-check-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-dell-92hd73xx-models b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-dell-92hd73xx-models
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-dell-92hd73xx-models
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-dell-92hd73xx-models
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-dell-studio-probe-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-dell-studio-probe-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-dell-studio-probe-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-dell-studio-probe-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-gateway-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-gateway-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-gateway-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-gateway-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-gateway-fix2 b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-gateway-fix2
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-gateway-fix2
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-gateway-fix2
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-gateway-t1616-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-gateway-t1616-quirk
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-gateway-t1616-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-gateway-t1616-quirk
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp-3013-master-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp-3013-master-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp-3013-master-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp-3013-master-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp-dv4-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp-dv4-quirk
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp-dv4-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp-dv4-quirk
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp-dv5-mic-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp-dv5-mic-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp-dv5-mic-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp-dv5-mic-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp-dv5-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp-dv5-quirk
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp-dv5-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp-dv5-quirk
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp-dv7-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp-dv7-quirk
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp-dv7-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp-dv7-quirk
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp-zenith-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp-zenith-quirk
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp-zenith-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp-zenith-quirk
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp2230s-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp2230s-quirk
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp2230s-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp2230s-quirk
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp6530b-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp6530b-quirk
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-hp6530b-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-hp6530b-quirk
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-idt92hd83-fix-typo b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-idt92hd83-fix-typo
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-idt92hd83-fix-typo
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-idt92hd83-fix-typo
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-intel-d945-ref-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-intel-d945-ref-quirk
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-intel-d945-ref-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-intel-d945-ref-quirk
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-nvidia-hdmi b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-nvidia-hdmi
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-nvidia-hdmi
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-nvidia-hdmi
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-probe-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-probe-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-probe-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-probe-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-proc-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-proc-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-proc-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-proc-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-proc-gpio-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-proc-gpio-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-proc-gpio-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-proc-gpio-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-realtek-acer-dmic b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-realtek-acer-dmic
similarity index 91%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-realtek-acer-dmic
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-realtek-acer-dmic
index fdb55f531..c376153ce 100644
--- a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-realtek-acer-dmic
+++ b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-realtek-acer-dmic
@@ -22,7 +22,7 @@ Signed-off-by: Takashi Iwai
--- a/Documentation/sound/alsa/ALSA-Configuration.txt
+++ b/Documentation/sound/alsa/ALSA-Configuration.txt
-@@ -844,6 +844,7 @@ Prior to version 0.9.0rc4 options had a
+@@ -844,6 +844,7 @@ Prior to version 0.9.0rc4 options had a
3stack 3-stack model
toshiba Toshiba A205
acer Acer laptops
@@ -40,7 +40,7 @@ Signed-off-by: Takashi Iwai
ALC268_ACER_ASPIRE_ONE,
ALC268_DELL,
ALC268_ZEPTO,
-@@ -10949,6 +10950,22 @@ static struct snd_kcontrol_new alc268_ac
+@@ -10948,6 +10949,22 @@ static struct snd_kcontrol_new alc268_ac
{ }
};
@@ -63,7 +63,7 @@ Signed-off-by: Takashi Iwai
static struct hda_verb alc268_acer_aspire_one_verbs[] = {
{0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},
{0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
-@@ -11281,6 +11298,15 @@ static struct hda_input_mux alc268_acer_
+@@ -11280,6 +11297,15 @@ static struct hda_input_mux alc268_acer_
.num_items = 3,
.items = {
{ "Mic", 0x0 },
@@ -79,7 +79,7 @@ Signed-off-by: Takashi Iwai
{ "Internal Mic", 0x6 },
{ "Line", 0x2 },
},
-@@ -11561,6 +11587,7 @@ static const char *alc268_models[ALC268_
+@@ -11560,6 +11586,7 @@ static const char *alc268_models[ALC268_
[ALC268_3ST] = "3stack",
[ALC268_TOSHIBA] = "toshiba",
[ALC268_ACER] = "acer",
@@ -87,7 +87,7 @@ Signed-off-by: Takashi Iwai
[ALC268_ACER_ASPIRE_ONE] = "acer-aspire",
[ALC268_DELL] = "dell",
[ALC268_ZEPTO] = "zepto",
-@@ -11656,6 +11683,23 @@ static struct alc_config_preset alc268_p
+@@ -11655,6 +11682,23 @@ static struct alc_config_preset alc268_p
.unsol_event = alc268_acer_unsol_event,
.init_hook = alc268_acer_init_hook,
},
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-realtek-alc269-dmic b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-realtek-alc269-dmic
similarity index 95%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-realtek-alc269-dmic
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-realtek-alc269-dmic
index 2f548df09..1c70ee66a 100644
--- a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-realtek-alc269-dmic
+++ b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-realtek-alc269-dmic
@@ -14,7 +14,7 @@ Signed-off-by: Takashi Iwai
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
-@@ -12251,8 +12251,26 @@ static int alc269_auto_create_multi_out_
+@@ -12250,8 +12250,26 @@ static int alc269_auto_create_multi_out_
return 0;
}
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-realtek-mic-automute-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-realtek-mic-automute-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-realtek-mic-automute-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-realtek-mic-automute-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-realtek-update b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-realtek-update
similarity index 95%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-realtek-update
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-realtek-update
index 231bfae2b..35b799c7f 100644
--- a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-realtek-update
+++ b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-realtek-update
@@ -22,7 +22,7 @@ Signed-off-by: Takashi Iwai
--- a/Documentation/sound/alsa/ALSA-Configuration.txt
+++ b/Documentation/sound/alsa/ALSA-Configuration.txt
-@@ -809,6 +809,7 @@ Prior to version 0.9.0rc4 options had a
+@@ -809,6 +809,7 @@ Prior to version 0.9.0rc4 options had a
ALC260
hp HP machines
hp-3013 HP machines (3013-variant)
@@ -30,7 +30,7 @@ Signed-off-by: Takashi Iwai
fujitsu Fujitsu S7020
acer Acer TravelMate
will Will laptops (PB V7900)
-@@ -830,8 +831,11 @@ Prior to version 0.9.0rc4 options had a
+@@ -830,8 +831,11 @@ Prior to version 0.9.0rc4 options had a
hippo Hippo (ATI) with jack detection, Sony UX-90s
hippo_1 Hippo (Benq) with jack detection
sony-assamd Sony ASSAMD
@@ -42,7 +42,7 @@ Signed-off-by: Takashi Iwai
basic fixed pin assignment w/o SPDIF
auto auto-config reading BIOS (default)
-@@ -840,6 +844,7 @@ Prior to version 0.9.0rc4 options had a
+@@ -840,6 +844,7 @@ Prior to version 0.9.0rc4 options had a
3stack 3-stack model
toshiba Toshiba A205
acer Acer laptops
@@ -50,7 +50,7 @@ Signed-off-by: Takashi Iwai
dell Dell OEM laptops (Vostro 1200)
zepto Zepto laptops
test for testing/debugging purpose, almost all controls can
-@@ -849,6 +854,9 @@ Prior to version 0.9.0rc4 options had a
+@@ -849,6 +854,9 @@ Prior to version 0.9.0rc4 options had a
ALC269
basic Basic preset
@@ -60,7 +60,7 @@ Signed-off-by: Takashi Iwai
ALC662/663
3stack-dig 3-stack (2-channel) with SPDIF
-@@ -858,10 +866,17 @@ Prior to version 0.9.0rc4 options had a
+@@ -858,10 +866,17 @@ Prior to version 0.9.0rc4 options had a
lenovo-101e Lenovo laptop
eeepc-p701 ASUS Eeepc P701
eeepc-ep20 ASUS Eeepc EP20
@@ -78,7 +78,7 @@ Signed-off-by: Takashi Iwai
auto auto-config reading BIOS (default)
ALC882/885
-@@ -893,12 +908,14 @@ Prior to version 0.9.0rc4 options had a
+@@ -893,12 +908,14 @@ Prior to version 0.9.0rc4 options had a
lenovo-101e Lenovo 101E
lenovo-nb0763 Lenovo NB0763
lenovo-ms7195-dig Lenovo MS7195
@@ -1427,7 +1427,7 @@ Signed-off-by: Takashi Iwai
/* mute/unmute internal speaker according to the hp jack and mute state */
static void alc262_hippo_automute(struct hda_codec *codec)
{
-@@ -9295,6 +9838,25 @@ static struct snd_kcontrol_new alc262_le
+@@ -9299,6 +9842,25 @@ static struct snd_kcontrol_new alc262_le
{ } /* end */
};
@@ -1453,7 +1453,7 @@ Signed-off-by: Takashi Iwai
/* additional init verbs for Benq laptops */
static struct hda_verb alc262_EAPD_verbs[] = {
{0x20, AC_VERB_SET_COEF_INDEX, 0x07},
-@@ -9543,7 +10105,7 @@ static struct hda_verb alc262_volume_ini
+@@ -9547,7 +10109,7 @@ static struct hda_verb alc262_volume_ini
{0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
{0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
{0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
@@ -1462,7 +1462,7 @@ Signed-off-by: Takashi Iwai
/* set up input amps for analog loopback */
/* Amp Indices: DAC = 0, mixer = 1 */
{0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
-@@ -9598,7 +10160,7 @@ static struct hda_verb alc262_HP_BPC_ini
+@@ -9602,7 +10164,7 @@ static struct hda_verb alc262_HP_BPC_ini
{0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)},
{0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(5)},
{0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(6)},
@@ -1471,7 +1471,7 @@ Signed-off-by: Takashi Iwai
/*
* Set up output mixers (0x0c - 0x0e)
*/
-@@ -9759,6 +10321,24 @@ static struct hda_verb alc262_HP_BPC_Wil
+@@ -9763,6 +10325,24 @@ static struct hda_verb alc262_HP_BPC_Wil
{ }
};
@@ -1496,7 +1496,7 @@ Signed-off-by: Takashi Iwai
#ifdef CONFIG_SND_HDA_POWER_SAVE
#define alc262_loopbacks alc880_loopbacks
#endif
-@@ -9828,7 +10408,7 @@ static void alc262_auto_init(struct hda_
+@@ -9832,7 +10412,7 @@ static void alc262_auto_init(struct hda_
alc262_auto_init_analog_input(codec);
alc262_auto_init_input_src(codec);
if (spec->unsol_event)
@@ -1505,7 +1505,7 @@ Signed-off-by: Takashi Iwai
}
/*
-@@ -9846,6 +10426,8 @@ static const char *alc262_models[ALC262_
+@@ -9850,6 +10430,8 @@ static const char *alc262_models[ALC262_
[ALC262_BENQ_ED8] = "benq",
[ALC262_BENQ_T31] = "benq-t31",
[ALC262_SONY_ASSAMD] = "sony-assamd",
@@ -1514,7 +1514,7 @@ Signed-off-by: Takashi Iwai
[ALC262_ULTRA] = "ultra",
[ALC262_LENOVO_3000] = "lenovo-3000",
[ALC262_NEC] = "nec",
-@@ -9883,7 +10465,8 @@ static struct snd_pci_quirk alc262_cfg_t
+@@ -9887,7 +10469,8 @@ static struct snd_pci_quirk alc262_cfg_t
SND_PCI_QUIRK(0x104d, 0x900e, "Sony ASSAMD", ALC262_SONY_ASSAMD),
SND_PCI_QUIRK(0x104d, 0x9015, "Sony 0x9015", ALC262_SONY_ASSAMD),
SND_PCI_QUIRK(0x1179, 0x0001, "Toshiba dynabook SS RX1",
@@ -1524,7 +1524,7 @@ Signed-off-by: Takashi Iwai
SND_PCI_QUIRK(0x10cf, 0x1397, "Fujitsu", ALC262_FUJITSU),
SND_PCI_QUIRK(0x10cf, 0x142d, "Fujitsu Lifebook E8410", ALC262_FUJITSU),
SND_PCI_QUIRK(0x144d, 0xc032, "Samsung Q1 Ultra", ALC262_ULTRA),
-@@ -10038,7 +10621,7 @@ static struct alc_config_preset alc262_p
+@@ -10042,7 +10625,7 @@ static struct alc_config_preset alc262_p
.input_mux = &alc262_capture_source,
.unsol_event = alc262_hippo_unsol_event,
.init_hook = alc262_hippo_automute,
@@ -1533,7 +1533,7 @@ Signed-off-by: Takashi Iwai
[ALC262_ULTRA] = {
.mixers = { alc262_ultra_mixer, alc262_ultra_capture_mixer },
.init_verbs = { alc262_ultra_verbs },
-@@ -10076,6 +10659,33 @@ static struct alc_config_preset alc262_p
+@@ -10080,6 +10663,33 @@ static struct alc_config_preset alc262_p
.channel_mode = alc262_modes,
.input_mux = &alc262_capture_source,
},
@@ -1567,7 +1567,7 @@ Signed-off-by: Takashi Iwai
};
static int patch_alc262(struct hda_codec *codec)
-@@ -10134,7 +10744,7 @@ static int patch_alc262(struct hda_codec
+@@ -10138,7 +10748,7 @@ static int patch_alc262(struct hda_codec
spec->stream_name_analog = "ALC262 Analog";
spec->stream_analog_playback = &alc262_pcm_analog_playback;
spec->stream_analog_capture = &alc262_pcm_analog_capture;
@@ -1576,7 +1576,7 @@ Signed-off-by: Takashi Iwai
spec->stream_name_digital = "ALC262 Digital";
spec->stream_digital_playback = &alc262_pcm_digital_playback;
spec->stream_digital_capture = &alc262_pcm_digital_capture;
-@@ -10170,7 +10780,7 @@ static int patch_alc262(struct hda_codec
+@@ -10174,7 +10784,7 @@ static int patch_alc262(struct hda_codec
if (!spec->loopback.amplist)
spec->loopback.amplist = alc262_loopbacks;
#endif
@@ -1585,7 +1585,7 @@ Signed-off-by: Takashi Iwai
return 0;
}
-@@ -10179,7 +10789,7 @@ static int patch_alc262(struct hda_codec
+@@ -10183,7 +10793,7 @@ static int patch_alc262(struct hda_codec
*/
#define ALC268_DIGOUT_NID ALC880_DIGOUT_NID
#define alc268_modes alc260_modes
@@ -1594,7 +1594,7 @@ Signed-off-by: Takashi Iwai
static hda_nid_t alc268_dac_nids[2] = {
/* front, hp */
0x02, 0x03
-@@ -10239,6 +10849,14 @@ static struct hda_verb alc268_toshiba_ve
+@@ -10243,6 +10853,14 @@ static struct hda_verb alc268_toshiba_ve
{ } /* end */
};
@@ -1609,7 +1609,7 @@ Signed-off-by: Takashi Iwai
/* Acer specific */
/* bind volumes of both NID 0x02 and 0x03 */
static struct hda_bind_ctls alc268_acer_bind_master_vol = {
-@@ -10291,6 +10909,21 @@ static int alc268_acer_master_sw_put(str
+@@ -10290,6 +10908,21 @@ static int alc268_acer_master_sw_put(str
return change;
}
@@ -1631,7 +1631,7 @@ Signed-off-by: Takashi Iwai
static struct snd_kcontrol_new alc268_acer_mixer[] = {
/* output mixer control */
HDA_BIND_VOL("Master Playback Volume", &alc268_acer_bind_master_vol),
-@@ -10308,6 +10941,16 @@ static struct snd_kcontrol_new alc268_ac
+@@ -10307,6 +10940,16 @@ static struct snd_kcontrol_new alc268_ac
{ }
};
@@ -1648,7 +1648,7 @@ Signed-off-by: Takashi Iwai
static struct hda_verb alc268_acer_verbs[] = {
{0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, /* internal dmic? */
{0x13, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},
-@@ -10315,7 +10958,6 @@ static struct hda_verb alc268_acer_verbs
+@@ -10314,7 +10957,6 @@ static struct hda_verb alc268_acer_verbs
{0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
{0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
{0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
@@ -1656,7 +1656,7 @@ Signed-off-by: Takashi Iwai
{0x14, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN},
{ }
};
-@@ -10342,10 +10984,51 @@ static void alc268_acer_init_hook(struct
+@@ -10341,10 +10983,51 @@ static void alc268_acer_init_hook(struct
alc268_acer_automute(codec, 1);
}
@@ -1712,7 +1712,7 @@ Signed-off-by: Takashi Iwai
HDA_CODEC_VOLUME("Headphone Playback Volume", 0x03, 0x0, HDA_OUTPUT),
HDA_CODEC_MUTE("Headphone Playback Switch", 0x15, 0x0, HDA_OUTPUT),
HDA_CODEC_VOLUME("Mic Boost", 0x18, 0, HDA_INPUT),
-@@ -10490,7 +11173,7 @@ static struct hda_verb alc268_base_init_
+@@ -10489,7 +11172,7 @@ static struct hda_verb alc268_base_init_
{0x10, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
/* Unmute Selector 23h,24h and set the default input to mic-in */
@@ -1721,7 +1721,7 @@ Signed-off-by: Takashi Iwai
{0x23, AC_VERB_SET_CONNECT_SEL, 0x00},
{0x23, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
{0x24, AC_VERB_SET_CONNECT_SEL, 0x00},
-@@ -10689,7 +11372,7 @@ static int alc268_auto_create_multi_out_
+@@ -10688,7 +11371,7 @@ static int alc268_auto_create_multi_out_
nid = cfg->line_out_pins[0];
if (nid)
@@ -1730,7 +1730,7 @@ Signed-off-by: Takashi Iwai
nid = cfg->speaker_pins[0];
if (nid == 0x1d) {
-@@ -10711,7 +11394,7 @@ static int alc268_auto_create_multi_out_
+@@ -10710,7 +11393,7 @@ static int alc268_auto_create_multi_out_
if (err < 0)
return err;
}
@@ -1739,7 +1739,7 @@ Signed-off-by: Takashi Iwai
}
/* create playback/capture controls for input pins */
-@@ -10732,7 +11415,7 @@ static int alc268_auto_create_analog_inp
+@@ -10731,7 +11414,7 @@ static int alc268_auto_create_analog_inp
case 0x1a:
idx1 = 2; /* Line In */
break;
@@ -1748,7 +1748,7 @@ Signed-off-by: Takashi Iwai
idx1 = 3; /* CD */
break;
case 0x12:
-@@ -10744,7 +11427,7 @@ static int alc268_auto_create_analog_inp
+@@ -10743,7 +11426,7 @@ static int alc268_auto_create_analog_inp
}
imux->items[imux->num_items].label = auto_pin_cfg_labels[i];
imux->items[imux->num_items].index = idx1;
@@ -1757,7 +1757,7 @@ Signed-off-by: Takashi Iwai
}
return 0;
}
-@@ -10774,11 +11457,11 @@ static void alc268_auto_init_mono_speake
+@@ -10773,11 +11456,11 @@ static void alc268_auto_init_mono_speake
}
dac_vol1 = dac_vol2 = 0xb000 | 0x40; /* set max volume */
@@ -1771,7 +1771,7 @@ Signed-off-by: Takashi Iwai
dac_vol2 = AMP_OUT_ZERO;
else if (hp_nid == 0x15)
dac_vol1 = AMP_OUT_ZERO;
-@@ -10859,7 +11542,7 @@ static void alc268_auto_init(struct hda_
+@@ -10858,7 +11541,7 @@ static void alc268_auto_init(struct hda_
alc268_auto_init_mono_speaker_out(codec);
alc268_auto_init_analog_input(codec);
if (spec->unsol_event)
@@ -1780,7 +1780,7 @@ Signed-off-by: Takashi Iwai
}
/*
-@@ -10870,6 +11553,7 @@ static const char *alc268_models[ALC268_
+@@ -10869,6 +11552,7 @@ static const char *alc268_models[ALC268_
[ALC268_3ST] = "3stack",
[ALC268_TOSHIBA] = "toshiba",
[ALC268_ACER] = "acer",
@@ -1788,7 +1788,7 @@ Signed-off-by: Takashi Iwai
[ALC268_DELL] = "dell",
[ALC268_ZEPTO] = "zepto",
#ifdef CONFIG_SND_DEBUG
-@@ -10884,6 +11568,8 @@ static struct snd_pci_quirk alc268_cfg_t
+@@ -10883,6 +11567,8 @@ static struct snd_pci_quirk alc268_cfg_t
SND_PCI_QUIRK(0x1025, 0x012e, "Acer Aspire 5310", ALC268_ACER),
SND_PCI_QUIRK(0x1025, 0x0130, "Acer Extensa 5210", ALC268_ACER),
SND_PCI_QUIRK(0x1025, 0x0136, "Acer Aspire 5315", ALC268_ACER),
@@ -1797,7 +1797,7 @@ Signed-off-by: Takashi Iwai
SND_PCI_QUIRK(0x1028, 0x0253, "Dell OEM", ALC268_DELL),
SND_PCI_QUIRK(0x103c, 0x30cc, "TOSHIBA", ALC268_TOSHIBA),
SND_PCI_QUIRK(0x1043, 0x1205, "ASUS W7J", ALC268_3ST),
-@@ -10962,6 +11648,23 @@ static struct alc_config_preset alc268_p
+@@ -10961,6 +11647,23 @@ static struct alc_config_preset alc268_p
.unsol_event = alc268_acer_unsol_event,
.init_hook = alc268_acer_init_hook,
},
@@ -1821,7 +1821,7 @@ Signed-off-by: Takashi Iwai
[ALC268_DELL] = {
.mixers = { alc268_dell_mixer, alc268_beep_mixer },
.init_verbs = { alc268_base_init_verbs, alc268_eapd_verbs,
-@@ -11106,7 +11809,7 @@ static int patch_alc268(struct hda_codec
+@@ -11105,7 +11808,7 @@ static int patch_alc268(struct hda_codec
codec->patch_ops = alc_patch_ops;
if (board_config == ALC268_AUTO)
spec->init_hook = alc268_auto_init;
@@ -1830,7 +1830,7 @@ Signed-off-by: Takashi Iwai
return 0;
}
-@@ -11156,6 +11859,8 @@ static struct snd_kcontrol_new alc269_ba
+@@ -11155,6 +11858,8 @@ static struct snd_kcontrol_new alc269_ba
HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x02, HDA_INPUT),
HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT),
HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
@@ -1839,7 +1839,7 @@ Signed-off-by: Takashi Iwai
HDA_CODEC_VOLUME("Mic Boost", 0x18, 0, HDA_INPUT),
HDA_CODEC_VOLUME("Front Mic Playback Volume", 0x0b, 0x01, HDA_INPUT),
HDA_CODEC_MUTE("Front Mic Playback Switch", 0x0b, 0x01, HDA_INPUT),
-@@ -11165,6 +11870,28 @@ static struct snd_kcontrol_new alc269_ba
+@@ -11164,6 +11869,28 @@ static struct snd_kcontrol_new alc269_ba
{ } /* end */
};
@@ -1868,7 +1868,7 @@ Signed-off-by: Takashi Iwai
/* bind volumes of both NID 0x0c and 0x0d */
static struct hda_bind_ctls alc269_epc_bind_vol = {
.ops = &snd_hda_bind_vol,
-@@ -11208,75 +11935,72 @@ static struct snd_kcontrol_new alc269_ep
+@@ -11207,75 +11934,72 @@ static struct snd_kcontrol_new alc269_ep
{ } /* end */
};
@@ -2002,7 +2002,7 @@ Signed-off-by: Takashi Iwai
static struct hda_verb alc269_eeepc_dmic_init_verbs[] = {
{0x15, AC_VERB_SET_CONNECT_SEL, 0x01},
-@@ -11303,42 +12027,42 @@ static struct hda_verb alc269_eeepc_amic
+@@ -11302,42 +12026,42 @@ static struct hda_verb alc269_eeepc_amic
static void alc269_speaker_automute(struct hda_codec *codec)
{
unsigned int present;
@@ -2058,7 +2058,7 @@ Signed-off-by: Takashi Iwai
{
if ((res >> 26) == ALC880_HP_EVENT)
alc269_speaker_automute(codec);
-@@ -11355,7 +12079,7 @@ static void alc269_eeepc_dmic_inithook(s
+@@ -11354,7 +12078,7 @@ static void alc269_eeepc_dmic_inithook(s
/* unsolicited event for HP jack sensing */
static void alc269_eeepc_amic_unsol_event(struct hda_codec *codec,
@@ -2067,7 +2067,7 @@ Signed-off-by: Takashi Iwai
{
if ((res >> 26) == ALC880_HP_EVENT)
alc269_speaker_automute(codec);
-@@ -11370,6 +12094,76 @@ static void alc269_eeepc_amic_inithook(s
+@@ -11369,6 +12093,76 @@ static void alc269_eeepc_amic_inithook(s
alc269_eeepc_amic_automute(codec);
}
@@ -2144,7 +2144,7 @@ Signed-off-by: Takashi Iwai
/* add playback controls from the parsed DAC table */
static int alc269_auto_create_multi_out_ctls(struct alc_spec *spec,
const struct auto_pin_cfg *cfg)
-@@ -11470,7 +12264,7 @@ static int alc269_auto_create_multi_out_
+@@ -11469,7 +12263,7 @@ static int alc269_auto_create_multi_out_
static int alc269_parse_auto_config(struct hda_codec *codec)
{
struct alc_spec *spec = codec->spec;
@@ -2153,7 +2153,7 @@ Signed-off-by: Takashi Iwai
static hda_nid_t alc269_ignore[] = { 0x1d, 0 };
err = snd_hda_parse_pin_def_config(codec, &spec->autocfg,
-@@ -11493,6 +12287,13 @@ static int alc269_parse_auto_config(stru
+@@ -11492,6 +12286,13 @@ static int alc269_parse_auto_config(stru
if (spec->kctl_alloc)
spec->mixers[spec->num_mixers++] = spec->kctl_alloc;
@@ -2167,7 +2167,7 @@ Signed-off-by: Takashi Iwai
spec->init_verbs[spec->num_init_verbs++] = alc269_init_verbs;
spec->num_mux_defs = 1;
spec->input_mux = &spec->private_imux;
-@@ -11525,21 +12326,27 @@ static void alc269_auto_init(struct hda_
+@@ -11524,21 +12325,27 @@ static void alc269_auto_init(struct hda_
alc269_auto_init_hp_out(codec);
alc269_auto_init_analog_input(codec);
if (spec->unsol_event)
@@ -2197,7 +2197,7 @@ Signed-off-by: Takashi Iwai
{}
};
-@@ -11554,17 +12361,29 @@ static struct alc_config_preset alc269_p
+@@ -11553,17 +12360,29 @@ static struct alc_config_preset alc269_p
.channel_mode = alc269_modes,
.input_mux = &alc269_capture_source,
},
@@ -2233,7 +2233,7 @@ Signed-off-by: Takashi Iwai
.init_hook = alc269_eeepc_amic_inithook,
},
[ALC269_ASUS_EEEPC_P901] = {
-@@ -11835,7 +12654,7 @@ static struct snd_kcontrol_new alc861_to
+@@ -11834,7 +12653,7 @@ static struct snd_kcontrol_new alc861_to
HDA_CODEC_MUTE("Master Playback Switch", 0x03, 0x0, HDA_OUTPUT),
HDA_CODEC_VOLUME("Mic Playback Volume", 0x15, 0x01, HDA_INPUT),
HDA_CODEC_MUTE("Mic Playback Switch", 0x15, 0x01, HDA_INPUT),
@@ -2242,7 +2242,7 @@ Signed-off-by: Takashi Iwai
/*Capture mixer control */
HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT),
HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT),
-@@ -11978,20 +12797,20 @@ static struct hda_verb alc861_base_init_
+@@ -11977,20 +12796,20 @@ static struct hda_verb alc861_base_init_
/* route front mic to ADC1*/
{0x08, AC_VERB_SET_CONNECT_SEL, 0x00},
{0x08, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
@@ -2266,7 +2266,7 @@ Signed-off-by: Takashi Iwai
/* Unmute Stereo Mixer 15 */
{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
-@@ -12047,13 +12866,13 @@ static struct hda_verb alc861_threestack
+@@ -12046,13 +12865,13 @@ static struct hda_verb alc861_threestack
{0x05, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
{0x06, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
{0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
@@ -2282,7 +2282,7 @@ Signed-off-by: Takashi Iwai
/* Unmute Stereo Mixer 15 */
{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
-@@ -12109,13 +12928,13 @@ static struct hda_verb alc861_uniwill_m3
+@@ -12108,13 +12927,13 @@ static struct hda_verb alc861_uniwill_m3
{0x05, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
{0x06, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
{0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
@@ -2298,7 +2298,7 @@ Signed-off-by: Takashi Iwai
/* Unmute Stereo Mixer 15 */
{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
-@@ -12180,7 +12999,7 @@ static struct hda_verb alc861_asus_init_
+@@ -12179,7 +12998,7 @@ static struct hda_verb alc861_asus_init_
{0x014, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
{0x01c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
{0x01c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
@@ -2307,7 +2307,7 @@ Signed-off-by: Takashi Iwai
/* Unmute Stereo Mixer 15 */
{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
-@@ -12217,20 +13036,20 @@ static struct hda_verb alc861_auto_init_
+@@ -12216,20 +13035,20 @@ static struct hda_verb alc861_auto_init_
*/
/* {0x08, AC_VERB_SET_CONNECT_SEL, 0x00}, */
{0x08, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
@@ -2331,7 +2331,7 @@ Signed-off-by: Takashi Iwai
/* Unmute Stereo Mixer 15 */
{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
{0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
-@@ -12589,7 +13408,7 @@ static void alc861_auto_init(struct hda_
+@@ -12588,7 +13407,7 @@ static void alc861_auto_init(struct hda_
alc861_auto_init_hp_out(codec);
alc861_auto_init_analog_input(codec);
if (spec->unsol_event)
@@ -2340,7 +2340,7 @@ Signed-off-by: Takashi Iwai
}
#ifdef CONFIG_SND_HDA_POWER_SAVE
-@@ -12806,7 +13625,7 @@ static int patch_alc861(struct hda_codec
+@@ -12805,7 +13624,7 @@ static int patch_alc861(struct hda_codec
if (!spec->loopback.amplist)
spec->loopback.amplist = alc861_loopbacks;
#endif
@@ -2349,7 +2349,7 @@ Signed-off-by: Takashi Iwai
return 0;
}
-@@ -13060,7 +13879,7 @@ static struct snd_kcontrol_new alc861vd_
+@@ -13059,7 +13878,7 @@ static struct snd_kcontrol_new alc861vd_
HDA_CODEC_MUTE("Front Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
HDA_CODEC_VOLUME("ATAPI Mic Playback Volume", 0x0b, 0x1, HDA_INPUT),
HDA_CODEC_MUTE("ATAPI Mic Playback Switch", 0x0b, 0x1, HDA_INPUT),
@@ -2358,7 +2358,7 @@ Signed-off-by: Takashi Iwai
{ } /* end */
};
-@@ -13205,7 +14024,7 @@ static struct hda_verb alc861vd_lenovo_u
+@@ -13204,7 +14023,7 @@ static struct hda_verb alc861vd_lenovo_u
{0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
{0x0b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(5)},
{0x1b, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT},
@@ -2367,7 +2367,7 @@ Signed-off-by: Takashi Iwai
{}
};
-@@ -13267,7 +14086,7 @@ static struct hda_verb alc861vd_dallas_v
+@@ -13266,7 +14085,7 @@ static struct hda_verb alc861vd_dallas_v
{0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
{0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
{0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
@@ -2376,7 +2376,7 @@ Signed-off-by: Takashi Iwai
{0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
{0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
{0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
-@@ -13292,7 +14111,7 @@ static struct hda_verb alc861vd_dallas_v
+@@ -13291,7 +14110,7 @@ static struct hda_verb alc861vd_dallas_v
{0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)},
{0x09, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
@@ -2385,7 +2385,7 @@ Signed-off-by: Takashi Iwai
{0x15, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT},
{ } /* end */
-@@ -13451,7 +14270,7 @@ static struct alc_config_preset alc861vd
+@@ -13450,7 +14269,7 @@ static struct alc_config_preset alc861vd
.input_mux = &alc861vd_hp_capture_source,
.unsol_event = alc861vd_dallas_unsol_event,
.init_hook = alc861vd_dallas_automute,
@@ -2394,7 +2394,7 @@ Signed-off-by: Takashi Iwai
};
/*
-@@ -13702,7 +14521,7 @@ static void alc861vd_auto_init(struct hd
+@@ -13701,7 +14520,7 @@ static void alc861vd_auto_init(struct hd
alc861vd_auto_init_analog_input(codec);
alc861vd_auto_init_input_src(codec);
if (spec->unsol_event)
@@ -2403,7 +2403,7 @@ Signed-off-by: Takashi Iwai
}
static int patch_alc861vd(struct hda_codec *codec)
-@@ -14031,13 +14850,120 @@ static struct snd_kcontrol_new alc662_ee
+@@ -14030,13 +14849,120 @@ static struct snd_kcontrol_new alc662_ee
{ } /* end */
};
@@ -2525,7 +2525,7 @@ Signed-off-by: Takashi Iwai
{ } /* end */
};
-@@ -14222,14 +15148,81 @@ static struct hda_verb alc663_auto_init_
+@@ -14221,14 +15147,81 @@ static struct hda_verb alc663_auto_init_
};
static struct hda_verb alc663_m51va_init_verbs[] = {
@@ -2609,7 +2609,7 @@ Signed-off-by: Takashi Iwai
{}
};
-@@ -14258,6 +15251,14 @@ static struct hda_verb alc663_g50v_init_
+@@ -14257,6 +15250,14 @@ static struct hda_verb alc663_g50v_init_
{}
};
@@ -2624,7 +2624,7 @@ Signed-off-by: Takashi Iwai
/* capture mixer elements */
static struct snd_kcontrol_new alc662_capture_mixer[] = {
HDA_CODEC_VOLUME("Capture Volume", 0x09, 0x0, HDA_INPUT),
-@@ -14277,6 +15278,12 @@ static struct snd_kcontrol_new alc662_ca
+@@ -14276,6 +15277,12 @@ static struct snd_kcontrol_new alc662_ca
{ } /* end */
};
@@ -2637,7 +2637,7 @@ Signed-off-by: Takashi Iwai
static void alc662_lenovo_101e_ispeaker_automute(struct hda_codec *codec)
{
unsigned int present;
-@@ -14357,12 +15364,12 @@ static void alc662_eeepc_ep20_automute(s
+@@ -14356,12 +15363,12 @@ static void alc662_eeepc_ep20_automute(s
if (present) {
/* mute internal speaker */
snd_hda_codec_amp_stereo(codec, 0x1b, HDA_OUTPUT, 0,
@@ -2652,7 +2652,7 @@ Signed-off-by: Takashi Iwai
}
}
-@@ -14385,11 +15392,108 @@ static void alc663_m51va_speaker_automut
+@@ -14384,11 +15391,108 @@ static void alc663_m51va_speaker_automut
unsigned char bits;
present = snd_hda_codec_read(codec, 0x21, 0,
@@ -2765,7 +2765,7 @@ Signed-off-by: Takashi Iwai
}
static void alc663_m51va_mic_automute(struct hda_codec *codec)
-@@ -14397,16 +15501,16 @@ static void alc663_m51va_mic_automute(st
+@@ -14396,16 +15500,16 @@ static void alc663_m51va_mic_automute(st
unsigned int present;
present = snd_hda_codec_read(codec, 0x18, 0,
@@ -2788,7 +2788,7 @@ Signed-off-by: Takashi Iwai
}
static void alc663_m51va_unsol_event(struct hda_codec *codec,
-@@ -14428,6 +15532,121 @@ static void alc663_m51va_inithook(struct
+@@ -14427,6 +15531,121 @@ static void alc663_m51va_inithook(struct
alc663_m51va_mic_automute(codec);
}
@@ -2910,7 +2910,7 @@ Signed-off-by: Takashi Iwai
static void alc663_g71v_hp_automute(struct hda_codec *codec)
{
unsigned int present;
-@@ -14498,6 +15717,46 @@ static void alc663_g50v_inithook(struct
+@@ -14497,6 +15716,46 @@ static void alc663_g50v_inithook(struct
alc662_eeepc_mic_automute(codec);
}
@@ -2957,7 +2957,7 @@ Signed-off-by: Takashi Iwai
#ifdef CONFIG_SND_HDA_POWER_SAVE
#define alc662_loopbacks alc880_loopbacks
#endif
-@@ -14520,21 +15779,68 @@ static const char *alc662_models[ALC662_
+@@ -14519,21 +15778,68 @@ static const char *alc662_models[ALC662_
[ALC662_LENOVO_101E] = "lenovo-101e",
[ALC662_ASUS_EEEPC_P701] = "eeepc-p701",
[ALC662_ASUS_EEEPC_EP20] = "eeepc-ep20",
@@ -3028,7 +3028,7 @@ Signed-off-by: Takashi Iwai
SND_PCI_QUIRK(0x1854, 0x2000, "ASUS H13-2000", ALC663_ASUS_H13),
SND_PCI_QUIRK(0x1854, 0x2001, "ASUS H13-2001", ALC663_ASUS_H13),
SND_PCI_QUIRK(0x1854, 0x2002, "ASUS H13-2002", ALC663_ASUS_H13),
-@@ -14625,6 +15931,18 @@ static struct alc_config_preset alc662_p
+@@ -14624,6 +15930,18 @@ static struct alc_config_preset alc662_p
.unsol_event = alc662_eeepc_ep20_unsol_event,
.init_hook = alc662_eeepc_ep20_inithook,
},
@@ -3047,7 +3047,7 @@ Signed-off-by: Takashi Iwai
[ALC663_ASUS_M51VA] = {
.mixers = { alc663_m51va_mixer, alc662_capture_mixer},
.init_verbs = { alc662_init_verbs, alc663_m51va_init_verbs },
-@@ -14672,6 +15990,91 @@ static struct alc_config_preset alc662_p
+@@ -14671,6 +15989,91 @@ static struct alc_config_preset alc662_p
.unsol_event = alc663_g50v_unsol_event,
.init_hook = alc663_g50v_inithook,
},
@@ -3139,7 +3139,7 @@ Signed-off-by: Takashi Iwai
};
-@@ -14708,15 +16111,15 @@ static int alc662_auto_create_multi_out_
+@@ -14707,15 +16110,15 @@ static int alc662_auto_create_multi_out_
HDA_OUTPUT));
if (err < 0)
return err;
@@ -3159,7 +3159,7 @@ Signed-off-by: Takashi Iwai
HDA_INPUT));
if (err < 0)
return err;
-@@ -14728,9 +16131,9 @@ static int alc662_auto_create_multi_out_
+@@ -14727,9 +16130,9 @@ static int alc662_auto_create_multi_out_
if (err < 0)
return err;
sprintf(name, "%s Playback Switch", chname[i]);
@@ -3172,7 +3172,7 @@ Signed-off-by: Takashi Iwai
if (err < 0)
return err;
}
-@@ -14925,7 +16328,7 @@ static int alc662_parse_auto_config(stru
+@@ -14924,7 +16327,7 @@ static int alc662_parse_auto_config(stru
spec->num_mux_defs = 1;
spec->input_mux = &spec->private_imux;
@@ -3181,7 +3181,7 @@ Signed-off-by: Takashi Iwai
spec->init_verbs[spec->num_init_verbs++] = alc662_auto_init_verbs;
if (codec->vendor_id == 0x10ec0663)
spec->init_verbs[spec->num_init_verbs++] =
-@@ -14951,7 +16354,7 @@ static void alc662_auto_init(struct hda_
+@@ -14950,7 +16353,7 @@ static void alc662_auto_init(struct hda_
alc662_auto_init_analog_input(codec);
alc662_auto_init_input_src(codec);
if (spec->unsol_event)
@@ -3190,7 +3190,7 @@ Signed-off-by: Takashi Iwai
}
static int patch_alc662(struct hda_codec *codec)
-@@ -15057,6 +16460,8 @@ struct hda_codec_preset snd_hda_preset_r
+@@ -15056,6 +16459,8 @@ struct hda_codec_preset snd_hda_preset_r
{ .id = 0x10ec0885, .name = "ALC885", .patch = patch_alc882 },
{ .id = 0x10ec0887, .name = "ALC887", .patch = patch_alc883 },
{ .id = 0x10ec0888, .name = "ALC888", .patch = patch_alc883 },
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-seek-for-codec-id b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-seek-for-codec-id
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-seek-for-codec-id
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-seek-for-codec-id
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sigmatel-add-missing-terminators b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sigmatel-add-missing-terminators
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sigmatel-add-missing-terminators
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sigmatel-add-missing-terminators
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sigmatel-hp-m4-check-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sigmatel-hp-m4-check-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sigmatel-hp-m4-check-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sigmatel-hp-m4-check-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sigmatel-spdif-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sigmatel-spdif-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sigmatel-spdif-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sigmatel-spdif-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sigmatel-update b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sigmatel-update
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sigmatel-update
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sigmatel-update
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sigmatel-vref-event-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sigmatel-vref-event-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sigmatel-vref-event-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sigmatel-vref-event-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sony-vaio-vgn-sr19xn-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sony-vaio-vgn-sr19xn-quirk
similarity index 93%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sony-vaio-vgn-sr19xn-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sony-vaio-vgn-sr19xn-quirk
index 9fb330cc5..f87cbeef0 100644
--- a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-sony-vaio-vgn-sr19xn-quirk
+++ b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-sony-vaio-vgn-sr19xn-quirk
@@ -15,7 +15,7 @@ Signed-off-by: Takashi Iwai
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
-@@ -10473,6 +10473,8 @@ static struct snd_pci_quirk alc262_cfg_t
+@@ -10477,6 +10477,8 @@ static struct snd_pci_quirk alc262_cfg_t
SND_PCI_QUIRK(0x104d, 0x820f, "Sony ASSAMD", ALC262_SONY_ASSAMD),
SND_PCI_QUIRK(0x104d, 0x900e, "Sony ASSAMD", ALC262_SONY_ASSAMD),
SND_PCI_QUIRK(0x104d, 0x9015, "Sony 0x9015", ALC262_SONY_ASSAMD),
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-spdif-bits-cache-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-spdif-bits-cache-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-spdif-bits-cache-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-spdif-bits-cache-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-spdif-slave b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-spdif-slave
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-spdif-slave
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-spdif-slave
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-92hd71bxx-gpio-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-92hd71bxx-gpio-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-92hd71bxx-gpio-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-92hd71bxx-gpio-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-dell-m4-3-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-dell-m4-3-quirk
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-dell-m4-3-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-dell-m4-3-quirk
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-gpio-unsol-resume-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-gpio-unsol-resume-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-gpio-unsol-resume-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-gpio-unsol-resume-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-hp-detect-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-hp-detect-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-hp-detect-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-hp-detect-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-hp-gpio-switch-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-hp-gpio-switch-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-hp-gpio-switch-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-hp-gpio-switch-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-hp-pavilion-quirks b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-hp-pavilion-quirks
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-hp-pavilion-quirks
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-hp-pavilion-quirks
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-reduce-volume-scale b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-reduce-volume-scale
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-reduce-volume-scale
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-reduce-volume-scale
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-yet-more-fixes b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-yet-more-fixes
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac-yet-more-fixes
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac-yet-more-fixes
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac9200-missing-mux-capture b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac9200-missing-mux-capture
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac9200-missing-mux-capture
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac9200-missing-mux-capture
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac925x-init-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac925x-init-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac925x-init-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac925x-init-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac92xx-mic-pin-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac92xx-mic-pin-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-stac92xx-mic-pin-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac92xx-mic-pin-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-via-rec-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-via-rec-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-via-rec-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-via-rec-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-via-update b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-via-update
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-via-update
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-via-update
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-ad1884a-mobile-init-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-ad1884a-mobile-init-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-ad1884a-mobile-init-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-ad1884a-mobile-init-fix
diff --git a/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc268-mono-output-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc268-mono-output-fix
new file mode 100644
index 000000000..fa5e59f06
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc268-mono-output-fix
@@ -0,0 +1,121 @@
+From 3f3b7c1aed70fa25c6811f830c5fb1a7054681ae Mon Sep 17 00:00:00 2001
+From: Takashi Iwai
+Date: Fri, 17 Jul 2009 14:36:59 +0200
+Subject: ALSA: hda - Fix ALC268 parser for mono speaker
+Patch-mainline:
+References: bnc#467846
+
+- Parse the mono output pin 0x16 correctly even as the primary output
+- Create "Speaker" volume control if the primary output is a speaker
+- Fix the wrong direction of (optional) "Mono" switch
+
+Signed-off-by: Takashi Iwai
+
+---
+ sound/pci/hda/patch_realtek.c | 62 +++++++++++++++++++++++++++++-------------
+ 1 file changed, 43 insertions(+), 19 deletions(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -11421,26 +11421,38 @@ static int alc268_new_analog_output(stru
+ const char *ctlname, int idx)
+ {
+ char name[32];
++ hda_nid_t dac;
+ int err;
+
+ sprintf(name, "%s Playback Volume", ctlname);
+- if (nid == 0x14) {
+- err = add_control(spec, ALC_CTL_WIDGET_VOL, name,
+- HDA_COMPOSE_AMP_VAL(0x02, 3, idx,
+- HDA_OUTPUT));
+- if (err < 0)
+- return err;
+- } else if (nid == 0x15) {
++ switch (nid) {
++ case 0x14:
++ case 0x16:
++ dac = 0x02;
++ break;
++ case 0x15:
++ dac = 0x03;
++ break;
++ default:
++ return 0;
++ }
++ if (spec->multiout.dac_nids[0] != dac &&
++ spec->multiout.dac_nids[1] != dac) {
+ err = add_control(spec, ALC_CTL_WIDGET_VOL, name,
+- HDA_COMPOSE_AMP_VAL(0x03, 3, idx,
++ HDA_COMPOSE_AMP_VAL(dac, 3, idx,
+ HDA_OUTPUT));
+ if (err < 0)
+ return err;
+- } else
+- return -1;
++ spec->multiout.dac_nids[spec->multiout.num_dacs++] = dac;
++ }
++
+ sprintf(name, "%s Playback Switch", ctlname);
+- err = add_control(spec, ALC_CTL_WIDGET_MUTE, name,
++ if (nid != 0x16)
++ err = add_control(spec, ALC_CTL_WIDGET_MUTE, name,
+ HDA_COMPOSE_AMP_VAL(nid, 3, idx, HDA_OUTPUT));
++ else /* mono */
++ err = add_control(spec, ALC_CTL_WIDGET_MUTE, name,
++ HDA_COMPOSE_AMP_VAL(nid, 2, idx, HDA_OUTPUT));
+ if (err < 0)
+ return err;
+ return 0;
+@@ -11453,14 +11465,19 @@ static int alc268_auto_create_multi_out_
+ hda_nid_t nid;
+ int err;
+
+- spec->multiout.num_dacs = 2; /* only use one dac */
+ spec->multiout.dac_nids = spec->private_dac_nids;
+- spec->multiout.dac_nids[0] = 2;
+- spec->multiout.dac_nids[1] = 3;
+
+ nid = cfg->line_out_pins[0];
+- if (nid)
+- alc268_new_analog_output(spec, nid, "Front", 0);
++ if (nid) {
++ const char *name;
++ if (cfg->line_out_type == AUTO_PIN_SPEAKER_OUT)
++ name = "Speaker";
++ else
++ name = "Front";
++ err = alc268_new_analog_output(spec, nid, name, 0);
++ if (err < 0)
++ return err;
++ }
+
+ nid = cfg->speaker_pins[0];
+ if (nid == 0x1d) {
+@@ -11469,16 +11486,23 @@ static int alc268_auto_create_multi_out_
+ HDA_COMPOSE_AMP_VAL(nid, 3, 0, HDA_INPUT));
+ if (err < 0)
+ return err;
++ } else {
++ err = alc268_new_analog_output(spec, nid, "Speaker", 0);
++ if (err < 0)
++ return err;
+ }
+ nid = cfg->hp_pins[0];
+- if (nid)
+- alc268_new_analog_output(spec, nid, "Headphone", 0);
++ if (nid) {
++ err = alc268_new_analog_output(spec, nid, "Headphone", 0);
++ if (err < 0)
++ return err;
++ }
+
+ nid = cfg->line_out_pins[1] | cfg->line_out_pins[2];
+ if (nid == 0x16) {
+ err = add_control(spec, ALC_CTL_WIDGET_MUTE,
+ "Mono Playback Switch",
+- HDA_COMPOSE_AMP_VAL(nid, 2, 0, HDA_INPUT));
++ HDA_COMPOSE_AMP_VAL(nid, 2, 0, HDA_OUTPUT));
+ if (err < 0)
+ return err;
+ }
diff --git a/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc269-fix-vmaster b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc269-fix-vmaster
new file mode 100644
index 000000000..ec1063cbc
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc269-fix-vmaster
@@ -0,0 +1,31 @@
+From 100d5eb36ba20dc0b99a17ea2b9800c567bfc3d1 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai
+Date: Mon, 10 Aug 2009 11:55:51 +0200
+Subject: [PATCH] ALSA: hda - Add missing vmaster initialization for ALC269
+Patch-mainline:
+References: bnc#527361
+
+Without the initialization of vmaster NID, the dB information got
+confused for ALC269 codec.
+
+Reference: Novell bnc#527361
+ https://bugzilla.novell.com/show_bug.cgi?id=527361
+
+Signed-off-by: Takashi Iwai
+Cc:
+
+---
+ sound/pci/hda/patch_realtek.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -12654,6 +12654,8 @@
+ spec->num_adc_nids = ARRAY_SIZE(alc269_adc_nids);
+ spec->capsrc_nids = alc269_capsrc_nids;
+
++ spec->vmaster_nid = 0x02;
++
+ codec->patch_ops = alc_patch_ops;
+ if (board_config == ALC269_AUTO)
+ spec->init_hook = alc269_auto_init;
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-alc888-coef-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc888-coef-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-alc888-coef-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc888-coef-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-alc888-hp-3stack-auto-mute b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc888-hp-3stack-auto-mute
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-alc888-hp-3stack-auto-mute
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc888-hp-3stack-auto-mute
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-alc888-hp-4ch-mode b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc888-hp-4ch-mode
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-alc888-hp-4ch-mode
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc888-hp-4ch-mode
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-alc888-hp-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc888-hp-quirk
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-alc888-hp-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-alc888-hp-quirk
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-alc269-lenovo-capture-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-alc269-lenovo-capture-fix
similarity index 89%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-alc269-lenovo-capture-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-alc269-lenovo-capture-fix
index 860ff5c9f..db099e349 100644
--- a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-alc269-lenovo-capture-fix
+++ b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-alc269-lenovo-capture-fix
@@ -13,7 +13,7 @@ Signed-off-by: Takashi Iwai
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
-@@ -11990,7 +11990,6 @@
+@@ -11989,7 +11989,6 @@ static struct snd_kcontrol_new alc269_qu
},
HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT),
HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
@@ -21,7 +21,7 @@ Signed-off-by: Takashi Iwai
HDA_CODEC_VOLUME("Internal Mic Playback Volume", 0x0b, 0x01, HDA_INPUT),
HDA_CODEC_MUTE("Internal Mic Playback Switch", 0x0b, 0x01, HDA_INPUT),
HDA_CODEC_VOLUME("Internal Mic Boost", 0x19, 0, HDA_INPUT),
-@@ -12519,7 +12518,7 @@
+@@ -12518,7 +12517,7 @@ static struct alc_config_preset alc269_p
.input_mux = &alc269_capture_source,
},
[ALC269_QUANTA_FL1] = {
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-ati-pos-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-ati-pos-fix
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-ati-pos-fix
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-ati-pos-fix
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-codec-bus-intapi-change b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-codec-bus-intapi-change
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-codec-bus-intapi-change
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-codec-bus-intapi-change
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-codec-limit-verb-retry b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-codec-limit-verb-retry
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-codec-limit-verb-retry
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-codec-limit-verb-retry
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-codec-verb-retry b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-codec-verb-retry
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-codec-verb-retry
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-codec-verb-retry
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-forced-codec-slots b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-forced-codec-slots
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-forced-codec-slots
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-forced-codec-slots
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-hp-ad1984a-more-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-hp-ad1984a-more-quirk
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-hp-ad1984a-more-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-hp-ad1984a-more-quirk
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-hp-ad1984a-more-quirk2 b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-hp-ad1984a-more-quirk2
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-hp-ad1984a-more-quirk2
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-hp-ad1984a-more-quirk2
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-hp-more-quirks b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-hp-more-quirks
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-hp-more-quirks
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-hp-more-quirks
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-hp-xw-quirk b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-hp-xw-quirk
similarity index 92%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-hp-xw-quirk
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-hp-xw-quirk
index ba15ac4a1..dfb57d7a4 100644
--- a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-hp-xw-quirk
+++ b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-hp-xw-quirk
@@ -13,7 +13,7 @@ Signed-off-by: Takashi Iwai
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
-@@ -10454,6 +10454,7 @@ static struct snd_pci_quirk alc262_cfg_t
+@@ -10458,6 +10458,7 @@ static struct snd_pci_quirk alc262_cfg_t
SND_PCI_QUIRK(0x103c, 0x1309, "HP xw4*00", ALC262_HP_BPC),
SND_PCI_QUIRK(0x103c, 0x130a, "HP xw6*00", ALC262_HP_BPC),
SND_PCI_QUIRK(0x103c, 0x130b, "HP xw8*00", ALC262_HP_BPC),
diff --git a/src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-hwptr-stabilize b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-hwptr-stabilize
similarity index 100%
rename from src/patches/suse-2.6.27.25/patches.drivers/alsa-post-ga-hda-hwptr-stabilize
rename to src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-hwptr-stabilize
diff --git a/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-idt92hd8x-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-idt92hd8x-fix
new file mode 100644
index 000000000..cf3e5d293
--- /dev/null
+++ b/src/patches/suse-2.6.27.31/patches.drivers/alsa-post-ga-hda-idt92hd8x-fix
@@ -0,0 +1,277 @@
+From 667067d8980249a71ccf82a55202fff2cd1cd54f Mon Sep 17 00:00:00 2001
+From: Takashi Iwai
+Date: Thu, 13 Aug 2009 18:14:42 +0200
+Subject: ALSA: hda - Fix / clean up IDT92HD83xxx codec parser
+Patch-mainline:
+References: bnc#531533
+
+A few improvements for IDT 92HD83xxx codec pareser:
+- Remove unused / deprecated mixer-amp controls
+- Handle d-mics as normal inputs since this codec has no separate
+ MUXes for analog and digital
+- Don't create duplicated controls for capture volumes with Mux
+ capture volumes
+
+Signed-off-by: Takashi Iwai