--- linux-2.6.15.6/drivers/input/joystick/iforce/iforce-serio.c 2006-03-05 19:07:54.000000000 +0000 +++ linux-2.6.15.6.iforce/drivers/input/joystick/iforce/iforce-serio.c 2006-04-29 23:17:59.000000000 +0000 @@ -175,6 +175,12 @@ .id = SERIO_ANY, .extra = SERIO_ANY, }, + { + .type = SERIO_RS232, + .proto = 0x1f, // Trust ForceFeedback Race Master + .id = SERIO_ANY, + .extra = SERIO_ANY, + }, { 0 } }; --- linux-2.6.27/arch/powerpc/include/asm/io.h~ 2006-06-18 01:49:35.000000000 +0000 +++ linux-2.6.27/arch/powerpc/include/asm/io.h 2006-06-22 02:44:19.000000000 +0000 @@ -445,6 +445,10 @@ #define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) #define page_to_bus(page) (page_to_phys(page) + PCI_DRAM_OFFSET) +#define isa_virt_to_bus virt_to_phys +#define isa_page_to_bus page_to_phys +#define isa_bus_to_virt phys_to_virt + /* Enforce in-order execution of data I/O. * No distinction between read/write on PPC; use eieio for all three. */ --- linux-2.6.27/arch/powerpc/include/asm/suspend.h 2007-07-09 01:32:17.000000000 +0200 +++ linux-2.6.27/arch/powerpc/include/asm/suspend.h 2007-08-28 23:26:16.629658848 +0200 @@ -6,4 +6,7 @@ void save_processor_state(void); void restore_processor_state(void); +#define suspend2_faulted (0) +#define clear_suspend2_fault() do { } while(0) + #endif /* __ASM_POWERPC_SUSPEND_H */ --- linux-2.6.26/arch/powerpc/kernel/swsusp.c 2008-09-29 00:01:56.000000000 +0200 +++ linux-2.6.26/arch/powerpc/kernel/swsusp.c 2008-09-29 00:01:42.000000000 +0200 @@ -9,6 +9,7 @@ * 2 of the License, or (at your option) any later version. */ +#include #include #include #include @@ -30,6 +31,7 @@ #endif } +EXPORT_SYMBOL(save_processor_state); void restore_processor_state(void) { --- linux-2.6.32/drivers/infiniband/Kconfig~ 2009-12-05 00:26:03.663774916 +0100 +++ linux-2.6.32/drivers/infiniband/Kconfig 2009-12-05 00:26:05.914179759 +0100 @@ -37,7 +37,6 @@ config INFINIBAND_ADDR_TRANS bool depends on INET - depends on !(INFINIBAND = y && IPV6 = m) default y source "drivers/infiniband/hw/mthca/Kconfig" --- linux-2.6.33/scripts/mod/modpost.c~ 2010-02-24 19:52:17.000000000 +0100 +++ linux-2.6.33/scripts/mod/modpost.c 2010-03-07 14:26:47.242168558 +0100 @@ -15,7 +15,8 @@ #include #include #include "modpost.h" -#include "../../include/generated/autoconf.h" +// PLD architectures don't use CONFIG_SYMBOL_PREFIX +//#include "../../include/generated/autoconf.h" #include "../../include/linux/license.h" /* Some toolchains use a `_' prefix for all user symbols. */ commit 87b09f1f25cd1e01d7c50bf423c7fe33027d7511 Author: stephen hemminger Date: Fri Feb 12 06:58:00 2010 +0000 sky2: dont enable PME legacy mode This bit is not changed by vendor driver, and should be left alone. The documentation implies this a debug bit. 0 = WAKE# only asserted when VMAIN not available 1 = WAKE# is depend on wake events and independent of VMAIN. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller diff --git b/drivers/net/sky2.c a/drivers/net/sky2.c index 2494842..edf37aa 100644 --- b/drivers/net/sky2.c +++ a/drivers/net/sky2.c @@ -733,6 +733,7 @@ static void sky2_wol_init(struct sky2_port *sky2) unsigned port = sky2->port; enum flow_control save_mode; u16 ctrl; + u32 reg1; /* Bring hardware out of reset */ sky2_write16(hw, B0_CTST, CS_RST_CLR); @@ -786,6 +787,11 @@ static void sky2_wol_init(struct sky2_port *sky2) /* Disable PiG firmware */ sky2_write16(hw, B0_CTST, Y2_HW_WOL_OFF); + /* Turn on legacy PCI-Express PME mode */ + reg1 = sky2_pci_read32(hw, PCI_DEV_REG1); + reg1 |= PCI_Y2_PME_LEGACY; + sky2_pci_write32(hw, PCI_DEV_REG1, reg1); + /* block receiver */ sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET); } Commit 368e136 ("xfs: remove duplicate code from dquot reclaim") fails to unlock the dquot freelist when the number of loop restarts is exceeded in xfs_qm_dqreclaim_one(). This causes hangs in memory reclaim. Remove the bogus loop exit check that causes the problem. Reported-by: Malcolm Scott Signed-off-by: Dave Chinner --- fs/xfs/quota/xfs_qm.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/fs/xfs/quota/xfs_qm.c b/fs/xfs/quota/xfs_qm.c index f8e854b..9431c56 100644 --- a/fs/xfs/quota/xfs_qm.c +++ b/fs/xfs/quota/xfs_qm.c @@ -1992,8 +1992,6 @@ dqfunlock: xfs_dqunlock(dqp); if (dqpout) break; - if (restarts >= XFS_QM_RECLAIM_MAX_RESTARTS) - return NULL; } mutex_unlock(&xfs_Gqm->qm_dqfrlist_lock); return dqpout; commit aa5bd67dcfdf9af34c7fa36ebc87d4e1f7e91873 Author: Kacper Kornet Date: Sat Jan 29 00:21:04 2011 +0100 Fix prlimit64 for suid/sgid processes Since check_prlimit_permission always fails in the case of SUID/GUID processes, such processes are not able to read or set their own limits. This commit changes this by assuming that process can always read/change its own limits. Signed-off-by: Kacper Kornet Acked-by: Jiri Slaby Signed-off-by: Linus Torvalds diff --git a/kernel/sys.c b/kernel/sys.c index 31b71a2..18da702 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1385,7 +1385,8 @@ static int check_prlimit_permission(struct task_struct *task) const struct cred *cred = current_cred(), *tcred; tcred = __task_cred(task); - if ((cred->uid != tcred->euid || + if (current != task && + (cred->uid != tcred->euid || cred->uid != tcred->suid || cred->uid != tcred->uid || cred->gid != tcred->egid || Subject: [PATCH -mm] swiotlb: fix wrong panic From: FUJITA Tomonori swiotlb's map_page wrongly calls panic() when it can't find a buffer fit for device's dma mask. It should return an error instead. Devices with an odd dma mask (i.e. under 4G) like b44 network card hit this bug (the system crashes): http://marc.info/?l=linux-kernel&m=129648943830106&w=2 If swiotlb returns an error, b44 driver can use the own bouncing mechanism. Reported-by: Chuck Ebbert Signed-off-by: FUJITA Tomonori Tested-by: Arkadiusz Miskiewicz Cc: stable@kernel.org --- lib/swiotlb.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/swiotlb.c b/lib/swiotlb.c index c47bbe1..93ca08b 100644 --- a/lib/swiotlb.c +++ b/lib/swiotlb.c @@ -686,8 +686,10 @@ dma_addr_t swiotlb_map_page(struct device *dev, struct page *page, /* * Ensure that the address returned is DMA'ble */ - if (!dma_capable(dev, dev_addr, size)) - panic("map_single: bounce buffer is not DMA'ble"); + if (!dma_capable(dev, dev_addr, size)) { + swiotlb_tbl_unmap_single(dev, map, size, dir); + dev_addr = swiotlb_virt_to_bus(dev, io_tlb_overflow_buffer); + } return dev_addr; } -- 1.7.2.3