]> git.pld-linux.org Git - packages/kernel.git/blob - i2o-build_105-fixes.patch
- obsolete
[packages/kernel.git] / i2o-build_105-fixes.patch
1 --- linux-2.6.8/drivers/message/i2o/driver.c.orig       2004-08-18 17:59:08.000000000 +0200
2 +++ linux-2.6.8/drivers/message/i2o/driver.c    2004-08-18 20:31:27.451288416 +0200
3 @@ -102,7 +102,13 @@
4         DBG("Register driver %s\n", drv->name);
5  
6         if(drv->event) {
7 -               drv->event_queue = create_workqueue(drv->name);
8 +/*
9 + * create_workqueue(name, freezer_flag)
10 + *                        ^^ PF_SYNCTHREAD if needed for syncing data to disk.
11 + *                           PF_NOFREEZE if also needed for writing the image.
12 + *                           0 otherwise.
13 + */
14 +               drv->event_queue = create_workqueue(drv->name, 0);
15                 if(!drv->event_queue)
16                 {
17                         printk(KERN_ERR "i2o: Could not initialize event queue "
18 --- linux-2.6.8/drivers/message/i2o/iop.c.orig  2004-08-18 17:59:08.000000000 +0200
19 +++ linux-2.6.8/drivers/message/i2o/iop.c       2004-08-18 20:53:48.639396832 +0200
20 @@ -561,8 +561,19 @@
21         writel(0, &msg->tcntxt); //FIXME: use reasonable transaction context
22         writel(0, &msg->body[0]);
23         writel(0, &msg->body[1]);
24 +
25 +#ifdef CONFIG_X86_PAE
26 +/*
27 + * sizeof(dma_addr_t) == 8
28 + * sizeof(void *) == 4
29 + * don't cast 'dma_addr_t' to 'void *'.
30 +*/
31 +       writel((u32) ((u64)c->status.phys), &msg->body[2]);
32 +       writel((u32)(((u64)c->status.phys) >> 32), &msg->body[3]);
33 +#else
34         writel(i2o_ptr_low((void *)c->status.phys), &msg->body[2]);
35         writel(i2o_ptr_high((void *)c->status.phys), &msg->body[3]);
36 +#endif
37  
38         i2o_msg_post(c,m);
39  
40 @@ -875,8 +886,13 @@
41         writel(0, &msg->tcntxt); // FIXME: use resonable transaction context
42         writel(0, &msg->body[0]);
43         writel(0, &msg->body[1]);
44 +#ifdef CONFIG_X86_PAE
45 +       writel((u32) ((u64)c->status_block.phys), &msg->body[2]);
46 +       writel((u32)(((u64)c->status_block.phys) >> 32), &msg->body[3]);
47 +#else
48         writel(i2o_ptr_low((void *)c->status_block.phys), &msg->body[2]);
49         writel(i2o_ptr_high((void *)c->status_block.phys), &msg->body[3]);
50 +#endif
51         writel(sizeof(i2o_status_block), &msg->body[4]); /* always 88 bytes */
52  
53         i2o_msg_post(c,m);
54 @@ -992,8 +1008,13 @@
55         writel(MSG_FRAME_SIZE<<16|0x80, &msg->body[1]); /* Outbound msg frame
56                                                 size in words and Initcode */
57         writel(0xd0000004, &msg->body[2]);
58 +#ifdef CONFIG_X86_PAE
59 +       writel((u32) ((u64)c->status.phys), &msg->body[2]);
60 +       writel((u32)(((u64)c->status.phys) >> 32), &msg->body[3]);
61 +#else
62         writel(i2o_ptr_low((void *)c->status.phys), &msg->body[3]);
63         writel(i2o_ptr_high((void *)c->status.phys), &msg->body[4]);
64 +#endif
65  
66         i2o_msg_post(c, m);
67  
This page took 0.046613 seconds and 3 git commands to generate.