]>
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> | |
afbcacd0 | 152 | --- linux-2.6.27/fs/squashfs/inode.c~ 2008-12-03 21:49:11.000000000 +0100 |
153 | +++ linux-2.6.27/fs/squashfs/inode.c 2008-12-03 22:15:09.000000000 +0100 | |
154 | @@ -33,6 +33,7 @@ | |
155 | #include <linux/spinlock.h> | |
156 | #include <linux/smp_lock.h> | |
157 | #include <linux/exportfs.h> | |
158 | +#include <linux/sched.h> | |
159 | ||
160 | #include "squashfs.h" | |
161 | ||
a6e445ed JR |
162 | From: Hannes Reinecke <hare@suse.de> |
163 | Subject: Retry ALUA device handler initialization on Unit Attention | |
164 | ||
165 | Whenever we receive a UNIT ATTENTION sense code we should just retry | |
166 | the command. No point in checking the various sense codes here. | |
167 | ||
168 | Signed-off-by: Hannes Reinecke <hare@suse.de> | |
169 | ||
170 | diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c | |
171 | index e356b43..a3660a6 100644 | |
172 | --- a/drivers/scsi/device_handler/scsi_dh_alua.c | |
173 | +++ b/drivers/scsi/device_handler/scsi_dh_alua.c | |
174 | @@ -444,24 +444,10 @@ static int alua_check_sense(struct scsi_device *sdev, | |
175 | return SUCCESS; | |
176 | break; | |
177 | case UNIT_ATTENTION: | |
178 | - if (sense_hdr->asc == 0x29 && sense_hdr->ascq == 0x00) | |
179 | - /* | |
180 | - * Power On, Reset, or Bus Device Reset, just retry. | |
181 | - */ | |
182 | - return ADD_TO_MLQUEUE; | |
183 | - if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x06) { | |
184 | - /* | |
185 | - * ALUA state changed | |
186 | - */ | |
187 | - return ADD_TO_MLQUEUE; | |
188 | - } | |
189 | - if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x07) { | |
190 | - /* | |
191 | - * Implicit ALUA state transition failed | |
192 | - */ | |
193 | - return ADD_TO_MLQUEUE; | |
194 | - } | |
195 | - break; | |
196 | + /* | |
197 | + * Just retry for UNIT_ATTENTION | |
198 | + */ | |
199 | + return ADD_TO_MLQUEUE; | |
200 | } | |
201 | ||
202 | return SCSI_RETURN_NOT_HANDLED; | |
203 | From: Hannes Reinecke <hare@suse.de> | |
204 | Subject: Always send STPG for explicit tgps mode | |
205 | ||
206 | When we are in explicit tgps mode we should always send an STPG | |
207 | command to enable the active/optimized mode. | |
208 | ||
209 | Signed-off-by: Hannes Reinecke <hare@suse.de> | |
210 | ||
211 | --- | |
212 | drivers/scsi/device_handler/scsi_dh_alua.c | 10 ++++------ | |
213 | 1 file changed, 4 insertions(+), 6 deletions(-) | |
214 | ||
215 | --- a/drivers/scsi/device_handler/scsi_dh_alua.c | |
216 | +++ b/drivers/scsi/device_handler/scsi_dh_alua.c | |
217 | @@ -593,13 +593,11 @@ static int alua_activate(struct scsi_dev | |
218 | struct alua_dh_data *h = get_alua_data(sdev); | |
219 | int err = SCSI_DH_OK; | |
220 | ||
221 | - if (h->group_id != -1) { | |
222 | - err = alua_rtpg(sdev, h); | |
223 | - if (err != SCSI_DH_OK) | |
224 | - goto out; | |
225 | - } | |
226 | + err = alua_rtpg(sdev, h); | |
227 | + if (err != SCSI_DH_OK) | |
228 | + goto out; | |
229 | ||
230 | - if (h->tpgs == TPGS_MODE_EXPLICIT && h->state != TPGS_STATE_OPTIMIZED) | |
231 | + if ((h->tpgs & TPGS_MODE_EXPLICIT) && h->state != TPGS_STATE_OPTIMIZED) | |
232 | err = alua_stpg(sdev, TPGS_STATE_OPTIMIZED, h); | |
233 | ||
234 | out: | |
235 | Subject: Initialize path state to be passive when path is not owned | |
236 | From: Chandra Seetharaman <sekharan@us.ibm.com> | |
237 | Date: Thu Nov 20 14:14:39 2008 +0100: | |
238 | References: bnc#442676 | |
239 | ||
240 | Set the path state to be passive when we learn that the controller does | |
241 | not own the path to the LUN. | |
242 | ||
243 | This will avoid sending even a single i/o thru the passive path at the | |
244 | probe time. | |
245 | ||
246 | Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> | |
247 | Signed-off-by: Hannes Reinecke <hare@suse.de> | |
248 | ||
249 | --- | |
250 | drivers/scsi/device_handler/scsi_dh_rdac.c | 3 +++ | |
251 | 1 file changed, 3 insertions(+) | |
252 | ||
253 | --- a/drivers/scsi/device_handler/scsi_dh_rdac.c | |
254 | +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c | |
255 | @@ -403,6 +403,9 @@ static int check_ownership(struct scsi_d | |
256 | } | |
257 | } | |
258 | ||
259 | + if (h->lun_state == RDAC_LUN_UNOWNED) | |
260 | + h->state = RDAC_STATE_PASSIVE; | |
261 | + | |
262 | return err; | |
263 | } | |
264 | ||
265 | Subject: Retry mode select in RDAC device handler | |
266 | From: Chandra Seetharaman <sekharan@us.ibm.com> | |
267 | References: bnc#441337 | |
268 | ||
269 | When the mode select sent to the controller fails with the retryable | |
270 | error, it is better to retry the mode_select from the hardware handler | |
271 | itself, instead of propagating the failure to dm-multipath. | |
272 | ||
273 | Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> | |
274 | Signed-off-by: Hannes Reinecke <hare@suse.de> | |
275 | ||
276 | --- | |
277 | --- | |
278 | drivers/scsi/device_handler/scsi_dh_rdac.c | 15 +++++++++++---- | |
279 | 1 file changed, 11 insertions(+), 4 deletions(-) | |
280 | ||
281 | --- a/drivers/scsi/device_handler/scsi_dh_rdac.c | |
282 | +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c | |
283 | @@ -24,6 +24,7 @@ | |
284 | #include <scsi/scsi_dh.h> | |
285 | ||
286 | #define RDAC_NAME "rdac" | |
287 | +#define RDAC_RETRY_COUNT 5 | |
288 | ||
289 | /* | |
290 | * LSI mode page stuff | |
291 | @@ -475,21 +476,27 @@ static int send_mode_select(struct scsi_ | |
292 | { | |
293 | struct request *rq; | |
294 | struct request_queue *q = sdev->request_queue; | |
295 | - int err = SCSI_DH_RES_TEMP_UNAVAIL; | |
296 | + int err, retry_cnt = RDAC_RETRY_COUNT; | |
297 | ||
298 | +retry: | |
299 | + err = SCSI_DH_RES_TEMP_UNAVAIL; | |
300 | rq = rdac_failover_get(sdev, h); | |
301 | if (!rq) | |
302 | goto done; | |
303 | ||
304 | - sdev_printk(KERN_INFO, sdev, "queueing MODE_SELECT command.\n"); | |
305 | + sdev_printk(KERN_INFO, sdev, "%s MODE_SELECT command.\n", | |
306 | + (retry_cnt == RDAC_RETRY_COUNT) ? "queueing" : "retrying"); | |
307 | ||
308 | err = blk_execute_rq(q, NULL, rq, 1); | |
309 | - if (err != SCSI_DH_OK) | |
310 | + blk_put_request(rq); | |
311 | + if (err != SCSI_DH_OK) { | |
312 | err = mode_select_handle_sense(sdev, h->sense); | |
313 | + if (err == SCSI_DH_RETRY && retry_cnt--) | |
314 | + goto retry; | |
315 | + } | |
316 | if (err == SCSI_DH_OK) | |
317 | h->state = RDAC_STATE_ACTIVE; | |
318 | ||
319 | - blk_put_request(rq); | |
320 | done: | |
321 | return err; | |
322 | } | |
323 | Subject: scsi_dh_rdac: make sure the ownership is set correctly | |
324 | From: Chandra Seetharaman <sekharan@us.ibm.com> | |
325 | Patch-Mainline: 2.6.28 | |
326 | References: bnc#441337 | |
327 | ||
328 | When the controller ownership is changed (from passive to active), | |
329 | check_ownership() doesn't set the state of the device to ACTIVE. | |
330 | ||
331 | This patch fixes the problem. | |
332 | ||
333 | Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> | |
334 | Reported and tested by: "Moger, Babu" <Babu.Moger@lsi.com> | |
335 | Signed-off-by: Hannes Reinecke <hare@suse.de> | |
336 | ||
337 | --- | |
338 | --- | |
339 | drivers/scsi/device_handler/scsi_dh_rdac.c | 1 + | |
340 | 1 file changed, 1 insertion(+) | |
341 | ||
342 | --- a/drivers/scsi/device_handler/scsi_dh_rdac.c | |
343 | +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c | |
344 | @@ -386,6 +386,7 @@ static int check_ownership(struct scsi_d | |
345 | struct c9_inquiry *inqp; | |
346 | ||
347 | h->lun_state = RDAC_LUN_UNOWNED; | |
348 | + h->state = RDAC_STATE_ACTIVE; | |
349 | err = submit_inquiry(sdev, 0xC9, sizeof(struct c9_inquiry), h); | |
350 | if (err == SCSI_DH_OK) { | |
351 | inqp = &h->inq.c9; |