git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
drivers
/
ieee1394
/
ohci1394.c
diff --git
a/drivers/ieee1394/ohci1394.c
b/drivers/ieee1394/ohci1394.c
index
88438b5
..
7c3f6e7
100644
(file)
--- a/
drivers/ieee1394/ohci1394.c
+++ b/
drivers/ieee1394/ohci1394.c
@@
-94,7
+94,6
@@
#include <linux/pci.h>
#include <linux/fs.h>
#include <linux/poll.h>
#include <linux/pci.h>
#include <linux/fs.h>
#include <linux/poll.h>
-#include <linux/irq.h>
#include <asm/byteorder.h>
#include <asm/atomic.h>
#include <asm/uaccess.h>
#include <asm/byteorder.h>
#include <asm/atomic.h>
#include <asm/uaccess.h>
@@
-103,6
+102,7
@@
#include <asm/pgtable.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/page.h>
+#include <asm/irq.h>
#include <linux/sched.h>
#include <linux/types.h>
#include <linux/vmalloc.h>
#include <linux/sched.h>
#include <linux/types.h>
#include <linux/vmalloc.h>
@@
-162,7
+162,7
@@
printk(level "%s: " fmt "\n" , OHCI1394_DRIVER_NAME , ## args)
printk(level "%s: fw-host%d: " fmt "\n" , OHCI1394_DRIVER_NAME, ohci->host->id , ## args)
static char version[] __devinitdata =
printk(level "%s: fw-host%d: " fmt "\n" , OHCI1394_DRIVER_NAME, ohci->host->id , ## args)
static char version[] __devinitdata =
- "$Rev: 12
0
3 $ Ben Collins <bcollins@debian.org>";
+ "$Rev: 12
2
3 $ Ben Collins <bcollins@debian.org>";
/* Module Parameters */
static int phys_dma = 1;
/* Module Parameters */
static int phys_dma = 1;
@@
-516,6
+516,12
@@
static void ohci_initialize(struct ti_ohci *ohci)
ohci->max_packet_size =
1<<(((reg_read(ohci, OHCI1394_BusOptions)>>12)&0xf)+1);
ohci->max_packet_size =
1<<(((reg_read(ohci, OHCI1394_BusOptions)>>12)&0xf)+1);
+ if (ohci->max_packet_size < 512) {
+ HPSB_ERR("warning: Invalid max packet size of %d, setting to 512",
+ ohci->max_packet_size);
+ ohci->max_packet_size = 512;
+ }
+
/* Don't accept phy packets into AR request context */
reg_write(ohci, OHCI1394_LinkControlClear, 0x00000400);
/* Don't accept phy packets into AR request context */
reg_write(ohci, OHCI1394_LinkControlClear, 0x00000400);
@@
-2927,8
+2933,8
@@
alloc_dma_rcv_ctx(struct ti_ohci *ohci, struct dma_rcv_ctx *d,
d->ctrlClear = 0;
d->cmdPtr = 0;
d->ctrlClear = 0;
d->cmdPtr = 0;
- d->buf_cpu = kmalloc(d->num_desc * sizeof(quadlet_t*), GFP_
KERNEL
);
- d->buf_bus = kmalloc(d->num_desc * sizeof(dma_addr_t), GFP_
KERNEL
);
+ d->buf_cpu = kmalloc(d->num_desc * sizeof(quadlet_t*), GFP_
ATOMIC
);
+ d->buf_bus = kmalloc(d->num_desc * sizeof(dma_addr_t), GFP_
ATOMIC
);
if (d->buf_cpu == NULL || d->buf_bus == NULL) {
PRINT(KERN_ERR, "Failed to allocate dma buffer");
if (d->buf_cpu == NULL || d->buf_bus == NULL) {
PRINT(KERN_ERR, "Failed to allocate dma buffer");
@@
-2939,8
+2945,8
@@
alloc_dma_rcv_ctx(struct ti_ohci *ohci, struct dma_rcv_ctx *d,
memset(d->buf_bus, 0, d->num_desc * sizeof(dma_addr_t));
d->prg_cpu = kmalloc(d->num_desc * sizeof(struct dma_cmd*),
memset(d->buf_bus, 0, d->num_desc * sizeof(dma_addr_t));
d->prg_cpu = kmalloc(d->num_desc * sizeof(struct dma_cmd*),
-
GFP_KERNEL
);
- d->prg_bus = kmalloc(d->num_desc * sizeof(dma_addr_t), GFP_
KERNEL
);
+
GFP_ATOMIC
);
+ d->prg_bus = kmalloc(d->num_desc * sizeof(dma_addr_t), GFP_
ATOMIC
);
if (d->prg_cpu == NULL || d->prg_bus == NULL) {
PRINT(KERN_ERR, "Failed to allocate dma prg");
if (d->prg_cpu == NULL || d->prg_bus == NULL) {
PRINT(KERN_ERR, "Failed to allocate dma prg");
@@
-2950,7
+2956,7
@@
alloc_dma_rcv_ctx(struct ti_ohci *ohci, struct dma_rcv_ctx *d,
memset(d->prg_cpu, 0, d->num_desc * sizeof(struct dma_cmd*));
memset(d->prg_bus, 0, d->num_desc * sizeof(dma_addr_t));
memset(d->prg_cpu, 0, d->num_desc * sizeof(struct dma_cmd*));
memset(d->prg_bus, 0, d->num_desc * sizeof(dma_addr_t));
- d->spb = kmalloc(d->split_buf_size, GFP_
KERNEL
);
+ d->spb = kmalloc(d->split_buf_size, GFP_
ATOMIC
);
if (d->spb == NULL) {
PRINT(KERN_ERR, "Failed to allocate split buffer");
if (d->spb == NULL) {
PRINT(KERN_ERR, "Failed to allocate split buffer");