summaryrefslogtreecommitdiffstats
path: root/drivers/net/sgiseeq.c
diff options
context:
space:
mode:
authorKeith M Wesolowski <wesolows@foobazco.org>2001-03-26 00:38:20 +0000
committerKeith M Wesolowski <wesolows@foobazco.org>2001-03-26 00:38:20 +0000
commit95e509f61d8560e71031a496f5448212089e1f78 (patch)
tree557844b10279d44321f6cac2def2974f5057ee2e /drivers/net/sgiseeq.c
parent86379fd2f83d9c135ede0058ab6c4adf60625610 (diff)
Get Indy64 booting a little farther. This also fixes a generic 64-bitness
bug in some of the r4k cache routines.
Diffstat (limited to 'drivers/net/sgiseeq.c')
-rw-r--r--drivers/net/sgiseeq.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/sgiseeq.c b/drivers/net/sgiseeq.c
index 1715cd874..4c2c43fad 100644
--- a/drivers/net/sgiseeq.c
+++ b/drivers/net/sgiseeq.c
@@ -71,12 +71,12 @@ static char *sgiseeqstr = "SGI Seeq8003";
struct sgiseeq_rx_desc {
struct hpc_dma_desc rdma;
- signed int buf_vaddr;
+ signed long buf_vaddr;
};
struct sgiseeq_tx_desc {
struct hpc_dma_desc tdma;
- signed int buf_vaddr;
+ signed long buf_vaddr;
};
/* Warning: This structure is layed out in a certain way because
@@ -87,7 +87,7 @@ struct sgiseeq_init_block { /* Note the name ;-) */
/* Ptrs to the descriptors in KSEG1 uncached space. */
struct sgiseeq_rx_desc *rx_desc;
struct sgiseeq_tx_desc *tx_desc;
- unsigned int _padding[30]; /* Pad out to largest cache line size. */
+ unsigned int _padding[32 - sizeof (void*)/2]; /* Pad out to largest cache line size. */
struct sgiseeq_rx_desc rxvector[SEEQ_RX_BUFFERS];
struct sgiseeq_tx_desc txvector[SEEQ_TX_BUFFERS];
@@ -451,13 +451,12 @@ static int sgiseeq_open(struct net_device *dev)
unsigned long flags;
int err;
- save_flags(flags); cli();
+ save_and_cli(flags);
if (request_irq(dev->irq, sgiseeq_interrupt, 0, sgiseeqstr, (void *) dev)) {
printk("Seeq8003: Can't get irq %d\n", dev->irq);
restore_flags(flags);
return -EAGAIN;
}
-
err = init_seeq(dev, sp, sregs);
if (err)
return err;