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
10 + .proto = 0x1f, // Trust ForceFeedback Race Master
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
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)
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
27 /* Enforce in-order execution of data I/O.
28 * No distinction between read/write on PPC; use eieio for all three.
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
34 IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
36 - [ 0x1e ] = KEY_POWER, // power
37 - [ 0x07 ] = KEY_MEDIA, // source
38 - [ 0x1c ] = KEY_SEARCH, // scan
40 /* FIXME: duplicate keycodes?
42 * These four keys seem to share the same GPIO as CH+, CH-, <<< and >>>
46 [ 0x03 ] = KEY_TUNER, // TV/FM
47 + [ 0x07 ] = KEY_SEARCH, // scan
48 + [ 0x1c ] = KEY_ZOOM, // zoom
50 - [ 0x00 ] = KEY_RECORD,
51 - [ 0x08 ] = KEY_STOP,
52 - [ 0x11 ] = KEY_PLAY,
54 - [ 0x1a ] = KEY_PLAYPAUSE, // freeze
55 - [ 0x19 ] = KEY_ZOOM, // zoom
56 - [ 0x0f ] = KEY_TEXT, // min
57 + [ 0x1e ] = KEY_POWER, // power
64 [ 0x10 ] = KEY_LAST, // +100
65 - [ 0x13 ] = KEY_LIST, // recall
66 + [ 0x13 ] = KEY_LIST, // loop
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
77 - [ 0x04 ] = KEY_KPMINUS, // <<<
78 + [ 0x00 ] = KEY_MEDIA, // source
79 + [ 0x18 ] = KEY_MUTE, // mute/unmute
81 + [ 0x04 ] = KEY_KPMINUS, // -
82 [ 0x0e ] = KEY_SETUP, // function
83 - [ 0x0c ] = KEY_KPPLUS, // >>>
84 + [ 0x0c ] = KEY_KPPLUS, // +
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
93 EXPORT_SYMBOL_GPL(ir_codes_pixelview);
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
98 #include <asm/oplib.h>
99 #include <asm/uaccess.h>
102 #include <asm/watchdog.h>
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
107 void save_processor_state(void);
108 void restore_processor_state(void);
110 +#define suspend2_faulted (0)
111 +#define clear_suspend2_fault() do { } while(0)
113 #endif /* __ASM_POWERPC_SUSPEND_H */
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
117 * 2 of the License, or (at your option) any later version.
120 +#include <linux/module.h>
121 #include <linux/sched.h>
122 #include <asm/suspend.h>
123 #include <asm/system.h>
128 +EXPORT_SYMBOL(save_processor_state);
130 void restore_processor_state(void)
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
136 return security_ops->inode_permission(inode, mask);
138 +EXPORT_SYMBOL_GPL(security_inode_permission);
140 int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
142 --- a/drivers/net/mv643xx_eth.c
143 +++ b/drivers/net/mv643xx_eth.c
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>
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
155 #include <linux/spinlock.h>
156 #include <linux/smp_lock.h>
157 #include <linux/exportfs.h>
158 +#include <linux/sched.h>
160 #include "squashfs.h"
162 From: Hannes Reinecke <hare@suse.de>
163 Subject: Retry ALUA device handler initialization on Unit Attention
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.
168 Signed-off-by: Hannes Reinecke <hare@suse.de>
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,
178 - if (sense_hdr->asc == 0x29 && sense_hdr->ascq == 0x00)
180 - * Power On, Reset, or Bus Device Reset, just retry.
182 - return ADD_TO_MLQUEUE;
183 - if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x06) {
185 - * ALUA state changed
187 - return ADD_TO_MLQUEUE;
189 - if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x07) {
191 - * Implicit ALUA state transition failed
193 - return ADD_TO_MLQUEUE;
197 + * Just retry for UNIT_ATTENTION
199 + return ADD_TO_MLQUEUE;
202 return SCSI_RETURN_NOT_HANDLED;
203 From: Hannes Reinecke <hare@suse.de>
204 Subject: Always send STPG for explicit tgps mode
206 When we are in explicit tgps mode we should always send an STPG
207 command to enable the active/optimized mode.
209 Signed-off-by: Hannes Reinecke <hare@suse.de>
212 drivers/scsi/device_handler/scsi_dh_alua.c | 10 ++++------
213 1 file changed, 4 insertions(+), 6 deletions(-)
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;
221 - if (h->group_id != -1) {
222 - err = alua_rtpg(sdev, h);
223 - if (err != SCSI_DH_OK)
226 + err = alua_rtpg(sdev, h);
227 + if (err != SCSI_DH_OK)
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);
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
240 Set the path state to be passive when we learn that the controller does
241 not own the path to the LUN.
243 This will avoid sending even a single i/o thru the passive path at the
246 Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
247 Signed-off-by: Hannes Reinecke <hare@suse.de>
250 drivers/scsi/device_handler/scsi_dh_rdac.c | 3 +++
251 1 file changed, 3 insertions(+)
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
259 + if (h->lun_state == RDAC_LUN_UNOWNED)
260 + h->state = RDAC_STATE_PASSIVE;
265 Subject: Retry mode select in RDAC device handler
266 From: Chandra Seetharaman <sekharan@us.ibm.com>
267 References: bnc#441337
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.
273 Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
274 Signed-off-by: Hannes Reinecke <hare@suse.de>
278 drivers/scsi/device_handler/scsi_dh_rdac.c | 15 +++++++++++----
279 1 file changed, 11 insertions(+), 4 deletions(-)
281 --- a/drivers/scsi/device_handler/scsi_dh_rdac.c
282 +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c
284 #include <scsi/scsi_dh.h>
286 #define RDAC_NAME "rdac"
287 +#define RDAC_RETRY_COUNT 5
290 * LSI mode page stuff
291 @@ -475,21 +476,27 @@ static int send_mode_select(struct scsi_
294 struct request_queue *q = sdev->request_queue;
295 - int err = SCSI_DH_RES_TEMP_UNAVAIL;
296 + int err, retry_cnt = RDAC_RETRY_COUNT;
299 + err = SCSI_DH_RES_TEMP_UNAVAIL;
300 rq = rdac_failover_get(sdev, h);
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");
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--)
316 if (err == SCSI_DH_OK)
317 h->state = RDAC_STATE_ACTIVE;
319 - blk_put_request(rq);
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
328 When the controller ownership is changed (from passive to active),
329 check_ownership() doesn't set the state of the device to ACTIVE.
331 This patch fixes the problem.
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>
339 drivers/scsi/device_handler/scsi_dh_rdac.c | 1 +
340 1 file changed, 1 insertion(+)
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;
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) {