]>
Commit | Line | Data |
---|---|---|
3c03f5de | 1 | diff -Nur linux-2.6.15.6/drivers/input/joystick/iforce/iforce-serio.c linux-2.6.15.6.iforce/drivers/input/joystick/iforce/iforce-serio.c |
2 | --- linux-2.6.15.6/drivers/input/joystick/iforce/iforce-serio.c 2006-03-05 19:07:54.000000000 +0000 | |
3 | +++ linux-2.6.15.6.iforce/drivers/input/joystick/iforce/iforce-serio.c 2006-04-29 23:17:59.000000000 +0000 | |
4 | @@ -175,6 +175,12 @@ | |
5 | .id = SERIO_ANY, | |
6 | .extra = SERIO_ANY, | |
7 | }, | |
8 | + { | |
9 | + .type = SERIO_RS232, | |
10 | + .proto = 0x1f, // Trust ForceFeedback Race Master | |
11 | + .id = SERIO_ANY, | |
12 | + .extra = SERIO_ANY, | |
13 | + }, | |
14 | { 0 } | |
15 | }; | |
16 | ||
1b3b3426 PS |
17 | --- linux-2.6.27/arch/powerpc/include/asm/io.h~ 2006-06-18 01:49:35.000000000 +0000 |
18 | +++ linux-2.6.27/arch/powerpc/include/asm/io.h 2006-06-22 02:44:19.000000000 +0000 | |
3c03f5de | 19 | @@ -445,6 +445,10 @@ |
20 | #define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) | |
21 | #define page_to_bus(page) (page_to_phys(page) + PCI_DRAM_OFFSET) | |
22 | ||
23 | +#define isa_virt_to_bus virt_to_phys | |
24 | +#define isa_page_to_bus page_to_phys | |
25 | +#define isa_bus_to_virt phys_to_virt | |
26 | + | |
27 | /* Enforce in-order execution of data I/O. | |
28 | * No distinction between read/write on PPC; use eieio for all three. | |
29 | */ | |
ca74d27b | 30 | --- linux-2.6.20/drivers/media/common/ir-keymaps.c.orig 2007-02-04 19:44:54.000000000 +0100 |
31 | +++ linux-2.6.20/drivers/media/common/ir-keymaps.c 2007-02-17 22:22:39.327414970 +0100 | |
32 | @@ -151,10 +151,6 @@ | |
33 | ||
34 | IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = { | |
35 | ||
36 | - [ 0x1e ] = KEY_POWER, // power | |
37 | - [ 0x07 ] = KEY_MEDIA, // source | |
38 | - [ 0x1c ] = KEY_SEARCH, // scan | |
39 | - | |
40 | /* FIXME: duplicate keycodes? | |
41 | * | |
42 | * These four keys seem to share the same GPIO as CH+, CH-, <<< and >>> | |
43 | @@ -175,14 +171,10 @@ | |
44 | */ | |
45 | ||
46 | [ 0x03 ] = KEY_TUNER, // TV/FM | |
47 | + [ 0x07 ] = KEY_SEARCH, // scan | |
48 | + [ 0x1c ] = KEY_ZOOM, // zoom | |
49 | ||
50 | - [ 0x00 ] = KEY_RECORD, | |
51 | - [ 0x08 ] = KEY_STOP, | |
52 | - [ 0x11 ] = KEY_PLAY, | |
53 | - | |
54 | - [ 0x1a ] = KEY_PLAYPAUSE, // freeze | |
55 | - [ 0x19 ] = KEY_ZOOM, // zoom | |
56 | - [ 0x0f ] = KEY_TEXT, // min | |
57 | + [ 0x1e ] = KEY_POWER, // power | |
58 | ||
59 | [ 0x01 ] = KEY_1, | |
60 | [ 0x0b ] = KEY_2, | |
61 | @@ -195,20 +187,22 @@ | |
62 | [ 0x12 ] = KEY_9, | |
63 | [ 0x02 ] = KEY_0, | |
64 | [ 0x10 ] = KEY_LAST, // +100 | |
65 | - [ 0x13 ] = KEY_LIST, // recall | |
66 | + [ 0x13 ] = KEY_LIST, // loop | |
67 | ||
68 | - [ 0x1f ] = KEY_CHANNELUP, // chn down | |
69 | - [ 0x17 ] = KEY_CHANNELDOWN, // chn up | |
70 | - [ 0x16 ] = KEY_VOLUMEUP, // vol down | |
71 | - [ 0x14 ] = KEY_VOLUMEDOWN, // vol up | |
72 | + [ 0x1f ] = KEY_VOLUMEUP, // vol down | |
73 | + [ 0x17 ] = KEY_VOLUMEDOWN, // vol up | |
74 | + [ 0x16 ] = KEY_CHANNELUP, // chn down | |
75 | + [ 0x14 ] = KEY_CHANNELDOWN, // chn up | |
76 | ||
77 | - [ 0x04 ] = KEY_KPMINUS, // <<< | |
78 | + [ 0x00 ] = KEY_MEDIA, // source | |
79 | + [ 0x18 ] = KEY_MUTE, // mute/unmute | |
80 | + | |
81 | + [ 0x04 ] = KEY_KPMINUS, // - | |
82 | [ 0x0e ] = KEY_SETUP, // function | |
83 | - [ 0x0c ] = KEY_KPPLUS, // >>> | |
84 | + [ 0x0c ] = KEY_KPPLUS, // + | |
85 | ||
86 | - [ 0x0d ] = KEY_GOTO, // mts | |
87 | - [ 0x1d ] = KEY_REFRESH, // reset | |
88 | - [ 0x18 ] = KEY_MUTE // mute/unmute | |
89 | + [ 0x0d ] = KEY_REFRESH, // reset | |
90 | + [ 0x0f ] = KEY_PLAYPAUSE // freeze | |
91 | }; | |
92 | ||
93 | EXPORT_SYMBOL_GPL(ir_codes_pixelview); | |
720c736c | 94 | --- linux-2.6.22/drivers/sbus/char/cpwatchdog.c~ 2007-07-09 01:32:17.000000000 +0200 |
95 | +++ linux-2.6.22/drivers/sbus/char/cpwatchdog.c 2007-08-12 03:56:02.739993250 +0200 | |
96 | @@ -28,6 +28,7 @@ | |
97 | #include <asm/ebus.h> | |
98 | #include <asm/oplib.h> | |
99 | #include <asm/uaccess.h> | |
100 | +#include <asm/io.h> | |
101 | ||
102 | #include <asm/watchdog.h> | |
103 | ||
1b3b3426 PS |
104 | --- linux-2.6.27/arch/powerpc/include/asm/suspend.h 2007-07-09 01:32:17.000000000 +0200 |
105 | +++ linux-2.6.27/arch/powerpc/include/asm/suspend.h 2007-08-28 23:26:16.629658848 +0200 | |
88b2edbd | 106 | @@ -6,4 +6,7 @@ |
107 | void save_processor_state(void); | |
108 | void restore_processor_state(void); | |
109 | ||
110 | +#define suspend2_faulted (0) | |
111 | +#define clear_suspend2_fault() do { } while(0) | |
112 | + | |
113 | #endif /* __ASM_POWERPC_SUSPEND_H */ | |
97c1e650 | 114 | --- linux-2.6.26/arch/powerpc/kernel/swsusp.c 2008-09-29 00:01:56.000000000 +0200 |
115 | +++ linux-2.6.26/arch/powerpc/kernel/swsusp.c 2008-09-29 00:01:42.000000000 +0200 | |
116 | @@ -9,6 +9,7 @@ | |
117 | * 2 of the License, or (at your option) any later version. | |
118 | */ | |
119 | ||
120 | +#include <linux/module.h> | |
121 | #include <linux/sched.h> | |
122 | #include <asm/suspend.h> | |
123 | #include <asm/system.h> | |
124 | @@ -30,6 +31,7 @@ | |
125 | #endif | |
126 | ||
127 | } | |
128 | +EXPORT_SYMBOL(save_processor_state); | |
129 | ||
130 | void restore_processor_state(void) | |
131 | { | |
de227537 PS |
132 | --- linux-2.6.27/security/security.c.orig 2008-10-09 22:13:53.000000000 +0000 |
133 | +++ linux-2.6.27/security/security.c 2008-10-20 17:27:49.000000000 +0000 | |
134 | @@ -439,6 +439,7 @@ | |
135 | return 0; | |
136 | return security_ops->inode_permission(inode, mask); | |
137 | } | |
138 | +EXPORT_SYMBOL_GPL(security_inode_permission); | |
139 | ||
140 | int security_inode_setattr(struct dentry *dentry, struct iattr *attr) | |
141 | { | |
50988002 | 142 | --- a/drivers/net/mv643xx_eth.c |
143 | +++ b/drivers/net/mv643xx_eth.c | |
144 | @@ -38,6 +38,7 @@ | |
145 | #include <linux/init.h> | |
146 | #include <linux/dma-mapping.h> | |
147 | #include <linux/in.h> | |
148 | +#include <linux/ip.h> | |
149 | #include <linux/tcp.h> | |
150 | #include <linux/udp.h> | |
151 | #include <linux/etherdevice.h> | |
a6e445ed JR |
152 | From: Hannes Reinecke <hare@suse.de> |
153 | Subject: Retry ALUA device handler initialization on Unit Attention | |
154 | ||
155 | Whenever we receive a UNIT ATTENTION sense code we should just retry | |
156 | the command. No point in checking the various sense codes here. | |
157 | ||
158 | Signed-off-by: Hannes Reinecke <hare@suse.de> | |
159 | ||
160 | diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c | |
161 | index e356b43..a3660a6 100644 | |
162 | --- a/drivers/scsi/device_handler/scsi_dh_alua.c | |
163 | +++ b/drivers/scsi/device_handler/scsi_dh_alua.c | |
164 | @@ -444,24 +444,10 @@ static int alua_check_sense(struct scsi_device *sdev, | |
165 | return SUCCESS; | |
166 | break; | |
167 | case UNIT_ATTENTION: | |
168 | - if (sense_hdr->asc == 0x29 && sense_hdr->ascq == 0x00) | |
169 | - /* | |
170 | - * Power On, Reset, or Bus Device Reset, just retry. | |
171 | - */ | |
172 | - return ADD_TO_MLQUEUE; | |
173 | - if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x06) { | |
174 | - /* | |
175 | - * ALUA state changed | |
176 | - */ | |
177 | - return ADD_TO_MLQUEUE; | |
178 | - } | |
179 | - if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x07) { | |
180 | - /* | |
181 | - * Implicit ALUA state transition failed | |
182 | - */ | |
183 | - return ADD_TO_MLQUEUE; | |
184 | - } | |
185 | - break; | |
186 | + /* | |
187 | + * Just retry for UNIT_ATTENTION | |
188 | + */ | |
189 | + return ADD_TO_MLQUEUE; | |
190 | } | |
191 | ||
192 | return SCSI_RETURN_NOT_HANDLED; | |
193 | From: Hannes Reinecke <hare@suse.de> | |
194 | Subject: Always send STPG for explicit tgps mode | |
195 | ||
196 | When we are in explicit tgps mode we should always send an STPG | |
197 | command to enable the active/optimized mode. | |
198 | ||
199 | Signed-off-by: Hannes Reinecke <hare@suse.de> | |
200 | ||
201 | --- | |
202 | drivers/scsi/device_handler/scsi_dh_alua.c | 10 ++++------ | |
203 | 1 file changed, 4 insertions(+), 6 deletions(-) | |
204 | ||
205 | --- a/drivers/scsi/device_handler/scsi_dh_alua.c | |
206 | +++ b/drivers/scsi/device_handler/scsi_dh_alua.c | |
207 | @@ -593,13 +593,11 @@ static int alua_activate(struct scsi_dev | |
208 | struct alua_dh_data *h = get_alua_data(sdev); | |
209 | int err = SCSI_DH_OK; | |
210 | ||
211 | - if (h->group_id != -1) { | |
212 | - err = alua_rtpg(sdev, h); | |
213 | - if (err != SCSI_DH_OK) | |
214 | - goto out; | |
215 | - } | |
216 | + err = alua_rtpg(sdev, h); | |
217 | + if (err != SCSI_DH_OK) | |
218 | + goto out; | |
219 | ||
220 | - if (h->tpgs == TPGS_MODE_EXPLICIT && h->state != TPGS_STATE_OPTIMIZED) | |
221 | + if ((h->tpgs & TPGS_MODE_EXPLICIT) && h->state != TPGS_STATE_OPTIMIZED) | |
222 | err = alua_stpg(sdev, TPGS_STATE_OPTIMIZED, h); | |
223 | ||
224 | out: | |
225 | Subject: Initialize path state to be passive when path is not owned | |
226 | From: Chandra Seetharaman <sekharan@us.ibm.com> | |
227 | Date: Thu Nov 20 14:14:39 2008 +0100: | |
228 | References: bnc#442676 | |
229 | ||
230 | Set the path state to be passive when we learn that the controller does | |
231 | not own the path to the LUN. | |
232 | ||
233 | This will avoid sending even a single i/o thru the passive path at the | |
234 | probe time. | |
235 | ||
236 | Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> | |
237 | Signed-off-by: Hannes Reinecke <hare@suse.de> | |
238 | ||
239 | --- | |
240 | drivers/scsi/device_handler/scsi_dh_rdac.c | 3 +++ | |
241 | 1 file changed, 3 insertions(+) | |
242 | ||
243 | --- a/drivers/scsi/device_handler/scsi_dh_rdac.c | |
244 | +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c | |
245 | @@ -403,6 +403,9 @@ static int check_ownership(struct scsi_d | |
246 | } | |
247 | } | |
248 | ||
249 | + if (h->lun_state == RDAC_LUN_UNOWNED) | |
250 | + h->state = RDAC_STATE_PASSIVE; | |
251 | + | |
252 | return err; | |
253 | } | |
254 | ||
255 | Subject: Retry mode select in RDAC device handler | |
256 | From: Chandra Seetharaman <sekharan@us.ibm.com> | |
257 | References: bnc#441337 | |
258 | ||
259 | When the mode select sent to the controller fails with the retryable | |
260 | error, it is better to retry the mode_select from the hardware handler | |
261 | itself, instead of propagating the failure to dm-multipath. | |
262 | ||
263 | Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> | |
264 | Signed-off-by: Hannes Reinecke <hare@suse.de> | |
265 | ||
266 | --- | |
267 | --- | |
268 | drivers/scsi/device_handler/scsi_dh_rdac.c | 15 +++++++++++---- | |
269 | 1 file changed, 11 insertions(+), 4 deletions(-) | |
270 | ||
271 | --- a/drivers/scsi/device_handler/scsi_dh_rdac.c | |
272 | +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c | |
273 | @@ -24,6 +24,7 @@ | |
274 | #include <scsi/scsi_dh.h> | |
275 | ||
276 | #define RDAC_NAME "rdac" | |
277 | +#define RDAC_RETRY_COUNT 5 | |
278 | ||
279 | /* | |
280 | * LSI mode page stuff | |
281 | @@ -475,21 +476,27 @@ static int send_mode_select(struct scsi_ | |
282 | { | |
283 | struct request *rq; | |
284 | struct request_queue *q = sdev->request_queue; | |
285 | - int err = SCSI_DH_RES_TEMP_UNAVAIL; | |
286 | + int err, retry_cnt = RDAC_RETRY_COUNT; | |
287 | ||
288 | +retry: | |
289 | + err = SCSI_DH_RES_TEMP_UNAVAIL; | |
290 | rq = rdac_failover_get(sdev, h); | |
291 | if (!rq) | |
292 | goto done; | |
293 | ||
294 | - sdev_printk(KERN_INFO, sdev, "queueing MODE_SELECT command.\n"); | |
295 | + sdev_printk(KERN_INFO, sdev, "%s MODE_SELECT command.\n", | |
296 | + (retry_cnt == RDAC_RETRY_COUNT) ? "queueing" : "retrying"); | |
297 | ||
298 | err = blk_execute_rq(q, NULL, rq, 1); | |
299 | - if (err != SCSI_DH_OK) | |
300 | + blk_put_request(rq); | |
301 | + if (err != SCSI_DH_OK) { | |
302 | err = mode_select_handle_sense(sdev, h->sense); | |
303 | + if (err == SCSI_DH_RETRY && retry_cnt--) | |
304 | + goto retry; | |
305 | + } | |
306 | if (err == SCSI_DH_OK) | |
307 | h->state = RDAC_STATE_ACTIVE; | |
308 | ||
309 | - blk_put_request(rq); | |
310 | done: | |
311 | return err; | |
312 | } | |
313 | Subject: scsi_dh_rdac: make sure the ownership is set correctly | |
314 | From: Chandra Seetharaman <sekharan@us.ibm.com> | |
315 | Patch-Mainline: 2.6.28 | |
316 | References: bnc#441337 | |
317 | ||
318 | When the controller ownership is changed (from passive to active), | |
319 | check_ownership() doesn't set the state of the device to ACTIVE. | |
320 | ||
321 | This patch fixes the problem. | |
322 | ||
323 | Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> | |
324 | Reported and tested by: "Moger, Babu" <Babu.Moger@lsi.com> | |
325 | Signed-off-by: Hannes Reinecke <hare@suse.de> | |
326 | ||
327 | --- | |
328 | --- | |
329 | drivers/scsi/device_handler/scsi_dh_rdac.c | 1 + | |
330 | 1 file changed, 1 insertion(+) | |
331 | ||
332 | --- a/drivers/scsi/device_handler/scsi_dh_rdac.c | |
333 | +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c | |
334 | @@ -386,6 +386,7 @@ static int check_ownership(struct scsi_d | |
335 | struct c9_inquiry *inqp; | |
336 | ||
337 | h->lun_state = RDAC_LUN_UNOWNED; | |
338 | + h->state = RDAC_STATE_ACTIVE; | |
339 | err = submit_inquiry(sdev, 0xC9, sizeof(struct c9_inquiry), h); | |
340 | if (err == SCSI_DH_OK) { | |
341 | inqp = &h->inq.c9; | |
a8b31fb8 AM |
342 | commit e8fa6b483feebd23ded5eb01afd7a6e82b6078c6 |
343 | Author: Christoph Hellwig <hch@infradead.org> | |
344 | Date: Tue Mar 3 14:48:36 2009 -0500 | |
345 | ||
346 | xfs: prevent kernel crash due to corrupted inode log format | |
347 | ||
348 | Andras Korn reported an oops on log replay causes by a corrupted | |
349 | xfs_inode_log_format_t passing a 0 size to kmem_zalloc. This patch handles | |
350 | to small or too large numbers of log regions gracefully by rejecting the | |
351 | log replay with a useful error message. | |
352 | ||
353 | Signed-off-by: Christoph Hellwig <hch@lst.de> | |
354 | Reported-by: Andras Korn <korn-sgi.com@chardonnay.math.bme.hu> | |
355 | Reviewed-by: Eric Sandeen <sandeen@sandeen.net> | |
356 | Signed-off-by: Felix Blyakher <felixb@sgi.com> | |
357 | ||
358 | diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c | |
359 | index 504d540..ceeba45 100644 | |
360 | --- a/fs/xfs/xfs_log_recover.c | |
361 | +++ b/fs/xfs/xfs_log_recover.c | |
362 | @@ -1455,10 +1455,19 @@ xlog_recover_add_to_trans( | |
363 | item = item->ri_prev; | |
364 | ||
365 | if (item->ri_total == 0) { /* first region to be added */ | |
366 | - item->ri_total = in_f->ilf_size; | |
367 | - ASSERT(item->ri_total <= XLOG_MAX_REGIONS_IN_ITEM); | |
368 | - item->ri_buf = kmem_zalloc((item->ri_total * | |
369 | - sizeof(xfs_log_iovec_t)), KM_SLEEP); | |
370 | + if (in_f->ilf_size == 0 || | |
371 | + in_f->ilf_size > XLOG_MAX_REGIONS_IN_ITEM) { | |
372 | + xlog_warn( | |
373 | + "XFS: bad number of regions (%d) in inode log format", | |
374 | + in_f->ilf_size); | |
375 | + ASSERT(0); | |
376 | + return XFS_ERROR(EIO); | |
377 | + } | |
378 | + | |
379 | + item->ri_total = in_f->ilf_size; | |
380 | + item->ri_buf = | |
381 | + kmem_zalloc(item->ri_total * sizeof(xfs_log_iovec_t), | |
382 | + KM_SLEEP); | |
383 | } | |
384 | ASSERT(item->ri_total > item->ri_cnt); | |
385 | /* Description region is ri_buf[0] */ | |
0d908bdc KK |
386 | =================================================================== |
387 | --- a/kernel/cgroup.c 2008-12-11 04:41:51.000000000 +0530 | |
388 | +++ b/kernel/cgroup.c 2008-12-18 21:55:58.000000000 +0530 | |
389 | @@ -2934,9 +2934,6 @@ | |
390 | again: | |
391 | root = subsys->root; | |
392 | if (root == &rootnode) { | |
393 | - printk(KERN_INFO | |
394 | - "Not cloning cgroup for unused subsystem %s\n", | |
395 | - subsys->name); | |
396 | mutex_unlock(&cgroup_mutex); | |
397 | return 0; | |
398 | } | |
399 | This patch removes spurious warning messages that are thrown into | |
400 | the console during cgroup operations. | |
401 | ||
402 | ----------------- | |
403 | Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> | |
404 | Signed-off-by: Sharyathi Nagesh <sharyathi@xxxxxxxxxx> | |
405 | Acked-by: Serge E. Hallyn <serge@xxxxxxxxxx> | |
406 | ----------------- |