]> git.pld-linux.org Git - packages/kernel.git/blob - kernel-small_fixes.patch
- up to 2.6.38.1; add xfs anti-oom fix for mounts with quota and many inodes
[packages/kernel.git] / kernel-small_fixes.patch
1 --- linux-2.6.15.6/drivers/input/joystick/iforce/iforce-serio.c 2006-03-05 19:07:54.000000000 +0000
2 +++ linux-2.6.15.6.iforce/drivers/input/joystick/iforce/iforce-serio.c  2006-04-29 23:17:59.000000000 +0000
3 @@ -175,6 +175,12 @@
4                 .id     = SERIO_ANY,
5                 .extra  = SERIO_ANY,
6         },
7 +       {
8 +               .type   = SERIO_RS232,
9 +               .proto  = 0x1f, // Trust ForceFeedback Race Master
10 +               .id     = SERIO_ANY,
11 +               .extra  = SERIO_ANY,
12 +       },
13         { 0 }
14  };
15  
16 --- linux-2.6.27/arch/powerpc/include/asm/io.h~ 2006-06-18 01:49:35.000000000 +0000
17 +++ linux-2.6.27/arch/powerpc/include/asm/io.h  2006-06-22 02:44:19.000000000 +0000
18 @@ -445,6 +445,10 @@
19  #define page_to_phys(page)     (page_to_pfn(page) << PAGE_SHIFT)
20  #define page_to_bus(page)      (page_to_phys(page) + PCI_DRAM_OFFSET)
21  
22 +#define isa_virt_to_bus virt_to_phys
23 +#define isa_page_to_bus page_to_phys
24 +#define isa_bus_to_virt phys_to_virt
25 +
26  /* Enforce in-order execution of data I/O.
27   * No distinction between read/write on PPC; use eieio for all three.
28   */
29 --- linux-2.6.27/arch/powerpc/include/asm/suspend.h     2007-07-09 01:32:17.000000000 +0200
30 +++ linux-2.6.27/arch/powerpc/include/asm/suspend.h     2007-08-28 23:26:16.629658848 +0200
31 @@ -6,4 +6,7 @@
32  void save_processor_state(void);
33  void restore_processor_state(void);
34  
35 +#define suspend2_faulted (0)
36 +#define clear_suspend2_fault() do { } while(0)
37 +
38  #endif /* __ASM_POWERPC_SUSPEND_H */
39 --- linux-2.6.26/arch/powerpc/kernel/swsusp.c   2008-09-29 00:01:56.000000000 +0200
40 +++ linux-2.6.26/arch/powerpc/kernel/swsusp.c   2008-09-29 00:01:42.000000000 +0200
41 @@ -9,6 +9,7 @@
42   * 2 of the License, or (at your option) any later version.
43   */
44  
45 +#include <linux/module.h>
46  #include <linux/sched.h>
47  #include <asm/suspend.h>
48  #include <asm/system.h>
49 @@ -30,6 +31,7 @@
50  #endif
51  
52  }
53 +EXPORT_SYMBOL(save_processor_state);
54  
55  void restore_processor_state(void)
56  {
57
58 --- linux-2.6.32/drivers/infiniband/Kconfig~    2009-12-05 00:26:03.663774916 +0100
59 +++ linux-2.6.32/drivers/infiniband/Kconfig     2009-12-05 00:26:05.914179759 +0100
60 @@ -37,7 +37,6 @@
61  config INFINIBAND_ADDR_TRANS
62         bool
63         depends on INET
64 -       depends on !(INFINIBAND = y && IPV6 = m)
65         default y
66  
67  source "drivers/infiniband/hw/mthca/Kconfig"
68 --- linux-2.6.33/scripts/mod/modpost.c~ 2010-02-24 19:52:17.000000000 +0100
69 +++ linux-2.6.33/scripts/mod/modpost.c  2010-03-07 14:26:47.242168558 +0100
70 @@ -15,7 +15,8 @@
71  #include <stdio.h>
72  #include <ctype.h>
73  #include "modpost.h"
74 -#include "../../include/generated/autoconf.h"
75 +// PLD architectures don't use CONFIG_SYMBOL_PREFIX
76 +//#include "../../include/generated/autoconf.h"
77  #include "../../include/linux/license.h"
78  
79  /* Some toolchains use a `_' prefix for all user symbols. */
80
81 commit 87b09f1f25cd1e01d7c50bf423c7fe33027d7511
82 Author: stephen hemminger <shemminger@vyatta.com>
83 Date:   Fri Feb 12 06:58:00 2010 +0000
84
85     sky2: dont enable PME legacy mode
86     
87     This bit is not changed by vendor driver, and should be left alone.
88     The documentation implies this a debug bit.
89       0 = WAKE# only asserted when VMAIN not available
90       1 = WAKE# is depend on wake events and independent of VMAIN.
91     
92     Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
93     Signed-off-by: David S. Miller <davem@davemloft.net>
94
95 diff --git b/drivers/net/sky2.c a/drivers/net/sky2.c
96 index 2494842..edf37aa 100644
97 --- b/drivers/net/sky2.c
98 +++ a/drivers/net/sky2.c
99 @@ -733,6 +733,7 @@ static void sky2_wol_init(struct sky2_port *sky2)
100         unsigned port = sky2->port;
101         enum flow_control save_mode;
102         u16 ctrl;
103 +       u32 reg1;
104  
105         /* Bring hardware out of reset */
106         sky2_write16(hw, B0_CTST, CS_RST_CLR);
107 @@ -786,6 +787,11 @@ static void sky2_wol_init(struct sky2_port *sky2)
108         /* Disable PiG firmware */
109         sky2_write16(hw, B0_CTST, Y2_HW_WOL_OFF);
110  
111 +       /* Turn on legacy PCI-Express PME mode */
112 +       reg1 = sky2_pci_read32(hw, PCI_DEV_REG1);
113 +       reg1 |= PCI_Y2_PME_LEGACY;
114 +       sky2_pci_write32(hw, PCI_DEV_REG1, reg1);
115 +
116         /* block receiver */
117         sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET);
118  }
119
120
121 --- linux-2.6.37/fs//xfs/linux-2.6/xfs_super.c.org      2011-03-23 09:08:50.511734576 +0100
122 +++ linux-2.6.37/fs//xfs/linux-2.6/xfs_super.c  2011-03-23 09:13:58.385845623 +0100
123 @@ -1566,13 +1566,17 @@
124         if (error)
125                 goto out_free_sb;
126  
127 -       error = xfs_mountfs(mp);
128 -       if (error)
129 -               goto out_filestream_unmount;
130 -
131         if (mp->m_flags & XFS_MOUNT_TAGGED)
132                 sb->s_flags |= MS_TAGGED;
133  
134 +       /*
135 +        * we must configure the block size in the superblock before we run the
136 +        * full mount process as the mount process can lookup and cache inodes.
137 +        * For the same reason we must also initialise the syncd and register
138 +        * the inode cache shrinker so that inodes can be reclaimed during
139 +        * operations like a quotacheck that iterate all inodes in the
140 +        * filesystem.
141 +        */
142         sb->s_magic = XFS_SB_MAGIC;
143         sb->s_blocksize = mp->m_sb.sb_blocksize;
144         sb->s_blocksize_bits = ffs(sb->s_blocksize) - 1;
145 @@ -1580,6 +1584,16 @@
146         sb->s_time_gran = 1;
147         set_posix_acl_flag(sb);
148  
149 +       error = xfs_syncd_init(mp);
150 +       if (error)
151 +               goto out_filestream_unmount;
152 +
153 +       xfs_inode_shrinker_register(mp);
154 +
155 +       error = xfs_mountfs(mp);
156 +       if (error)
157 +               goto out_syncd_stop;
158 +
159         root = igrab(VFS_I(mp->m_rootip));
160         if (!root) {
161                 error = ENOENT;
162 @@ -1595,14 +1609,11 @@
163                 goto fail_vnrele;
164         }
165  
166 -       error = xfs_syncd_init(mp);
167 -       if (error)
168 -               goto fail_vnrele;
169 -
170 -       xfs_inode_shrinker_register(mp);
171 -
172         return 0;
173  
174 + out_syncd_stop:
175 +       xfs_inode_shrinker_unregister(mp);
176 +       xfs_syncd_stop(mp);
177   out_filestream_unmount:
178         xfs_filestream_unmount(mp);
179   out_free_sb:
180 @@ -1626,6 +1637,9 @@
181         }
182  
183   fail_unmount:
184 +       xfs_inode_shrinker_unregister(mp);
185 +       xfs_syncd_stop(mp);
186 +
187         /*
188          * Blow away any referenced inode in the filestreams cache.
189          * This can and will cause log traffic as inodes go inactive
This page took 0.070936 seconds and 4 git commands to generate.