Commit 98af522f authored by Linus Torvalds's avatar Linus Torvalds

Merge http://gkernel.bkbits.net/net-drivers-2.5

into home.transmeta.com:/home/torvalds/v2.5/linux
parents 7325b224 6f4f4c2d
......@@ -481,9 +481,7 @@ static inline void pc_sched_event(struct channel *ch, int event)
-------------------------------------------------------------------------*/
ch->event |= 1 << event;
MOD_INC_USE_COUNT;
if (schedule_work(&ch->tqueue) == 0)
MOD_DEC_USE_COUNT;
schedule_work(&ch->tqueue);
} /* End pc_sched_event */
......@@ -604,7 +602,6 @@ static void pc_close(struct tty_struct * tty, struct file * filp)
ASYNC_CALLOUT_ACTIVE | ASYNC_CLOSING);
wake_up_interruptible(&ch->close_wait);
MOD_DEC_USE_COUNT;
restore_flags(flags);
......@@ -692,10 +689,6 @@ static void pc_hangup(struct tty_struct *tty)
shutdown(ch);
if (ch->count)
MOD_DEC_USE_COUNT;
ch->tty = NULL;
ch->event = 0;
ch->count = 0;
......@@ -1389,8 +1382,6 @@ static int pc_open(struct tty_struct *tty, struct file * filp)
}
MOD_INC_USE_COUNT;
ch = &digi_channels[line];
boardnum = ch->boardnum;
......@@ -1714,6 +1705,7 @@ int __init pc_init(void)
memset(&pc_info, 0, sizeof(struct tty_driver));
pc_driver.magic = TTY_DRIVER_MAGIC;
pc_driver.owner = THIS_MODULE;
pc_driver.name = "ttyD";
pc_driver.major = DIGI_MAJOR;
pc_driver.minor_start = 0;
......
......@@ -61,7 +61,7 @@
char e1000_driver_name[] = "e1000";
char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver";
char e1000_driver_version[] = "5.0.43-k1";
char e1000_driver_version[] = "5.0.43-k2";
char e1000_copyright[] = "Copyright (c) 1999-2003 Intel Corporation.";
/* e1000_pci_tbl - PCI Device ID Table
......@@ -2000,10 +2000,16 @@ e1000_intr(int irq, void *data, struct pt_regs *regs)
}
#ifdef CONFIG_E1000_NAPI
/* Don't disable interrupts - rely on h/w interrupt
* moderation to keep interrupts low. netif_rx_schedule
* is NOP if already polling. */
netif_rx_schedule(netdev);
if(netif_rx_schedule_prep(netdev)) {
/* Disable interrupts and register for poll. The flush
of the posted write is intentionally left out.
*/
atomic_inc(&adapter->irq_sem);
E1000_WRITE_REG(&adapter->hw, IMC, ~0);
__netif_rx_schedule(netdev);
}
#else
for(i = 0; i < E1000_MAX_INTR; i++)
if(!e1000_clean_rx_irq(adapter) &&
......@@ -2025,16 +2031,16 @@ e1000_clean(struct net_device *netdev, int *budget)
int work_to_do = min(*budget, netdev->quota);
int work_done = 0;
while(work_done < work_to_do)
if(!e1000_clean_rx_irq(adapter, &work_done, work_to_do) &&
!e1000_clean_tx_irq(adapter))
break;
e1000_clean_tx_irq(adapter);
e1000_clean_rx_irq(adapter, &work_done, work_to_do);
*budget -= work_done;
netdev->quota -= work_done;
if(work_done < work_to_do)
if(work_done < work_to_do) {
netif_rx_complete(netdev);
e1000_irq_enable(adapter);
}
return (work_done >= work_to_do);
}
......
......@@ -322,7 +322,7 @@ e1000_check_options(struct e1000_adapter *adapter)
.name = "Transmit Descriptors",
.err = "using default of " __MODULE_STRING(DEFAULT_TXD),
.def = DEFAULT_TXD,
.arg = { .r { .min = MIN_TXD }}
.arg = { .r = { .min = MIN_TXD }}
};
struct e1000_desc_ring *tx_ring = &adapter->tx_ring;
e1000_mac_type mac_type = adapter->hw.mac_type;
......
......@@ -689,8 +689,8 @@ int index, no_of_entries = 0;
prev_IMQ_index = current_IMQ_index;
}
} /*end of for loop*/
return;
LEAVE("tachyon_interrupt");
return;
}
......@@ -3375,8 +3375,8 @@ u_int s_id;
q = q->next;
}
DPRINTK1("Port Name does not match. Txing LOGO.");
return 0;
LEAVE("validate_login");
return 0;
}
static void add_to_address_cache(struct fc_info *fi, u_int *base_ptr)
......
......@@ -76,10 +76,6 @@ static char version[] __initdata =
#define NEW_MULTICAST
/* PCI/45 Configuration space values */
#define RC_PCI45_VENDOR_ID 0x4916
#define RC_PCI45_DEVICE_ID 0x1960
#define MAX_ETHER_SIZE 1520
#define MAX_NMBR_RCV_BUFFERS 96
#define RC_POSTED_BUFFERS_LOW_MARK MAX_NMBR_RCV_BUFFERS-16
......@@ -117,7 +113,7 @@ static void RCreboot_callback (U32, U32, U32, struct net_device *);
static int RC_allocate_and_post_buffers (struct net_device *, int);
static struct pci_device_id rcpci45_pci_table[] __devinitdata = {
{RC_PCI45_VENDOR_ID, RC_PCI45_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID,},
{ PCI_VENDOR_ID_REDCREEK, PCI_DEVICE_ID_RC45, PCI_ANY_ID, PCI_ANY_ID,},
{}
};
MODULE_DEVICE_TABLE (pci, rcpci45_pci_table);
......@@ -207,7 +203,7 @@ rcpci45_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
* messages. Thus, we need contiguous physical pages of
* memory.
*/
pDpa->msgbuf = kmalloc (MSG_BUF_SIZE, GFP_DMA|GFP_ATOMIC|GFP_KERNEL);
pDpa->msgbuf = kmalloc (MSG_BUF_SIZE, GFP_DMA | GFP_KERNEL);
if (!pDpa->msgbuf) {
printk (KERN_ERR "(rcpci45 driver:) \
Could not allocate %d byte memory for the \
......@@ -1000,7 +996,7 @@ RC_allocate_and_post_buffers (struct net_device *dev, int numBuffers)
}
p = (PU32) kmalloc (sizeof (U32) + numBuffers * sizeof (singleB),
GFP_DMA|GFP_ATOMIC|GFP_KERNEL);
GFP_DMA | GFP_ATOMIC);
if (!p) {
printk (KERN_WARNING "%s unable to allocate TCB\n",
......
......@@ -257,7 +257,7 @@ int tms380tr_open(struct net_device *dev)
int err;
/* init the spinlock */
spin_lock_init(tp->lock);
spin_lock_init(&tp->lock);
/* Reset the hardware here. Don't forget to set the station address. */
......@@ -1458,7 +1458,7 @@ static int tms380tr_init_adapter(struct net_device *dev)
if(tms380tr_debug > 3)
{
printk(KERN_DEBUG "%s: buffer (real): %lx\n", dev->name, (long) &tp->scb);
printk(KERN_DEBUG "%s: buffer (virt): %lx\n", dev->name, (long) ((char *)&tp->scb - (char *)tp) + tp->dmabuffer);
printk(KERN_DEBUG "%s: buffer (virt): %lx\n", dev->name, (long) ((char *)&tp->scb - (char *)tp) + (long) tp->dmabuffer);
printk(KERN_DEBUG "%s: buffer (DMA) : %lx\n", dev->name, (long) tp->dmabuffer);
printk(KERN_DEBUG "%s: buffer (tp) : %lx\n", dev->name, (long) tp);
}
......
......@@ -485,12 +485,9 @@ tulip_open(struct net_device *dev)
struct tulip_private *tp = (struct tulip_private *)dev->priv;
#endif
int retval;
MOD_INC_USE_COUNT;
if ((retval = request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev))) {
MOD_DEC_USE_COUNT;
if ((retval = request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev)))
return retval;
}
tulip_init_ring (dev);
......@@ -823,8 +820,6 @@ static int tulip_close (struct net_device *dev)
tp->tx_buffers[i].mapping = 0;
}
MOD_DEC_USE_COUNT;
return 0;
}
......@@ -1361,6 +1356,7 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
return -ENOMEM;
}
SET_MODULE_OWNER(dev);
if (pci_resource_len (pdev, 0) < tulip_tbl[chip_idx].io_size) {
printk (KERN_ERR PFX "%s: I/O region (0x%lx@0x%lx) too small, "
"aborting\n", pdev->slot_name,
......
......@@ -215,6 +215,7 @@ void cpc_tty_init(pc300dev_t *pc300dev)
/* initialize tty driver struct */
memset(&serial_drv,0,sizeof(struct tty_driver));
serial_drv.magic = TTY_DRIVER_MAGIC;
serial_drv.owner = THIS_MODULE;
serial_drv.driver_name = "pc300_tty";
serial_drv.name = "ttyCP";
serial_drv.major = CPC_TTY_MAJOR;
......
......@@ -4401,6 +4401,7 @@ int wanpipe_tty_init(sdla_t *card)
memset(&serial_driver, 0, sizeof(struct tty_driver));
serial_driver.magic = TTY_DRIVER_MAGIC;
serial_driver.owner = THIS_MODULE;
serial_driver.driver_name = "wanpipe_tty";
serial_driver.name = "ttyW";
serial_driver.major = WAN_TTY_MAJOR;
......
......@@ -1753,6 +1753,9 @@
#define PCI_DEVICE_ID_AKS_ALADDINCARD 0x0100
#define PCI_DEVICE_ID_AKS_CPC 0x0200
#define PCI_VENDOR_ID_REDCREEK 0x4916
#define PCI_DEVICE_ID_RC45 0x1960
#define PCI_VENDOR_ID_NETVIN 0x4a14
#define PCI_DEVICE_ID_NETVIN_NV5000SC 0x5000
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment