From 95e509f61d8560e71031a496f5448212089e1f78 Mon Sep 17 00:00:00 2001 From: Keith M Wesolowski Date: Mon, 26 Mar 2001 00:38:20 +0000 Subject: Get Indy64 booting a little farther. This also fixes a generic 64-bitness bug in some of the r4k cache routines. --- drivers/net/sgiseeq.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'drivers/net/sgiseeq.c') 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; -- cgit v1.2.3