diff options
author | Keith M Wesolowski <wesolows@foobazco.org> | 2001-03-26 00:38:20 +0000 |
---|---|---|
committer | Keith M Wesolowski <wesolows@foobazco.org> | 2001-03-26 00:38:20 +0000 |
commit | 95e509f61d8560e71031a496f5448212089e1f78 (patch) | |
tree | 557844b10279d44321f6cac2def2974f5057ee2e /drivers/net/sgiseeq.c | |
parent | 86379fd2f83d9c135ede0058ab6c4adf60625610 (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.c | 9 |
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; |