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
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
net
/
ni65.c
diff --git
a/drivers/net/ni65.c
b/drivers/net/ni65.c
index
1dffbbf
..
1578f4d
100644
(file)
--- a/
drivers/net/ni65.c
+++ b/
drivers/net/ni65.c
@@
-248,7
+248,7
@@
struct priv
};
static int ni65_probe1(struct net_device *dev,int);
};
static int ni65_probe1(struct net_device *dev,int);
-static irqreturn_t ni65_interrupt(int irq, void * dev_id
, struct pt_regs *regs
);
+static irqreturn_t ni65_interrupt(int irq, void * dev_id);
static void ni65_recv_intr(struct net_device *dev,int);
static void ni65_xmit_intr(struct net_device *dev,int);
static int ni65_open(struct net_device *dev);
static void ni65_recv_intr(struct net_device *dev,int);
static void ni65_xmit_intr(struct net_device *dev,int);
static int ni65_open(struct net_device *dev);
@@
-324,7
+324,7
@@
static int ni65_close(struct net_device *dev)
struct priv *p = (struct priv *) dev->priv;
netif_stop_queue(dev);
struct priv *p = (struct priv *) dev->priv;
netif_stop_queue(dev);
-
+
outw(inw(PORT+L_RESET),PORT+L_RESET); /* that's the hard way */
#ifdef XMT_VIA_SKB
outw(inw(PORT+L_RESET),PORT+L_RESET); /* that's the hard way */
#ifdef XMT_VIA_SKB
@@
-489,20
+489,20
@@
static int __init ni65_probe1(struct net_device *dev,int ioaddr)
int dma = dmatab[i];
if(test_bit(dma,&dma_channels) || request_dma(dma,"ni6510"))
continue;
int dma = dmatab[i];
if(test_bit(dma,&dma_channels) || request_dma(dma,"ni6510"))
continue;
-
+
flags=claim_dma_lock();
disable_dma(dma);
set_dma_mode(dma,DMA_MODE_CASCADE);
enable_dma(dma);
release_dma_lock(flags);
flags=claim_dma_lock();
disable_dma(dma);
set_dma_mode(dma,DMA_MODE_CASCADE);
enable_dma(dma);
release_dma_lock(flags);
-
+
ni65_init_lance(p,dev->dev_addr,0,0); /* trigger memory access */
ni65_init_lance(p,dev->dev_addr,0,0); /* trigger memory access */
-
+
flags=claim_dma_lock();
disable_dma(dma);
free_dma(dma);
release_dma_lock(flags);
flags=claim_dma_lock();
disable_dma(dma);
free_dma(dma);
release_dma_lock(flags);
-
+
if(readreg(CSR0) & CSR0_IDON)
break;
}
if(readreg(CSR0) & CSR0_IDON)
break;
}
@@
-526,8
+526,7
@@
static int __init ni65_probe1(struct net_device *dev,int ioaddr)
ni65_init_lance(p,dev->dev_addr,0,0);
irq_mask = probe_irq_on();
writereg(CSR0_INIT|CSR0_INEA,CSR0); /* trigger interrupt */
ni65_init_lance(p,dev->dev_addr,0,0);
irq_mask = probe_irq_on();
writereg(CSR0_INIT|CSR0_INEA,CSR0); /* trigger interrupt */
- set_current_state(TASK_UNINTERRUPTIBLE);
- schedule_timeout(HZ/50);
+ msleep(20);
dev->irq = probe_irq_off(irq_mask);
if(!dev->irq)
{
dev->irq = probe_irq_off(irq_mask);
if(!dev->irq)
{
@@
-697,8
+696,7
@@
static void ni65_free_buffer(struct priv *p)
return;
for(i=0;i<TMDNUM;i++) {
return;
for(i=0;i<TMDNUM;i++) {
- if(p->tmdbounce[i])
- kfree(p->tmdbounce[i]);
+ kfree(p->tmdbounce[i]);
#ifdef XMT_VIA_SKB
if(p->tmd_skb[i])
dev_kfree_skb(p->tmd_skb[i]);
#ifdef XMT_VIA_SKB
if(p->tmd_skb[i])
dev_kfree_skb(p->tmd_skb[i]);
@@
-711,12
+709,10
@@
static void ni65_free_buffer(struct priv *p)
if(p->recv_skb[i])
dev_kfree_skb(p->recv_skb[i]);
#else
if(p->recv_skb[i])
dev_kfree_skb(p->recv_skb[i]);
#else
- if(p->recvbounce[i])
- kfree(p->recvbounce[i]);
+ kfree(p->recvbounce[i]);
#endif
}
#endif
}
- if(p->self)
- kfree(p->self);
+ kfree(p->self);
}
}
@@
-875,7
+871,7
@@
static int ni65_lance_reinit(struct net_device *dev)
/*
* interrupt handler
*/
/*
* interrupt handler
*/
-static irqreturn_t ni65_interrupt(int irq, void * dev_id
, struct pt_regs * regs
)
+static irqreturn_t ni65_interrupt(int irq, void * dev_id)
{
int csr0 = 0;
struct net_device *dev = dev_id;
{
int csr0 = 0;
struct net_device *dev = dev_id;
@@
-885,7
+881,7
@@
static irqreturn_t ni65_interrupt(int irq, void * dev_id, struct pt_regs * regs)
p = (struct priv *) dev->priv;
spin_lock(&p->ring_lock);
p = (struct priv *) dev->priv;
spin_lock(&p->ring_lock);
-
+
while(--bcnt) {
csr0 = inw(PORT+L_DATAREG);
while(--bcnt) {
csr0 = inw(PORT+L_DATAREG);
@@
-1143,7
+1139,7
@@
static void ni65_recv_intr(struct net_device *dev,int csr0)
/*
* kick xmitter ..
*/
/*
* kick xmitter ..
*/
-
+
static void ni65_timeout(struct net_device *dev)
{
int i;
static void ni65_timeout(struct net_device *dev)
{
int i;
@@
-1167,7
+1163,7
@@
static int ni65_send_packet(struct sk_buff *skb, struct net_device *dev)
struct priv *p = (struct priv *) dev->priv;
netif_stop_queue(dev);
struct priv *p = (struct priv *) dev->priv;
netif_stop_queue(dev);
-
+
if (test_and_set_bit(0, (void*)&p->lock)) {
printk(KERN_ERR "%s: Queue was locked.\n", dev->name);
return 1;
if (test_and_set_bit(0, (void*)&p->lock)) {
printk(KERN_ERR "%s: Queue was locked.\n", dev->name);
return 1;
@@
-1213,10
+1209,10
@@
static int ni65_send_packet(struct sk_buff *skb, struct net_device *dev)
if(p->tmdnum != p->tmdlast)
netif_wake_queue(dev);
if(p->tmdnum != p->tmdlast)
netif_wake_queue(dev);
-
+
p->lock = 0;
dev->trans_start = jiffies;
p->lock = 0;
dev->trans_start = jiffies;
-
+
spin_unlock_irqrestore(&p->ring_lock, flags);
}
spin_unlock_irqrestore(&p->ring_lock, flags);
}
@@
-1257,13
+1253,13
@@
MODULE_PARM_DESC(irq, "ni6510 IRQ number (ignored for some cards)");
MODULE_PARM_DESC(io, "ni6510 I/O base address");
MODULE_PARM_DESC(dma, "ni6510 ISA DMA channel (ignored for some cards)");
MODULE_PARM_DESC(io, "ni6510 I/O base address");
MODULE_PARM_DESC(dma, "ni6510 ISA DMA channel (ignored for some cards)");
-int init_module(void)
+int
__init
init_module(void)
{
dev_ni65 = ni65_probe(-1);
return IS_ERR(dev_ni65) ? PTR_ERR(dev_ni65) : 0;
}
{
dev_ni65 = ni65_probe(-1);
return IS_ERR(dev_ni65) ? PTR_ERR(dev_ni65) : 0;
}
-void cleanup_module(void)
+void
__exit
cleanup_module(void)
{
unregister_netdev(dev_ni65);
cleanup_card(dev_ni65);
{
unregister_netdev(dev_ni65);
cleanup_card(dev_ni65);