]> git.pld-linux.org Git - packages/kernel.git/blob - kernel-small_fixes.patch
- up to 2.6.17.28
[packages/kernel.git] / kernel-small_fixes.patch
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  
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
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   */
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);
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  
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
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 */
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  {
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  {
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>
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  
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;
This page took 0.098914 seconds and 3 git commands to generate.